Commit Graph

151 Commits

Author SHA1 Message Date
Lex Christopherson
0c96b30901 refactor: defer phase directory creation to discuss/plan-phase
Phase directories are now created on-demand when discuss-phase or
plan-phase first touches a phase, rather than upfront by roadmapper.

Prevents duplicate folders when roadmapper names phases differently
than what discuss/plan-phase derives from the roadmap.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 00:45:48 -06:00
Lex Christopherson
acd62c0f6e feat(installer): clean install removes orphaned files
- Wipe commands/gsd/ and get-shit-done/ before copying
- Delete only gsd-*.md agents (preserves user agents)
- Add confirmation step to /gsd:update with changelog preview
- Warn users about clean install behavior before updating
2026-01-17 00:42:09 -06:00
Lex Christopherson
c54071ccb8 refactor: unify milestone flow, remove deprecated commands
Consolidate /gsd:new-milestone to mirror /gsd:new-project:
- questioning → research (optional) → requirements → roadmap

BREAKING CHANGES:
- Remove /gsd:discuss-milestone (consolidated into new-milestone)
- Remove /gsd:create-roadmap (integrated into project/milestone flows)
- Remove /gsd:define-requirements (integrated into project/milestone flows)
- Remove /gsd:research-project (integrated into project/milestone flows)

Deleted files:
- commands/gsd/{discuss-milestone,create-roadmap,define-requirements,research-project}.md
- get-shit-done/workflows/{discuss-milestone,create-roadmap,define-requirements}.md
- get-shit-done/templates/milestone-context.md

Updated references in:
- progress.md, complete-milestone.md, help.md
- complete-milestone workflow, continuation-format.md
- questioning.md, requirements.md template, SUMMARY.md template
- gsd-project-researcher.md, gsd-roadmapper.md
- README.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 00:28:41 -06:00
Lex Christopherson
54f2d5600b feat(verify-work): add offer_next section with routing templates
Add structured next-step routing consistent with other GSD commands.
Four routes: pass+continue, pass+milestone, issues+ready, issues+blocked.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 00:13:45 -06:00
Lex Christopherson
8d199427a8 fix(offer-next): remove code blocks from output templates for proper markdown rendering
Commands with <offer_next> sections were outputting backticks literally
instead of rendering them as inline code. Removed code block wrappers
and added explicit 'Output this markdown directly' instruction.

Affected: plan-phase, execute-phase, audit-milestone
2026-01-17 00:01:30 -06:00
Lex Christopherson
cfe237d439 fix(routing): recommend discuss-phase before plan-phase in all next-step suggestions
Updated routing in:
- new-project.md
- create-roadmap.md (command and workflow)
- progress.md (routes B and C)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 23:18:32 -06:00
Lex Christopherson
60ebda93b1 fix(execute-phase): recommend discuss-phase before plan-phase
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 23:17:28 -06:00
Lex Christopherson
7c60722b71 refactor(discuss-phase): domain-aware gray areas and deeper probing
- Remove useless "None — you decide" skip option
- Generate phase-specific gray areas based on domain analysis
  (UI features, CLI tools, APIs, organization tasks, etc.)
