Interactive workflow for adding items to the JSON backlog
Interactive workflow that captures new features, enhancements, tech debt, or bugs through 7 focused questions and adds them to your JSON backlog with proper metadata and validation.
/plugin marketplace add schuettc/claude-code-plugins/plugin install schuettc-feature-workflow-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-workflow:implement [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 /add/implement when work startsThis command works with /feature-workflow:implement to provide a complete feature lifecycle:
/feature-workflow:add - Captures idea in backlog (YOU ARE HERE)/feature-workflow:implement [id] - Creates feature directory and detailed planningCapture:
Does NOT need:
/feature-workflow:implement)/feature-workflow:implement)/feature-workflow:implement)docs/planning/ directory doesn't exist, create itLet's capture your idea!