Skip to content
Back to skills

2660 Item Schema 2dda29a5

ASecurity

Canonical schema for per-item files at `.claude/backlog/{priority}-{slug}.md`. All skills that read or write item files MUST conform to this schema. SOURCE: Derived from comparative analysis of GSD repo patterns and claude_skills backlog skill implementations (accessed 2026-02-26). ---

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
researchgogitapi

Works with

  • terminal
  • api

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 2660-item-schema_2dda29a5 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 2660 Item Schema 2dda29a5?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 2660 Item Schema 2dda29a5
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-2660-item-schema-2dda29a5/badge)](https://www.skillsdirectory.com/skills/tools-only-2660-item-schema-2dda29a5)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
# Backlog Item Schema

Canonical schema for per-item files at `.claude/backlog/{priority}-{slug}.md`.
All skills that read or write item files MUST conform to this schema.

SOURCE: Derived from comparative analysis of GSD repo patterns and claude_skills backlog skill implementations (accessed 2026-02-26).

---

## Frontmatter Fields

```yaml
---
name: string          # REQUIRED — full item title (matches GitHub issue title)
description: string   # REQUIRED — one-sentence summary of the problem or goal
metadata:
  topic: string       # REQUIRED — slug derived from title (kebab-case, max 60 chars)
  source: string      # REQUIRED — what triggered this item
  added: YYYY-MM-DD   # REQUIRED — date item was created
  priority: P0|P1|P2|Ideas   # REQUIRED — priority tier
  type: Feature|Bug|Refactor|Docs|Chore   # REQUIRED
  status: needs-grooming|groomed|blocked|in-milestone|in-progress|done|resolved|closed   # REQUIRED
  groomed: YYYY-MM-DD     # optional — set by groom-backlog-item when all 7 sections present
  issue: '#N'             # optional — GitHub issue number (string with # prefix)
  milestone: integer      # optional — GitHub milestone number
  plan: string            # optional — relative path to SAM task file
---
```

### Field Ownership

| Field | Written by | Notes |
|---|---|---|
| `name` | create-backlog-item | Set at creation |
| `description` | create-backlog-item | Set at creation |
| `metadata.topic` | backlog script | Auto-derived from title |
| `metadata.source` | create-backlog-item | Set at creation |
| `metadata.added` | backlog script | Set at creation |
| `metadata.priority` | create-backlog-item | Set at creation |
| `metadata.type` | create-backlog-item | Set at creation |
| `metadata.status` | all skills | Updated on state transitions (see state-machine.md) |
| `metadata.groomed` | groom-backlog-item | Set when all 7 required sections present |
| `metadata.issue` | backlog script | Set on GitHub issue creation |
| `metadata.milestone` | group-items-to-milestone | Set on milestone assignment |
| `metadata.plan` | work-backlog-item | Set when SAM task file created |

---

## Body Sections — Canonical Order

Sections appear in this order. All sections after Description are populated incrementally by downstream skills — they do not exist in newly created items.

```
1.  Description                        (written by: create-backlog-item — body prose)
2.  Acceptance Criteria                (written by: create-backlog-item — bullet list)
3.  Research First                     (written by: create-backlog-item — optional)
4.  Suggested Location                 (written by: create-backlog-item — optional)
5.  Fact-Check                         (written by: groom-backlog-item Step 4)
6.  RT-ICA                             (written by: groom-backlog-item Step 5 — MUST be written before groomer agent)
7.  Groomed                            (written by: backlog-item-groomer agent — contains subsections)
    7a. Reproducibility
    7b. Priority
    7c. Impact
    7d. Scope
    7e. Output / Evidence
    7f. Dependencies
    7g. Research
    7h. Skills
    7i. Agents
    7j. Prior Work
    7k. Files
    7l. Decision
8.  Acceptance Criteria Verification   (written by: work-backlog-item close — per-criterion PASS/FAIL with file:line evidence)
```

### Section Details

**Description** — prose summary of the problem. Do not include "how to fix it" — describe the observed gap or need.

**Acceptance Criteria** — bullet list, each criterion must be a specific verifiable condition:

```markdown
**Acceptance Criteria**:
- Running `command X` produces `output Y`
- File `.claude/backlog/p1-{slug}.md` exists with correct frontmatter
- `gh issue view N --json state` returns `"state": "open"`
```

P0 items: at least one criterion required. Non-P0: optional but recommended.

**Script gap**: `backlog.py` does not yet have an `--acceptance-criteria` flag. Skills write this
section directly to the item file body. Script support is planned.

**Research First** — questions to answer before grooming can proceed. Surfaced to groomer agent.

```markdown
**Research first**: What patterns exist for X? How does Y handle Z?
```

**Suggested Location** — codebase location where implementation work lands:

```markdown
**Suggested location**: `plugins/plugin-creator/`
```

**Script gap**: `backlog.py` does not yet have a `--suggested-location` flag. Skills write this
field directly to the item file body. Script support is planned.

**Fact-Check** — verdict from fact-check skill. Written by groom-backlog-item Step 4:

```markdown
## Fact-Check

Claims checked: N
VERIFIED: N | REFUTED: N | INCONCLUSIVE: N
Refuted claims: [list]
Inconclusive claims: [list]
Citations: [list of sources]
```

**RT-ICA** — information completeness assessment. Written by groom-backlog-item Step 5b (before groomer agent):

```markdown
## RT-ICA

Goal: {one sentence}
Conditions:
1. {condition} | Status: AVAILABLE|DERIVABLE|MISSING | Info needed: {what}
...
Decision: APPROVED|BLOCKED
Missing: {list or "None"}
```

**Groomed** — output from backlog-item-groomer agent. Written after RT-ICA. Contains subsections in order listed above.

**Acceptance Criteria Verification** — written by `work-backlog-item close` after checking each criterion against the codebase. Contains per-criterion PASS/FAIL lines with file:line evidence. The `complete-milestone` pre-flight gate detects verified items by grepping for this section header.

```markdown
## Acceptance Criteria Verification

[PASS] Running `command X` produces `output Y` — verified at src/main.py:42
[FAIL] File `.claude/backlog/p1-{slug}.md` exists with correct frontmatter — file not found
[PASS] `gh issue view N --json state` returns "open" — confirmed via gh output

Overall: FAIL (2/3 criteria met)
```

---

## Item Completeness States

| State | Required fields | Required sections |
|---|---|---|
| Newly created | All frontmatter fields | Description, optionally AC + Research First + Suggested Location |
| Fact-checked | + | + Fact-Check section |
| RT-ICA assessed | + | + RT-ICA section |
| Fully groomed | `metadata.groomed` set | All 7 canonical sections: Fact-Check, RT-ICA, Reproducibility, Dependencies, Skills, Agents, Prior Work |
| In-milestone | `metadata.milestone` set, `metadata.status: in-milestone` | (same as fully groomed) |
| In-progress | `metadata.plan` set, `metadata.status: in-progress` | + plan file exists at path |
| Done | `metadata.status: done` | + Acceptance Criteria Verification section (all criteria PASS) |
| Closed | `metadata.status: closed` | Terminal — set by complete-milestone only |

An item is **fully groomed** only when ALL 7 of these sections are present in the item file (in this order):

1. `Fact-Check` — must contain V/R/I counts
2. `RT-ICA` — must contain `Decision: APPROVED` or `Decision: BLOCKED`
3. `Reproducibility`
4. `Dependencies`
5. `Skills` — content or explicit "None"
6. `Agents` — content or explicit "None"
7. `Prior Work`

`metadata.groomed` MUST NOT be set until all 7 are present. Partial grooming (e.g., only Fact-Check and RT-ICA written) is NOT considered groomed — groom-backlog-item resumes from the first missing section rather than restarting.

---

## Dual Milestone Location

Milestone membership is recorded in two locations that serve different purposes. Both MUST be kept in sync.

### 1. Per-item file frontmatter (machine-readable canonical)

```yaml
metadata:
  milestone: 5    # GitHub milestone number — integer
```

Written by `group-items-to-milestone` when item is assigned. Read by:
- `work-backlog-item` to determine which milestone an item belongs to
- `complete-milestone` to find all items in the milestone (via per-item file scan)

### 2. GitHub Issue milestone field (published view)

The GitHub Issue's milestone field is the published view. Written by `group-items-to-milestone` when assigning the item. Read by:
- `complete-milestone` straggler detection (queries GitHub API for milestone issues)
- Humans browsing GitHub Issues

### Sync rule

Both locations MUST be updated together. `group-items-to-milestone` is the only skill that writes milestone assignment — it writes both locations in the same operation. If they drift, the per-item frontmatter is canonical.

---

## Backlog Directory Structure

The backlog script reads per-item files from `.claude/backlog/`. Each file is named `{priority}-{slug}.md` (e.g., `p1-error-recovery.md`). The `work-backlog-item progress` subcommand scans this directory to produce situational awareness output.

SOURCE: claude_skills_backlog_management_systematic_improvements_list.md, Cross-Cutting Improvements section 5 (2026-02-26).

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.