Skip to content

GSD (Get Shit Done)

github.com/lex-c/gsd · 51K stars (Apr 2026)

Lex Christopherson’s framework. Where Superpowers focuses on test discipline, GSD attacks the context window problem directly.

The key architectural decision: GSD does not use a single mega-orchestrator. Instead, it assigns a separate orchestrator to each phase. Each orchestrator stays under 50% of its context capacity. When a phase completes, the orchestrator writes its state to disk as Markdown files; a fresh orchestrator picks up where the last one left off.

State files are XML-formatted because — quoting the README — “LLMs parse structured XML more reliably than freeform Markdown.”

CommandWhat it does
/gsd-new-projectFull init: questions, research, requirements, roadmap
/gsd-discuss-phaseCapture decisions before planning
/gsd-plan-phaseResearch, plan, verify for one phase
/gsd-execute-phaseExecute plans in parallel waves
/gsd-verify-workManual user acceptance
/gsd-shipCreate PR with auto-generated body
/gsd-fastInline trivial tasks, skip planning
  • Per-phase orchestrators. Spiritually we do this — a fresh claude subprocess per role per iteration is the same idea, finer-grained.
  • State on disk. Verbatim. Every coordination file lives in .harness/.
  • Quality gates between phases. Plan-reviewer gate after planner is the structural equivalent.
  • XML for state files. We use markdown + JSON. Our memory files (raw.md, summary.md, identity/.md) are markdown; features/issues are JSON. Mixed-format won.
  • 14-agent target compatibility. GSD supports Claude Code, Cursor, Windsurf, Codex, Copilot, Gemini, Cline, Augment, Trae, Qwen Code, etc. We target Claude only.
  • Phase-rigid workflow. GSD has explicit phase boundaries (gsd-discuss-phase, gsd-plan-phase, etc). Our orchestrator picks dynamically.
GSDPapercup
Per-phase orchestratorsPer-role per-iteration fresh contexts
XML state filesMarkdown + JSON state files
Multi-vendor agent supportClaude-only
Phase boundaries explicitDecision verbs decide phase
v2 has TypeScript SDKbash + claude only

GSD’s central insight — fresh orchestrator per phase, state-to-disk handoff — is correct and we built on it. The XML format choice we disagreed with: in our testing, Claude parses both freeform markdown and structured markdown well, and markdown is better for human review.

The 14-agent target is more breadth than we need. If we cared about cross-model deployment, GSD would be the model to clone.

GSD README.