Commit Graph

34 Commits

Author SHA1 Message Date
Lex Christopherson
2869fee206 refactor(verify-work): consolidate plan-fix into plan-phase --gaps
Unify gap handling - whether discovered by code verification or user
testing, gaps feed into the same plan-phase --gaps workflow.

Changes:
- Delete commands/gsd/plan-fix.md (redundant)
- Update verify-work to route to plan-phase --gaps
- Update progress Route E to detect UAT gaps
- Change UAT.md "Issues" section to "Gaps" with YAML format
- Extend plan-phase --gaps to read from both VERIFICATION.md and UAT.md
- Update diagnose-issues to output gaps in YAML format
- Update all references (debug, templates, workflows)

One path: gap discovered → diagnosed → plan-phase --gaps → fixed

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 15:40:18 -06:00
Lex Christopherson
0960882012 fix(plan-phase): always route to execute-phase regardless of plan count
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 14:37:34 -06:00
Lex Christopherson
1325d3077d refactor: remove domain expertise feature
The ~/.claude/skills/expertise/ system was personal tooling
that doesn't exist for other users. Removed from:
- create-roadmap workflow (detect_domain step)
- plan-phase workflow (domain loading)
- roadmap template (Domain Expertise section)
- phase-prompt template (domain frontmatter)
- plan-format reference (domain field)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 11:22:39 -06:00
Lex Christopherson
8e6ad96af1 feat(verification): add verify → plan → execute loop for gap closure
- Add verify_phase_goal step to execute-phase workflow
- Verifier outputs structured gaps: YAML for planner consumption
- Add --gaps flag to plan-phase for gap closure mode
- Route by verification status: passed, gaps_found, human_needed
- Gap closure creates sequential plans (04, 05...) from verification gaps
- User stays in control at each decision point

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 10:34:38 -06:00
Lex Christopherson
87909f97ae feat: enhance roadmap and planning workflows
- create-roadmap: improved phase structuring and requirements tracing
- plan-phase: better task decomposition and wave assignment
- roadmap.md template: cleaner format
- phase-prompt.md template: structured planning prompt

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-15 09:34:48 -06:00
Lex Christopherson
4da80d64a6 feat(gsd): add USER-SETUP.md for external service configuration
Problem: Phases introducing external services (Stripe, SendGrid, etc.) complete
successfully but user doesn't know about required env vars and dashboard config
until runtime failures occur.

Solution: Explicit declaration at planning time, enforced at execution time.

Changes:
- New template: user-setup.md - defines USER-SETUP.md structure
- phase-prompt.md: add user_setup frontmatter field
- plan-phase.md: add user setup detection guidance in break_into_tasks step
- execute-plan.md: add generate_user_setup step, surface in offer_next
- summary.md: add "User Setup Required" section

Flow:
1. Planning: Claude identifies external services, declares in user_setup frontmatter
2. Execution: After tasks complete, generates {phase}-USER-SETUP.md
3. Completion: Warning block prominently shows required setup before next steps

Automation-first rule: USER-SETUP.md contains ONLY what Claude cannot automate
(account creation, secret retrieval, dashboard config). Everything else Claude does.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 13:38:20 -06:00
Lex Christopherson
62f12794dd chore: remove dead ISSUES.md system
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>
2026-01-14 12:33:18 -06:00
Lex Christopherson
d30893a834 feat: pre-compute wave numbers at plan time
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>
2026-01-13 18:10:20 -06:00
Lex Christopherson
9e70b89ca1 docs(plan-phase): restore TDD reasoning explanation
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>
2026-01-13 17:07:29 -06:00
Lex Christopherson
e5d4ecc28c feat: parallel-first planning with dependency graphs and checkpoint-resume
- plan-phase.md: dependency-first planning, vertical slices default
- phase-prompt.md: autonomous field, wave structure, frontmatter table
- scope-estimation.md: parallel default, removed "parallel-aware" framing
- plan-format.md: frontmatter docs with depends_on, files_modified, autonomous
- execute-phase.md: checkpoint-resume flow using Task resume parameter

