Research now loads concrete requirements (e.g., "AUTH-02: User receives
email verification") to inform research domains, not just high-level
roadmap descriptions.
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove phantom status.md command (background agent model abandoned)
- Remove agent-history.md template (unused)
- Remove _archive/ directory
- Add narration to execute-phase (describe what's being built before/after waves)
- Update new-project to offer define-requirements as fast path
- Make define-requirements work without research (gather through questioning)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Subagents can't determine if phase is complete. The orchestrator
(execute-plan and execute-phase commands) runs in main context,
can count plans vs summaries, and updates REQUIREMENTS.md when
phase completes.
- execute-plan: Step 2.5 updates requirements when summaries = plans
- execute-phase: Step 6 updates requirements (phase always complete)
- Removed duplicate from workflow (subagent can't run it anyway)
When all plans in a phase complete:
1. Look up phase's requirements from ROADMAP.md
2. Update REQUIREMENTS.md traceability table (Pending → Complete)
3. Include in metadata commit
Closes the loop on requirement tracking.
Adds /gsd:research-project to research domain ecosystem before creating roadmap.
Spawns parallel agents to investigate stack, features, architecture, and pitfalls.
New files:
- commands/gsd/research-project.md
- get-shit-done/workflows/research-project.md
- get-shit-done/templates/research-project/ (5 templates)
Modified:
- new-project.md: offers research vs direct roadmap options
- create-roadmap.md: loads research if exists
- workflows/create-roadmap.md: uses research to inform phases
Co-Authored-By: Claude <noreply@anthropic.com>
Remove the global ISSUES.md deferred enhancement tracking system.
- Delete /gsd:consider-issues command (never used)
- Delete issues.md template (never instantiated)
- Remove Rule 5 from deviation rules (never triggered)
- Remove all ISSUES.md, ISS-XXX, and "deferred issues" references
- Update STATE.md to track pending todos instead
The ISSUES.md system was designed to capture non-critical enhancements
during plan execution via "Rule 5", but it never fired in practice
across 100+ projects. The system added ~350 lines of dead code.
The /gsd:add-todo and /gsd:check-todos system serves the same purpose
and is actually used.
Note: UAT *-ISSUES.md files (per-plan, created by /gsd:verify-work)
are unaffected - those are a separate, active system.
Closes#56
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Debug command now orchestrates: gather symptoms in main context, spawn
investigation subagent with fresh 200k context
- Subagent template unified for both /gsd:debug (find_and_fix) and
diagnose-issues (find_root_cause_only) flows via goal flag
- Checkpoint behavior enables subagent to pause for user input
(human-verify, human-action, decision) with continuation agents
- Structured return formats: ROOT CAUSE FOUND, DEBUG COMPLETE,
INVESTIGATION INCONCLUSIVE, CHECKPOINT REACHED
- diagnose-issues updated to match new template placeholders and returns
Co-Authored-By: Claude <noreply@anthropic.com>
Define DEBUG_DIR=.planning/debug at top of debug-related files.
Reference ${DEBUG_DIR} throughout to reduce path typo risk.
Co-Authored-By: Claude <noreply@anthropic.com>
- Debug files from UAT use same naming as regular debug (slug only)
- UAT.md tracks link via debug_session field
- plan-fix actually invokes execute-plan when user selects it
Co-Authored-By: Claude <noreply@anthropic.com>
Diagnosis always produces better fixes and runs in parallel anyway.
Removing the prompt reduces cognitive load.
Co-Authored-By: Claude <noreply@anthropic.com>
After UAT finds issues, spawn parallel debug agents to investigate
root causes before planning fixes. Each agent investigates one issue
with symptoms pre-filled from UAT, finds the root cause, and returns
diagnosis.
New files:
- workflows/diagnose-issues.md: Orchestrator for parallel debug agents
- templates/debug-subagent-prompt.md: Prompt template for debug subagents
Modified:
- workflows/debug.md: Add symptoms_prefilled and diagnose-only modes
- workflows/verify-work.md: Offer diagnosis step after issues found
- templates/UAT.md: Add root_cause and debug_session fields
- commands/gsd/plan-fix.md: Use root causes for targeted fix planning
Flow: UAT → diagnose (parallel) → plan-fix (with root causes) → execute
Co-Authored-By: Claude <noreply@anthropic.com>
- One test at a time instead of full checklist upfront
- Plain text responses instead of AskUserQuestion forms
- Severity inferred from description, never asked
- Persistent UAT.md survives /clear (like debug workflow)
- Single file per phase replaces per-plan ISSUES.md
- Updated plan-fix to read from UAT.md
Co-Authored-By: Claude <noreply@anthropic.com>
Wave numbers now computed during plan-phase and stored in PLAN.md
frontmatter. Execute-phase reads wave directly instead of deriving
from depends_on at runtime.
- Add assign_waves step to plan-phase workflow
- Add wave field to frontmatter (plan-format, phase-prompt template)
- Simplify execute-phase: remove analyze_dependencies and group_into_waves
- Replace with group_by_wave that just reads frontmatter integers
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix brownfield example to use execute-phase instead of execute-plan
- Remove /gsd:resume-task command (relies on broken Task resume)
- Checkpoint continuation now uses fresh agents, not resume
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Resume fails when subagents use parallel tool calls due to Claude Code
serialization bug (consecutive assistant entries with same message ID).
Solution: Subagents return structured checkpoint state, orchestrator
spawns fresh agent with continuation-prompt template instead of resuming.
New files:
- templates/checkpoint-return.md: Structured format with completed tasks table
- templates/continuation-prompt.md: Template for spawning continuation agent
Updated:
- templates/subagent-task-prompt.md: Reference checkpoint-return, remove resume language
- workflows/execute-phase.md: Replace Task(resume=id) with fresh agent spawn
- workflows/execute-plan.md: Update checkpoint_return_for_orchestrator step
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Scope boundaries are implicit from the roadmap. Asking about them
creates the sensation of scope creep and interrogates the user about
constraints they didn't mention.
Co-Authored-By: Claude <noreply@anthropic.com>
Restored context-budget reasoning for why TDD features get dedicated plans:
- TDD requires 2-3 execution cycles consuming 50-60% context
- Test framework setup handled in first TDD plan's RED phase
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- execute-plan.md: Add checkpoint_return_for_orchestrator step
explaining how to return at checkpoints when spawned via Task tool
- subagent-task-prompt.md: Add checkpoint_behavior and completion_format
sections to guide agents on returning for checkpoints
Tested: Task resume works - agent pauses at checkpoint, returns with
details, orchestrator presents to user, resumes with Task(resume=id).
Parallel agents each get unique agent_id for independent resume.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Shows table of all active debug sessions with status/hypothesis/next action
- Reply with number to resume, or describe new issue
- No AskUserQuestion for session selection - inline flow
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove confusing `parallelizable` boolean field. It was redundant -
execute-phase already computes parallelizability from `depends_on`
and file conflicts.
Changes:
- Remove `parallelizable: true|false` from plan frontmatter
- Rename `files_exclusive` to `files_modified` (clearer intent)
- Simplify execute-phase dependency detection logic
- Update phase-prompt template and plan-phase workflow
Parallelization is now fully automatic based on:
- `depends_on: []` (empty = independent)
- `files_modified: [...]` (no overlap = can parallelize)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Routes to batch execution when 2+ plans exist, with execute-plan
as alternative for interactive mode.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Context isolation is the primary goal, not parallelization.
Even sequential plans spawn separate subagents for fresh 200k context.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update categorization table to show frontmatter-aware criteria
- Add categorization priority documentation
- Update calculate_wave() to check frontmatter depends_on first
- Handle parallelizable: false as implicit Wave 2+ assignment
- Fall back to inferred requires only when no frontmatter
- Add [frontmatter] annotation in wave output for plans using new fields
- Add PLAN_PARALLELIZABLE, PLAN_DEPENDS_ON, PLAN_FILES_EXCLUSIVE arrays
- Check for parallelizable, depends_on, files_exclusive in plan frontmatter
- Use frontmatter values directly when present
- Fall back to inference logic for old plans without frontmatter
- Document dependency detection priority
- Include parallelizable, depends_on, files_exclusive in frontmatter
- Rules for parallelizable field determination
- Parallel-aware context section guidance
- Avoid reflexive SUMMARY references when parallel
- File ownership analysis per task group
- Detect unnecessary inter-plan dependencies
- Restructure for vertical slices when beneficial
- Mark plans with parallelization frontmatter values
- Reads .planning/config.json parallelization settings early
- Documents planning behavior when parallel enabled vs disabled
- Placed after load_project_state, before load_codebase_context
- Default: assume parallelization enabled for new projects
- Command now loads both workflows (execution + orchestration)
- Agents commit tasks normally (removed DON'T COMMIT instruction)
- Orchestrator only commits metadata after all agents complete
- No duplication - single source of truth for execution logic
Add ability to resume interrupted subagent executions using Task tool's
resume parameter. Tracks agent IDs during execution and enables seamless
continuation after session timeout, rate limits, or crashes.
- New /gsd:resume-task command for resuming interrupted agents
- Agent ID tracking in execute-phase workflow
- Dual storage: current-agent-id.txt (fast) + agent-history.json (audit)
- Auto-detection of interrupted agents in resume-project workflow
- File conflict warnings before resume
Closes#37
Co-Authored-By: davesienkowski <davesienkowski@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Front-load mindset guidance before process steps:
- Secure by design: assume hostile input
- Performance by design: assume production load
- Observable by design: plan for self-debugging
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add /gsd:verify-work to "Also available" sections in execute-phase workflow:
- Route A: After plan completion, before next plan
- Route B: After phase completion, before next phase
- Route C: After milestone completion, before archiving
Users can now easily run manual acceptance testing at any completion point.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- GSD-compliant XML structure with terse step names
- All user interaction via AskUserQuestion
- Issues logged to phase-scoped file (not global ISSUES.md)
- References uat-issues.md template
- Rewrite offer_next step in execute-phase.md as mandatory verification gate
- Rewrite offer_next_phase step in transition.md with explicit verification
- Rewrite route step in progress.md with numbered verification steps
- Replace broken regex [0-9] (only matched single digits) with ROADMAP.md reading
- Add decision tables mapping conditions to explicit routes (A, B, C, D)
- Require Claude to "State the counts" before any routing decision
- Add "Do NOT skip this verification" instruction to prevent premature completion claims
Fixes issue where Claude would declare "phase complete" or "milestone complete"
without verifying remaining plans actually exist.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Each phase workflow now commits its artifacts immediately:
- discuss-phase.md commits CONTEXT.md
- research-phase.md commits RESEARCH.md
- plan-phase.md commits PLAN.md (and DISCOVERY.md)
- execute-phase.md commits only execution artifacts (SUMMARY, STATE, ROADMAP)
Planning artifacts are inputs to execution and should be saved when created.
Execution artifacts are outputs and are committed after execution completes.
Closes#12
- Add MILESTONE-CONTEXT.md template for handoff between commands
- discuss-milestone now writes context to .planning/MILESTONE-CONTEXT.md
- create-milestone reads context file and deletes after use
Fixes#11🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>