Backlog Management Skill
This skill provides workflows for managing the project backlog. The backlog uses a CSV-based system for efficient querying and reduced token usage.
System Overview
code
.claude/plans/backlog/ ├── data/ │ ├── backlog.csv # Main table (source of truth) │ ├── sprints.csv # Sprint history │ ├── changelog.csv # Audit trail │ └── SCHEMA.md # Column definitions ├── scripts/ │ ├── queries.py # Query interface │ └── validate.py # Schema validation ├── items/ # BACKLOG-XXX.md detail files └── README.md # Quick start guide
Quick Reference
Query Items
bash
# By status python .claude/plans/backlog/scripts/queries.py status pending # By priority python .claude/plans/backlog/scripts/queries.py priority high --status pending # Sprint items python .claude/plans/backlog/scripts/queries.py sprint SPRINT-042 # Search python .claude/plans/backlog/scripts/queries.py search "sync" # Statistics python .claude/plans/backlog/scripts/queries.py stats
Python Module Usage
python
import csv
# Load all items
with open('.claude/plans/backlog/data/backlog.csv') as f:
items = list(csv.DictReader(f))
# Filter to pending high priority
pending_high = [
i for i in items
if i['status'].lower() == 'pending'
and i['priority'].lower() == 'high'
]
Workflows
| Workflow | When to Use |
|---|---|
| Backlog Analysis | Generate health report, find attention items |
| Add Item | Creating a new backlog item |
| Close Item | Completing or obsoleting an item |
| Sprint Planning | Planning a new sprint |
Key Rules
- •CSV is source of truth - Always update backlog.csv for status changes
- •All items need .md files - Create BACKLOG-XXX.md for every item
- •Run validation - Execute
python .claude/plans/backlog/scripts/validate.pybefore committing - •Log key changes - Add entries to changelog.csv for significant changes
- •Column order matters - The CSV column order is:
id,title,category,priority,status,sprint,est_tokens,actual_tokens,variance,created_at,completed_at,file
CSV Column Order (Quick Reference)
code
id,title,category,priority,status,sprint,est_tokens,actual_tokens,variance,created_at,completed_at,file
Common Mistake: Swapping category/priority/status positions. Always verify positions 3-5:
- •Position 3:
category(enhancement, bug, feature, etc.)- •Position 4:
priority(high, medium, low, critical)- •Position 5:
status(pending, in-progress, testing, etc.)
Status Flow (IMPORTANT)
code
pending → in-progress → testing → completed
↓
reopened → in-progress → ...
CRITICAL RULES:
- •Code merged =
testing(NOT completed) - •Only user verification =
completed - •Failed testing =
reopened(NEVER create new task)
Status Values
- •
pending- Not started - •
in-progress- Currently being worked on - •
testing- Code merged, awaiting user verification - •
completed- Done AND verified by user - •
blocked- Waiting on something - •
deferred- Postponed - •
obsolete- No longer relevant - •
reopened- Failed testing, needs more work
Priority
- •
critical- Must be done immediately - •
high- Important, do soon - •
medium- Normal priority - •
low- Nice to have
Related Documentation
- •Schema details:
.claude/plans/backlog/data/SCHEMA.md - •Estimation guidelines: estimation-guidelines.md
- •CSV reference: csv-reference.md