- Increase probing depth: 4 questions per area before check
- Make context.md categories flexible (emerge from discussion)
- Add CLI and organization examples to context template

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 22:44:15 -06:00
Lex Christopherson
567bdd2e2c fix: normalize phase input at command entry points
Commands accept both padded (08) and unpadded (8) phase numbers.
Normalization happens in step 1/2 before any directory lookups.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 22:17:51 -06:00
Lex Christopherson
a31f730f62 fix: phase directory matching and orphaned references
- Support both zero-padded (05-*) and unpadded (5-*) phase folders
- Delete orphaned research-subagent-prompt.md template
- Update resume-project.md to use Task tool resume parameter

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 18:48:43 -06:00
Lex Christopherson
ed533f307f refactor: consolidate milestone workflow into command
Preserve accumulated context instruction in new-milestone command.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 18:22:01 -06:00
Lex Christopherson
8251879aab refactor: remove /gsd:execute-plan command
/gsd:execute-phase handles single and multiple plans.
All references updated to use execute-phase.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 17:16:42 -06:00
Lex Christopherson
c04f568780 docs(help): update execute-phase description
Wave-based parallelization via Task tool.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 17:09:25 -06:00
Lex Christopherson
6fd95c3ce5 refactor: consolidate expertise into agents
Commands load agent expertise directly via Task tool spawning.
Thin orchestrator pattern — agents have methodology baked in.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 16:59:42 -06:00
Lex Christopherson
12373d2f2a fix(execute-phase): commit orchestrator corrections before verification
Orchestrator sometimes makes small fixes between executor completions
(missing imports, wiring fixes). These were left uncommitted. Now
checks for dirty state after all waves complete and commits if needed.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 16:33:10 -06:00
Lex Christopherson
339e0613d8 fix: consistent zero-padding and file naming across agents
- plan-phase.md: zero-pad phase number in mkdir
- roadmapper: explicit zero-padding instruction with printf
- discuss-phase workflow: use PADDED_PHASE in file paths
- planner: fix {plan}-PLAN.md -> {phase}-{plan}-PLAN.md
- researcher: fix double-path bug in git add command
- researcher: add CONTEXT.md loading from discuss-phase

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 13:17:26 -06:00
Lex Christopherson
15d4e27075 fix(next-steps): remove /gsd:research-phase from workflow suggestions
Research is now integrated into /gsd:plan-phase by default.
Remove standalone research command from "Also available" sections.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 13:14:01 -06:00
Lex Christopherson
7a451e6410 feat(statusline): show update indicator when new GSD version available
Adds SessionStart hook that checks npm in background, caches result.
Statusline shows "⬆ /gsd:update │" when update available.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 12:53:45 -06:00
Lex Christopherson
1f8c112fe2 fix: remove commit capability from project researcher agent
Researchers are always spawned in parallel (4 at once). Committing is
now exclusively handled by the orchestrator or synthesizer agent after
all researchers complete.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 11:54:37 -06:00
Lex Christopherson
daa54737cf feat: add GSD brand system for consistent UI
Add ui-brand.md reference with visual patterns:
- Stage banners with GSD ► prefix
- Checkpoint boxes (62-char width)
- Status symbols vocabulary
- Next Up routing blocks

Update orchestrators to use branded output.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 11:51:57 -06:00
Lex Christopherson
6ae0923c29 fix: add explicit roadmap approval gate before committing
- Present proposed roadmap nicely inline (table + phase details)
- Use AskUserQuestion to confirm before committing
- Options: Approve, Adjust phases, Review full file
- Loop on adjustments until user approves

Previously, roadmap was committed immediately without user review.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 11:27:51 -06:00
Lex Christopherson
1d155e978b feat: add gsd-research-synthesizer agent for SUMMARY.md creation
- Create dedicated synthesizer agent to handle research synthesis
- Move SUMMARY.md creation from main orchestrator to subagent
- Reduces main context usage (~2000+ lines of research output)
- Synthesizer reads 4 research files and produces unified summary

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 11:26:19 -06:00
Lex Christopherson
18351fe3e4 feat: unify project initialization into single /gsd:new-project flow
Consolidates 4 separate commands into one unified flow:
- /gsd:new-project now handles: questioning → research → requirements → roadmap
- Creates gsd-roadmapper agent for heavy lifting (goal-backward, coverage validation)
- Adds atomic commits after each stage for crash recovery
- Deprecates standalone research-project, define-requirements, create-roadmap
  (kept for mid-project use)

Fixes from audit:
- Add requirements quality criteria (specific, user-centric, atomic, independent)
- Add milestone context to research prompts (greenfield vs subsequent)
- Add quality gates per research dimension
- Add template references for consistent output format

Removes deprecated gsd-researcher.md (replaced by project/phase researchers)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 11:15:58 -06:00
Lex Christopherson
a7249ebe83 feat(discuss-phase): intelligent gray area analysis with scope guardrails
- Analyze phase to identify gray areas by category (UI, UX, Behavior, etc.)
- Present multi-select for user to choose which areas to discuss
- Deep-dive each selected area with focused questioning loop
- Explicit scope guardrail: clarify HOW, never expand WHAT
- Capture deferred ideas without acting on them
- Downstream awareness: CONTEXT.md feeds researcher and planner agents
- Template restructured for decisions (domain, decisions, discretion, deferred)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 10:11:17 -06:00
Lex Christopherson
2144960c6c feat: integrate research into plan-phase with specialized agents
Split gsd-researcher into two specialized agents:
- gsd-phase-researcher: tailored for phase research before planning
- gsd-project-researcher: tailored for ecosystem research before roadmap