Plans now declare explicit dependencies via frontmatter. Wave assignment
is automatic based on depends_on + files_modified. Checkpoints pause
subagent, return to orchestrator, user responds, orchestrator resumes.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 16:32:03 -06:00
Lex Christopherson
755b28e644 refactor(10): simplify plan frontmatter for parallelization
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>
2026-01-12 14:55:40 -06:00
Lex Christopherson
c163004a15 feat(plan-phase): suggest execute-phase when multiple plans created
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>
2026-01-12 14:40:36 -06:00
Lex Christopherson
31a77ae141 feat(11-02): add parallelization frontmatter to write_phase_prompt
- Include parallelizable, depends_on, files_exclusive in frontmatter
- Rules for parallelizable field determination
- Parallel-aware context section guidance
- Avoid reflexive SUMMARY references when parallel
2026-01-12 14:14:17 -06:00
Lex Christopherson
082c68960f feat(11-02): add parallelization_aware step to plan-phase
- File ownership analysis per task group
- Detect unnecessary inter-plan dependencies
- Restructure for vertical slices when beneficial
- Mark plans with parallelization frontmatter values
2026-01-12 14:13:34 -06:00
Lex Christopherson
8e67241e73 feat(11-01): add read_parallelization_config step to plan-phase workflow
- 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
2026-01-12 14:08:19 -06:00
Lex Christopherson
4ea054b9f6 docs(10-01): update documentation mentions to execute-plan.md
- commands/gsd/resume-task.md: infrastructure mention
- get-shit-done/workflows/plan-phase.md: execution context reference
- get-shit-done/templates/agent-history.md: 2 workflow mentions
- get-shit-done/templates/summary.md: 3 workflow mentions
- get-shit-done/templates/codebase/structure.md: example workflow
2026-01-12 12:45:45 -06:00
Lex Christopherson
810409c363 feat(plan-phase): add planning principles for security, performance, observability
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>
2026-01-08 12:23:37 -06:00
Lex Christopherson
1b9c2f2455 fix: commit phase artifacts when created (#12)
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
2026-01-06 12:12:21 -06:00
Lex Christopherson
85f0ea5c58 feat: TDD features use dedicated plans for full context quality
TDD requires 2-3 execution cycles (RED → GREEN → REFACTOR), each with
file reads, test runs, and potential debugging. This consumes 40-50%
of context for a single feature. Dedicated TDD plans ensure full
quality throughout the cycle.

- TDD plans use `type: tdd` frontmatter with `<feature>` element
- One feature per TDD plan (batching defeats the purpose)
- Target ~40% context usage for TDD plans
- Standard plans handle non-TDD work with 2-3 tasks

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 21:55:36 -06:00
Lex Christopherson
b26cbe69d0 feat(06-02): Intelligent context assembly via frontmatter dependency graph
- Replaced vague summary scanning with frontmatter-based intelligent selection
- Build dependency graph from requires/provides/affects with transitive closure
- Auto-select 2-4 relevant phases via affects field, subsystem matching, requires chains
- Extract context from frontmatter before reading full summaries
- Inject assembled context package into PLAN.md automatically

Planning transformed: "Claude guesses" → "System assembles optimal context"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-05 09:45:26 -06:00
Lex Christopherson
35739c84de fix: clarify depth controls compression, not inflation
Depth sets a ceiling on compression, not a floor on expansion.
Small phases stay small even in comprehensive mode.

- Comprehensive auth = 8 plans (work warrants it)
- Comprehensive "add favicon" = 1 plan (that's all it is)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 20:07:22 -06:00
Lex Christopherson
484134e63c feat: add depth parameter for planning thoroughness
Adds depth setting (quick/standard/comprehensive) to control how many
phases and plans get created. Tasks per plan stays constant at 2-3.

- Quick: 3-5 phases, 1-3 plans each
- Standard: 5-8 phases, 3-5 plans each
- Comprehensive: 8-12 phases, 5-10 plans each

Depth increases plan COUNT, never plan SIZE. More plans = more
thoroughness with same quality per plan.

Files changed:
- new-project.md: depth question after mode
- config.json: depth field added
- create-roadmap.md: depth-aware phase guidance
- plan-phase.md: depth-aware plan splitting
- scope-estimation.md: depth calibration section
- create-milestone.md: removed hardcoded 3-6 limit
- new-milestone.md: removed hardcoded 3-6 limit
- roadmap.md template: depth-aware guidance

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 18:31:59 -06:00
Lex Christopherson
5390b33bd2 feat(05-tdd): TDD integration with detection, annotation, and execution flow
- Add references/tdd.md with detection heuristics, red-green-refactor cycle
- Add tdd_annotation section to plan-format.md with task structure
- Expand plan-phase.md with TDD detection and annotation guidance
- Add tdd_execution section to execute-phase.md with commit patterns
- TDD-aware task routing in execute step

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 11:40:56 -06:00
Lex Christopherson
86878b9721 fix: restore deterministic bash commands, remove redundant decision_gate
- Remove decision_gate step (redundant after confirm_breakdown approval)
- Restore explicit bash commands in load_codebase_context, identify_phase,
  read_project_history, and gather_phase_context for consistent behavior

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 13:39:00 -06:00
Lex Christopherson
df1f138478 feat(04-02): 70% context reduction for plan-phase (scope-estimation 74%, plan-phase.md 66%)
- scope-estimation.md: 451 → 115 lines (removed ASCII art, collapsed anti-patterns)
- plan-phase.md workflow: 864 → 290 lines (condensed discovery tree, removed verbose examples)
- Total Phase 4 context reduction: 101KB → 30KB (exceeds 37% target)
2025-12-29 12:18:08 -06:00
Lex Christopherson
c3273a50c1 fix: use inline code for Next Up commands (avoids nesting ambiguity) 2025-12-17 13:03:48 -06:00
Lex Christopherson
8d2f307451 feat(03-01): brownfield integration into GSD workflows
- new-project.md detects existing code, offers /gsd:map-codebase first
- plan-phase loads relevant codebase context based on phase type
- execute-phase updates codebase map incrementally after execution

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 10:37:57 -06:00
Lex Christopherson
733fc1440c feat: improved continuation UI with context and visual hierarchy
- Add continuation-format.md reference defining the standard format
- Replace "## To Continue" with "## ▶ Next Up"
- Show plan/phase name + description instead of just command paths
- Add `/clear` explanation: "fresh context window"
- Change "Other options" to "Also available"
- Add /gsd:research-phase to phase planning options
- Add visual separators and completion headers

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 09:00:18 -06:00
Lex Christopherson
d45fbd845d fix: replace inline command invocation with clear-then-paste pattern
End-of-command workflows now show explicit instructions to run /clear
and paste the next command, rather than offering numbered options that
invoke SlashCommand directly. This prevents users from accidentally
exhausting context by continuing work in the same session.

- Updated 16 files (commands and workflows)
- YOLO mode auto-continues preserved (user explicitly chose automation)
- In-workflow decisions like consider-issues preserved

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 09:33:51 -06:00
Lex Christopherson
b4de126ade fix: update stale CONTEXT.md references to new vision structure
plan-phase, execute-phase, resume-project now reference:
- <vision> instead of <phase_objectives>
- <essential> instead of <constraints>/<risks>
- <boundaries> instead of <success_indicators>

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 08:19:24 -06:00
Lex Christopherson
46d63991dd fix: yolo mode now skips confirmation gates in plan-phase
Restructured confirm_breakdown and decision_gate steps to check
mode FIRST with explicit skip instructions, preventing Claude from
reading through and executing the prompting path regardless of config.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 23:08:04 -06:00
Lex Christopherson
e8d68685c1 feat(gsd): add research-phase for niche domain ecosystem discovery
- Add /gsd:research-phase command for comprehensive ecosystem research
- Rename FINDINGS.md → DISCOVERY.md for clarity
- Rename research-phase.md → discovery-phase.md (shallow "which library")
- New research-phase.md for deep "how experts build this" research
- Creates RESEARCH.md with stack, patterns, pitfalls, don't-hand-roll
- plan-phase loads RESEARCH.md when present

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 18:15:22 -06:00
Lex Christopherson
b8879c6253 Add TDD guidance to planning workflow
- New <test_driven_when_beneficial> principle in references/principles.md
- TDD assessment step in plan-phase.md break_into_tasks
- Pragmatic approach: use TDD when behavior is definable upfront

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 10:15:59 -06:00
Lex Christopherson
1fe3fa427e Initial commit: Get Shit Done - meta-prompting system for Claude Code
- NPX install: npx get-shit-done-cc
- Slash commands for project management
- Context engineering templates and workflows

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 07:44:41 -06:00