| name | prd-taskmaster | |||||||
|---|---|---|---|---|---|---|---|---|
| description | Smart PRD generator with TaskMaster integration. Detects existing PRDs and offers execute/update/replace options. Generates comprehensive technical PRDs optimized for task breakdown, validates with 13 automated checks, and optionally executes tasks autonomously with datetime tracking and rollback support. Use when user requests "PRD", "product requirements", or mentions task-driven development. Defaults to PRD generation with handoff to TaskMaster. Optionally supports autonomous execution with 4 modes. | |||||||
| allowed-tools |
|
Smart PRD generation with deterministic operations handled by script.py.
AI handles judgment (questions, content, decisions); script handles mechanics.
Script location: ~/.claude/skills/prd-taskmaster/script.py
All script commands output JSON.
Activate when user says: PRD, product requirements, taskmaster, task-driven development. Do NOT activate for: API docs, test specs, project timelines, PDF creation.
- Quality Over Speed: Planning is 95% of the work
- Taskmaster Required: Blocks if not detected
- Engineer-Focused: Technical depth, code examples, architecture
- Validation-Driven: 13 automated checks via script
- User Testing Checkpoints: Every 5 tasks
python3 ~/.claude/skills/prd-taskmaster/script.py preflightReturns JSON: has_taskmaster, prd_path, task_count, tasks_completed, tasks_pending, taskmaster_method, has_claude_md, has_crash_state, crash_state.
If has_crash_state is true: Present resume options to user:
- Continue from last subtask
- Restart current task
- Resume from last checkpoint
- Start fresh
Then proceed to Step 2.
Use preflight JSON: if prd_path is not null and task_count > 0, an existing PRD is found.
If existing PRD found, use AskUserQuestion:
- Execute tasks from existing PRD (skip to Step 11)
- Update/refine existing PRD (edit and re-parse)
- Create new PRD (replace - backup first via
script.py backup-prd --input <path>) - Review existing PRD (display summary, then exit)
If no PRD found: Proceed to Step 3.
Use preflight JSON field taskmaster_method: mcp, cli, or none.
If none: Block and show installation instructions:
- Option 1 (recommended): Install MCP Task-Master-AI
- Option 2:
npm install -g task-master-ai - Wait for user to install and confirm, then re-run:
script.py detect-taskmaster
No proceeding without taskmaster detected.
Ask detailed questions to build comprehensive PRD. Use AskUserQuestion for structured input.
Essential (5):
- What problem does this solve? (user pain point, business impact)
- Who is the target user/audience?
- What is the proposed solution or feature?
- What are the key success metrics?
- What constraints exist? (technical, timeline, resources)
Technical (4): 6. Existing codebase or greenfield? 7. Tech stack? 8. Integration requirements? 9. Performance/scale requirements?
TaskMaster-specific (3): 10. Used taskmaster before? 11. Estimated complexity? (simple/typical/complex) 12. Timeline expectations?
Open-ended (1): 13. Anything else? (edge cases, constraints, context)
Smart defaults: If user provides minimal answers, use best guesses and document assumptions.
Only if .taskmaster/ doesn't exist (check preflight has_taskmaster).
python3 ~/.claude/skills/prd-taskmaster/script.py init-taskmaster --method <cli|mcp>For MCP: use the returned params to call mcp__task-master-ai__initialize_project.
For CLI: script runs taskmaster init directly.
Load template:
python3 ~/.claude/skills/prd-taskmaster/script.py load-template --type <comprehensive|minimal>Returns JSON with content field containing the template.
AI judgment: Fill template with user's answers from Step 4:
- Replace placeholders with actual content
- Expand examples with project-specific details
- Add technical depth based on discovery answers
Write completed PRD to .taskmaster/docs/prd.md.
python3 ~/.claude/skills/prd-taskmaster/script.py validate-prd --input .taskmaster/docs/prd.mdReturns JSON: score, max_score, grade, checks (13 items), warnings.
Grading: EXCELLENT (91%+), GOOD (83-90%), ACCEPTABLE (75-82%), NEEDS_WORK (<75%).
AI judgment: If warnings exist, offer user three options:
- Proceed with current PRD
- Auto-fix warnings
- Review and fix manually
If grade is NEEDS_WORK, strongly recommend fixing before proceeding.
Calculate task count:
python3 ~/.claude/skills/prd-taskmaster/script.py calc-tasks --requirements <count>Returns recommended task count.
For MCP:
mcp__task-master-ai__parse_prd: input=".taskmaster/docs/prd.md", numTasks=<recommended>, research=true
mcp__task-master-ai__expand_all: research=true
For CLI:
taskmaster parse-prd --input .taskmaster/docs/prd.md --research --num-tasks <recommended>
taskmaster expand-all --researchpython3 ~/.claude/skills/prd-taskmaster/script.py gen-test-tasks --total <task_count>Returns array of USER-TEST task definitions with title, description, dependencies, template.
For each task in the array:
- MCP:
mcp__task-master-ai__add_taskwith title, description, details=template, dependencies, priority=high - CLI:
taskmaster add-task --title="..." --description="..." --dependencies="..." --priority=high
python3 ~/.claude/skills/prd-taskmaster/script.py gen-scripts --output-dir .taskmaster/scriptsCreates 5 scripts: track-time.py, rollback.sh, learn-accuracy.py, security-audit.py, execution-state.py.
Pre-check: Use Glob to check if ./CLAUDE.md exists. If it exists, skip.
If generating:
- Load template:
script.py load-templatewon't work here -- use Read tool on~/.claude/skills/prd-taskmaster/templates/CLAUDE.md.template - AI judgment: Replace placeholders with project-specific values from discovery:
{{PROJECT_NAME}},{{TECH_STACK}},{{ARCHITECTURE_OVERVIEW}}{{KEY_DEPENDENCIES}},{{TESTING_FRAMEWORK}},{{DEV_ENVIRONMENT}},{{TEST_COMMAND}}
- Write to
./CLAUDE.md - Ask if user uses Codex -- if yes and no
codex.md, write identical copy
Use AskUserQuestion:
Question: "PRD and tasks ready. How to proceed?"
- Show TaskMaster Commands (default): Display command reference, then exit skill
- Autonomous Execution: Ask follow-up for execution mode
If Autonomous Execution selected, ask execution mode:
- Sequential to Checkpoint (recommended): Tasks one-by-one until next USER-TEST
- Parallel to Checkpoint: Independent tasks in parallel until USER-TEST
- Full Autonomous: All tasks parallel, skip user validation
- Manual Control: User decides each task
AI judgment: Recommend mode based on context:
- First-time/critical: Sequential
- Experienced/non-critical: Parallel
- Trusted/time-critical: Full Autonomous
- Complex/learning: Manual
If Handoff: Display PRD location, task counts, key requirements, validation score, task phases, user test checkpoints, and TaskMaster commands. Then exit skill.
If Autonomous: Display same summary plus execution mode, then begin execution using the selected mode's rules.
- DateTime tracking:
python3 .taskmaster/scripts/track-time.py start|complete <task_id> [subtask_id] - Progress logging:
python3 ~/.claude/skills/prd-taskmaster/script.py log-progress --task-id <id> --title "..." --duration "..." --subtasks "..." --tests "..." --issues "..." - Git policy: Branch per task (
task-{id}-{slug}), sub-branch per subtask, merge to main with checkpoint tag - Rollback: If user says "rollback to task X", run
bash .taskmaster/scripts/rollback.sh X - State tracking:
python3 .taskmaster/scripts/execution-state.py start|complete|checkpoint <task_id>
Execute tasks one-by-one. For each task:
- Start time tracking
- Create feature branch
- For each subtask: create sub-branch, implement, test, commit, merge to task branch
- Complete time tracking
- Log progress
- Merge to main, create checkpoint tag
- Stop at next USER-TEST for user validation
Same as sequential but launch up to 3 concurrent independent tasks. Handle merge conflicts automatically. Stop at USER-TEST.
Maximum parallelization (up to 5 concurrent). Auto-complete USER-TEST tasks. Only stop when ALL tasks complete.
Wait for user commands: "next task", "task {id}", "status", "parallel {id1,id2}".
- More detail in discovery = better PRD
- Quantify goals: not "improve UX" but "increase NPS from 45 to 60"
- USER-TEST checkpoints catch issues early
- Git checkpoints allow easy rollback
- Use
script.py validate-prdat any time to re-check PRD quality