Updated /gsd:plan-phase to auto-research before planning:
- Research runs if no RESEARCH.md exists (silent use if exists)
- --research flag forces re-research
- --skip-research flag bypasses research entirely
- Researchers commit their output

This enables single-command workflow: /gsd:plan-phase does
research → plan → verify in one orchestrated flow.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 10:10:22 -06:00
Lex Christopherson
ce10c9e6d1 docs(16-02): update success criteria with verification loop steps
- Plans created (PLANNING COMPLETE or CHECKPOINT handled)
- gsd-plan-checker spawned (unless --skip-verify)
- Verification passed OR user override OR max iterations with user decision
- User sees status between agent spawns

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 09:00:22 -06:00
Lex Christopherson
fb0ba88428 feat(16-02): add planner -> checker verification loop to plan-phase
- Steps 1-7: Validate, parse, spawn planner (existing flow)
- Step 8: Spawn gsd-plan-checker with verification_context
- Step 9: Handle checker return (passed | issues)
- Step 10: Revision loop (max 3 iterations)
- Step 11: Present final status with verification outcome

User sees ping-pong between planner and checker in main context.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 08:59:59 -06:00
Lex Christopherson
58df1ba1e1 chore(16-02): update plan-phase.md frontmatter for verification loop
- Remove context: fork (orchestrator stays in main context)
- Add --skip-verify flag to argument-hint
- Add Task tool to allowed-tools for spawning checker

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 08:58:55 -06:00
Lex Christopherson
0585752d74 refactor(15-02): /gsd:plan-phase to thin orchestrator
- Reduced from 103 to 189 lines (thin orchestrator, not workflow)
- Added agent: gsd-planner frontmatter
- Removed all workflow/reference inclusions
- Orchestrator now: validate, parse, spawn agent, handle returns
- Planning methodology delegated to gsd-planner agent
2026-01-16 07:48:16 -06:00
Lex Christopherson
d45261e36d feat(plan-phase): run in forked context
Adds context: fork and agent: general-purpose to plan-phase command.

This isolates the heavy discovery/synthesis work in a fresh 200k context
window, keeping the main conversation clean.

