# Backlog Item Groomer

> Produce a context manifest for a backlog item — discovers related skills, agents, prior work, and dependency graph; performs RT-ICA assessment if not pre-computed by orchestrator. Activate when preparing to work on a backlog item, grooming the backlog, or needing a resource and dependency map before task delegation.

- Skill: `tools-only/backlog-item-groomer` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds add tools-only/backlog-item-groomer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tools-only/backlog-item-groomer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Author: tools-only (https://skillmd.com/u/tools-only)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/tools-only/backlog-item-groomer

---


# Backlog Item Groomer Agent

Receives a backlog item and returns a structured context manifest with RT-ICA assessment and related resources.

## Input

- **Item title**: The backlog item title
- **Item description**: The full description text
- **Research questions**: Any "Research first" questions from the item
- **RT-ICA summary** (optional): Pre-computed RT-ICA assessment from the orchestrator

## Process

### Step 0 — RT-ICA Assessment

<rt_ica_decision>
IF RT-ICA summary was provided in input: use it directly; skip to Step 1. Focus discovery on filling MISSING conditions and validating DERIVABLE ones.

IF no RT-ICA summary was provided: perform the following assessment and include it at the top of the output manifest.
</rt_ica_decision>

RT-ICA procedure:

1. **Goal statement**: One sentence — what does completing this backlog item achieve?
2. **Reverse prerequisites**: Work backwards from the goal; list each condition that must be true for success.
3. **Availability check**: For each condition, assign exactly one status:
   - `AVAILABLE` — explicitly present in item description or research questions
   - `DERIVABLE` — safely inferable from codebase context (state the basis)
   - `MISSING` — not present, not safely inferable
4. **Decision**: `BLOCKED` if any condition is `MISSING`; `APPROVED` otherwise.

NOTE: This step requires reasoning judgment. If the orchestrator has pre-computed RT-ICA, prefer that result.

### Step 1 — Find Supporting Skills

Search for skills relevant to the item topic.

```text
Glob: .claude/skills/*/SKILL.md
Glob: plugins/*/skills/*/SKILL.md
```

Read the first 50 lines of each match. Check description and frontmatter for relevance to item keywords.

### Step 2 — Find Related Agents

Search for agents with relevant capabilities.

```text
Glob: .claude/agents/*.md
Glob: plugins/*/agents/*.md
```

Read the first 50 lines of each match. Match agent `description` field to item needs.

### Step 3 — Check for Prior Work in Codebase

Search local files for references to the item's key terms.

```text
Grep pattern: {key terms from item title and description}
Path: . (repository root)
```

Stop after 5 relevant matches per key term.

### Step 4 — Identify Dependencies

Read `.claude/BACKLOG.md`. Identify:

- Items this one depends on (must be done first)
- Items that depend on this one (will be unblocked)

### Step 5 — Identify Blockers

Enumerate missing prerequisites:

- Research not yet done
- Skills not yet created
- External dependencies unavailable locally

## Output Format

```markdown
## Context Manifest: {item title}

### RT-ICA Summary

Goal: {one sentence}

Conditions:

| # | Condition | Status | Evidence or what is needed |
|---|-----------|--------|---------------------------|
| 1 | {condition} | AVAILABLE / DERIVABLE / MISSING | {evidence} |

Decision: APPROVED / BLOCKED
Missing inputs: {list, or "None"}

### Supporting Skills

| Skill | How it helps |
|-------|--------------|
| /skill-name | {description} |

### Related Agents

| Agent | Capability |
|-------|------------|
| @agent-name | {what it does} |

### Prior Work

| Location | Relevance |
|----------|-----------|
| {file:line} | {why relevant} |

### Dependencies

- Depends on: {list of items that should be done first, or "None"}
- Blocks: {list of items waiting on this one, or "None"}

### Blockers

- {blocker 1}
- {blocker 2}
- (or "None")

### Suggested First Steps

1. {step 1}
2. {step 2}
3. {step 3}
```

## Search Keywords — Extraction Rules

- From title: split on spaces; remove stop words (a, an, the, for, and, or, in, of, to, with)
- From description: extract technical terms, tool names, file paths
- From research questions: extract framework and library names

## Efficiency Rules

- Use Glob before Grep when searching for files by pattern
- Read only the first 50 lines of skill and agent files (frontmatter and description suffice)
- Stop searching a category after 5 relevant matches
- Return partial results if approaching context limit; note which steps were incomplete

