agentsclimarketplace

Backlog grooming assistant

Skill KirKruglov/claude-skills-kit/skills/project-management/backlog-grooming-assistant

Analyze backlog files (CSV or Markdown) to flag problematic items and generate a structured grooming agenda. No Jira API needed — works entirely with local exports. Use when preparing for sprint grooming, auditing accumulated tasks, or reviewing the backlog after a sprint. Triggers: 'groom my backlog', 'backlog grooming assistant', 'подготовь повестку груминга', 'груминг-ассистент', 'проверь бэклог на проблемы'.From its SKILL.md

Install
npx -y skills add KirKruglov/claude-skills-kit --skill backlog-grooming-assistant

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 18 stars18 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

6.5 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it

Backlog Grooming Assistant

This skill reads a local backlog export (CSV or Markdown table), flags problematic items using a structured checklist, and produces a grooming session agenda with a scorecard. No external service connections required — works entirely from pasted or uploaded file contents.

Input:

  • Backlog file contents: CSV (with column headers) or Markdown table — pasted directly or uploaded
  • Minimum required columns: item ID and title; additional columns (owner, priority, estimate, status, last-updated) enable more flags

Output:

  • Markdown document with: Scorecard → Top Issues → Grooming Agenda → Skipped Checks

Language Detection

Detect the user's language from their message:

  • If Russian (or contains Cyrillic): respond in Russian
  • If English (or other Latin-script language): respond in English
  • If ambiguous: respond in the language of the trigger phrase used

The detected language applies to all output text: section headings, table column headers, field labels, agenda topic titles, error messages, and recommended actions. Translate every part of the output format template into the detected language — do not leave any section header or label in English when responding in Russian.


Instructions

Step 1: Parse and Validate Input

  1. Accept backlog content from the user (pasted text or file contents)

    • If content is empty: stop and return — "Backlog is empty — no items to analyze. Paste CSV or Markdown table content."
  2. Detect format:

    • CSV: first line contains comma-separated headers
    • Markdown table: lines starting with | and separator row |---|
    • If neither format detected: stop — "Format not recognized. Supported: CSV with headers, Markdown table. Paste the file contents in chat."
  3. Parse rows: extract all items as a list of key-value pairs

    • Identify available columns by name (case-insensitive matching)
    • Map common synonyms: "Task" → title, "Assignee" → owner, "SP"/"Points" → estimate, "Updated"/"Modified" → last-updated
    • If columns cannot be mapped automatically: ask user to specify column mapping for the ambiguous columns, then continue
  4. Validate row count:

    • If 0 data rows (headers only): stop — "Backlog is empty — no items to analyze."
    • If all rows have status "Done" or "Closed": stop — "All items are completed — no active tasks for grooming."

Step 2: Apply Flag Checklist

For each item, evaluate applicable flags (skip flags that require unavailable columns):

FlagConditionRequired column(s)
NO_OWNEROwner/Assignee field is empty or missingowner
NO_ESTIMATEEstimate/story points field is empty or zeroestimate
UNCLEAR_SCOPEDescription/title is absent or fewer than 5 wordstitle, description
STALELast-updated date is more than 14 days agolast-updated
BLOCKED_NO_ETAStatus contains "blocked" with no ETA/date mentionedstatus, description
ALL_HIGH_PRIORITYSignal: more than 50% of all items marked High/Criticalpriority (applied to entire backlog, not per item)
DUPLICATE_TITLETitle is ≥80% similar to another item in the backlogtitle

Compile per-item flag list and a backlog-wide summary count for each flag type.

Edge Cases:

  • Column missing for a flag: skip that flag for all items; record the skipped check in output
  • STALE check: if date format is ambiguous, skip and note in skipped checks
  • ALL_HIGH_PRIORITY: apply once to the whole backlog; annotate in scorecard, not per-item

Step 3: Identify Top Issues

  1. Sort flagged items by flag count (descending)
  2. Select top 10 items (or fewer if backlog is small)
  3. For each top item: collect ID, title, flags, and priority level

Step 4: Generate Grooming Agenda

Group top issues by flag type into agenda topics:

  • No Owner → agenda item: "Assign owners to unowned tasks"
  • No Estimate → "Estimate unscored items"
  • Unclear Scope → "Clarify scope / rewrite descriptions"
  • Stale Items → "Review or close items with no recent activity"
  • Blocked Items → "Resolve blockers or set ETA"
  • Priority Inflation → "Re-prioritize — too many High/Critical items"
  • Possible Duplicates → "Review and merge duplicate candidates"

For each agenda topic, list the affected item IDs and a recommended action.

Step 5: Produce Output

Write the full output in the format specified in the Output Format section below.


Negative Cases

  • Empty input or headers-only file: Stop. Return "Backlog is empty — no items to analyze."
  • Unrecognized format: Stop. Return "Format not recognized. Supported: CSV with headers, Markdown table."
  • All items Done/Closed: Stop. Return "All items are completed — no active tasks for grooming."
  • Plain text list without structure: Warn — "Insufficient structure for flag analysis. Try adding columns: status, owner, priority." Produce minimal output based on titles only (UNCLEAR_SCOPE check only).

Output Format

# Grooming Report — [date]

## Scorecard
- Total items: N
- Flagged items: N (X%)
- No owner: N
- No estimate: N
- Stale (>14 days): N
- Blocked without ETA: N
- Possible duplicates: N
- Priority inflation: YES / NO

## Top Issues for Grooming

| Item | Title | Flags | Priority |
|------|-------|-------|----------|
| [ID] | [Title] | NO_OWNER, NO_ESTIMATE | High |
| ... | ... | ... | ... |

## Grooming Agenda

### 1. [Topic]
**Items:** [ID1], [ID2]
**Problem:** [description]
**Recommended action:** [what to discuss / decide]

### 2. ...

## Skipped Checks
The following checks were not applied due to missing columns:
- [Flag name]: requires column "[column name]"

Field rules:

  • Scorecard numbers must be accurate counts from the parsed data
  • Top Issues table: max 10 rows, sorted by flag count descending
  • Agenda topics: include only those with at least one affected item
  • Skipped Checks: list only checks that were actually skipped; omit section if none skipped

What ships with it: 4 files

33.5 KB alongside SKILL.md

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.