Interactive workflow for adding items to the JSON backlog
Captures new features, enhancements, or bugs through interactive questions and adds them to the JSON backlog.
/plugin marketplace add schuettc/claude-code-plugins/plugin install feature-workflow@schuettc-claude-code-pluginsYou are executing the ADD TO BACKLOG workflow - an interactive process to capture new features, enhancements, tech debt, or bug fixes in the JSON-based backlog.
docs/planning/backlog.json
Use the AskUserQuestion tool to ask these 7 questions. You may ask multiple questions at once where appropriate.
What type of item is this?
- Feature - New capability
- Enhancement - Improvement to existing feature
- Tech Debt - Code/infrastructure improvement
- Bug Fix - Defect correction
Enter a short descriptive name (will be converted to kebab-case for ID):
Example: "Dark Mode Toggle" -> id: "dark-mode-toggle"
What problem does this solve? (1-3 sentences)
What is the priority?
- P0 (High) - Critical, blocks other work
- P1 (Medium) - Important, should be done soon
- P2 (Low) - Nice to have, can wait
Estimated effort?
- Low (< 8 hours)
- Medium (1-2 weeks)
- Large (2+ weeks)
Expected impact?
- Low - Minor improvement
- Medium - Noticeable improvement
- High - Significant value or risk reduction
Which parts of the system will this affect?
(comma-separated list, or leave blank)
Example: frontend/settings, backend/api, database
{
"version": "1.0.0",
"lastUpdated": "[current ISO timestamp]",
"summary": {
"total": 0,
"byStatus": { "backlog": 0, "in-progress": 0, "completed": 0 },
"byPriority": { "P0": 0, "P1": 0, "P2": 0 }
},
"items": []
}
Read existing backlog: Load docs/planning/backlog.json
Generate ID: Convert feature name to kebab-case
Check for duplicate ID: Search items array for matching id
Validate required fields: Ensure all required data is captured
{
"id": "[kebab-case-name]",
"name": "[Original Name]",
"type": "[Feature|Enhancement|Tech Debt|Bug Fix]",
"priority": "[P0|P1|P2]",
"effort": "[Low|Medium|Large]",
"impact": "[Low|Medium|High]",
"problemStatement": "[User's problem description]",
"proposedSolution": "",
"affectedAreas": ["[parsed from user input]"],
"status": "backlog",
"createdAt": "[ISO 8601 timestamp]",
"updatedAt": "[ISO 8601 timestamp]",
"startedAt": null,
"completedAt": null,
"implementationPlan": null,
"metadata": {}
}
Add to items array in backlog.json
Recalculate summary:
totalbyStatus.backlogbyPriority.[priority]lastUpdated to current timestampWrite updated JSON back to docs/planning/backlog.json
Ask user:
Would you like to stage this change with git?
If yes, run:
git add docs/planning/backlog.json
Display a summary:
# Backlog Item Added
**ID**: [id]
**Name**: [name]
**Type**: [type]
**Priority**: [priority] | **Effort**: [effort] | **Impact**: [impact]
## Problem Statement
[problemStatement]
## Affected Areas
[affectedAreas as bullet list, or "None specified"]
---
## Backlog Summary
- Total Items: [total]
- P0: [P0 count] | P1: [P1 count] | P2: [P2 count]
- Backlog: [backlog count] | In Progress: [in-progress count] | Completed: [completed count]
## Next Steps
- Run `/feature-plan [id]` when ready to start
- View backlog: `docs/planning/backlog.json`
All planning files are organized cleanly:
docs/planning/
├── backlog.json # Single source of truth (all items, all statuses)
└── features/
└── [feature-id]/ # Created when implementing (not when adding)
├── plan.md
├── requirements.md
└── design.md
Key Principles:
backlog.json is the only file created/updated by /feature-capture/feature-plan when work startsThis command works with /feature-plan to provide a complete feature lifecycle:
/feature-capture - Captures idea in backlog (YOU ARE HERE)/feature-plan [id] - Creates feature directory and detailed planningIMPORTANT: Capture the WHAT and WHY, not the HOW.
This phase is about documenting what you want and why it matters. The implementation details come later during /feature-plan.
/feature-plan/feature-plan/feature-planGood (focuses on what/why):
"Users can't find their validation reports after running a scan. They have to search through multiple pages and often give up."
Good (new feature):
"We need dark mode support. Many users work late and have requested reduced eye strain options."
Bad (jumps to solution):
"We need to add a reports dashboard with filters and a search bar that queries the DynamoDB table."
Save the "how" for the planning phase where you'll have proper context and can make informed architectural decisions.
docs/planning/ directory doesn't exist, create itLet's capture your idea!