Removes AskUserQuestion from allowed-tools (workflow doesn't use it).
2026-01-16 07:32:38 -06:00
Lex Christopherson
7865f123ea feat(gsd): add update command with changelog display
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 18:21:02 -06:00
Lex Christopherson
a151696d30 refactor(research): inject rich context from orchestrators to agent
research-phase.md:
- Added <key_insight> framing ("what don't I know that I don't know")
- Added <downstream_consumer> explaining plan-phase integration
- Added <quality_gate> checklist

research-project.md:
- Added milestone context (greenfield vs v1.1+)
- Added <downstream_consumer> per dimension
- Added <quality_gate> per agent
- Enhanced roadmap implications guidance

gsd-researcher.md:
- Simplified <gsd_integration> to point to orchestrator-provided context
- Agent is now pure research capability, context is injected

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 17:29:50 -06:00
Lex Christopherson
411b5a369b feat(gsd): add dedicated codebase mapper agent
Reduces context exhaustion during /gsd:map-codebase by having agents
write documents directly instead of returning findings to orchestrator.

- Create gsd-codebase-mapper agent with embedded templates
- Agent understands downstream consumers (plan-phase, execute-plan)
- Parameterized by focus: tech, arch, quality, concerns
- Each focus writes specific documents directly to .planning/codebase/
- Orchestrator receives only confirmation + line counts

Context savings: ~40 lines returned vs potentially thousands of lines
of exploration findings previously transferred back to orchestrator.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 17:16:02 -06:00
Lex Christopherson
ac316e8fdd fix(new-milestone): add explicit MILESTONE-CONTEXT.md reference
The context section now includes @.planning/MILESTONE-CONTEXT.md so
Claude actually loads the file from discuss-milestone instead of just
seeing a text mention in the process steps.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 17:07:19 -06:00
Lex Christopherson
982faf16f8 refactor(14-03): convert research-project to thin orchestrator
- Command spawns 4 parallel gsd-researcher agents
- Stack, Features, Architecture, Pitfalls each get dedicated agent
- Orchestrator handles project analysis and synthesis
- Reduced from 138 + 427 workflow lines to 137 lines
2026-01-15 17:03:38 -06:00
Lex Christopherson
94f3083c78 refactor(14-02): convert /gsd:research-phase to thin orchestrator
- Reduce from ~540 lines (command + workflow) to 130 lines
- Delegate research methodology to gsd-researcher agent
- Keep phase validation, context gathering in orchestrator
- Add spawn and continuation patterns for agent
2026-01-15 17:03:18 -06:00
Lex Christopherson
81c6c75b0e refactor(13-02): rewrite /gsd:debug as thin orchestrator
- Reduced from 202 lines to 149 lines
- Removed workflow/reference loading (expertise now in agent)
- Uses subagent_type="gsd-debugger" instead of "general-purpose"
- Keeps symptom gathering and checkpoint handling in orchestrator
2026-01-15 16:19:59 -06:00
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
8c66a7167a perf(verify-work): batch UAT file writes instead of per-response
Write to file only on: issue found, every 5 passes, or completion.
Eliminates wasteful I/O while maintaining reasonable crash recovery.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 15:24:25 -06:00
Lex Christopherson
794e08412b fix(new-milestone): present research as equal option in routing
Match new-project format — both research-project and define-requirements
shown as equal paths with guidance on when to use each.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 13:10:10 -06:00
Lex Christopherson
d1c1c1790a fix(progress): add Route F for between-milestones state
When ROADMAP.md is missing but PROJECT.md exists (after complete-milestone),
progress now correctly routes to /gsd:discuss-milestone instead of suggesting
new-project.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 13:01:54 -06:00
Lex Christopherson
60070b9b7a fix(audit): version MILESTONE-AUDIT.md and archive on completion
- audit-milestone: create v{version}-MILESTONE-AUDIT.md (versioned)
- complete-milestone: move audit file to milestones/ archive
- plan-milestone-gaps: find versioned audit file

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 13:00:12 -06:00
Lex Christopherson
2d3a1eadda refactor(milestone): rework milestone cycle for proper requirements flow
- complete-milestone: archive + delete ROADMAP.md and REQUIREMENTS.md
- new-milestone: brownfield new-project (updates PROJECT.md, routes to requirements)
- discuss-milestone: now required before new-milestone (creates context file)
- research-project: milestone-aware (focuses on new features, not validated ones)
- create-roadmap: continues phase numbering from previous milestone

Flow: complete → discuss → new-milestone → research → requirements → roadmap

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 12:57:33 -06:00
Lex Christopherson
70cfd76c21 fix(execute-phase): include VERIFICATION.md in phase completion commit
Phase completion commit now stages VERIFICATION.md alongside ROADMAP.md,
STATE.md, and REQUIREMENTS.md so verification results are tracked.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 11:35:53 -06:00
Lex Christopherson
7b62452200 refactor(audit-milestone): read existing verifications instead of re-verifying
Milestone audit now reads existing VERIFICATION.md files from phases
(already created during execute-phase) rather than spawning verifiers
again. Aggregates tech debt and deferred gaps, then runs integration
checker for cross-phase wiring. Adds tech_debt status for non-blocking
accumulated debt.

Also adds VERIFICATION.md to phase completion commit in execute-phase.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 11:34:43 -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
b150254e63 style(checkpoints): update command and workflow to match new format
Sync execute-plan command and workflow with improved checkpoint display:
- Box header with ╔═══╗ for visual prominence
- Progress indicator at top
- Separator line before unmissable "→ YOUR ACTION:" prompt

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 11:11:36 -06:00
Lex Christopherson
f3e0e69ce6 refactor(audit-milestone): command is orchestrator, not subagent
Subagents can't spawn subagents. The command itself orchestrates:
- Wave 1: Spawn gsd-verifier per phase (parallel)
- Wave 2: Spawn gsd-integration-checker
- Aggregate results into MILESTONE-AUDIT.md

Remove gsd-milestone-auditor agent (command does this now).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 10:56:26 -06:00
Lex Christopherson
6b4f73efd8 fix(execute-phase): recommend audit-milestone when milestone completes
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 10:54:03 -06:00
Lex Christopherson
6630c3217d feat(milestone): add milestone audit system
- Add /gsd:audit-milestone command (spawns auditor)
- Add gsd-milestone-auditor agent (orchestrates verification)
- Add gsd-integration-checker agent (cross-phase wiring + E2E flows)
- Add /gsd:plan-milestone-gaps command (creates phases from audit gaps)
- Update complete-milestone to recommend audit first

Flow: audit-milestone → plan-milestone-gaps → execute phases → re-audit → complete-milestone

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 10:50:58 -06:00