GSD (Get Shit Done)
github.com/lex-c/gsd · 51K stars (Apr 2026)
What it is
Section titled “What it is”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.”
Core commands
Section titled “Core commands”| Command | What it does |
|---|---|
/gsd-new-project | Full init: questions, research, requirements, roadmap |
/gsd-discuss-phase | Capture decisions before planning |
/gsd-plan-phase | Research, plan, verify for one phase |
/gsd-execute-phase | Execute plans in parallel waves |
/gsd-verify-work | Manual user acceptance |
/gsd-ship | Create PR with auto-generated body |
/gsd-fast | Inline trivial tasks, skip planning |
What we kept
Section titled “What we kept”- Per-phase orchestrators. Spiritually we do this — a fresh
claudesubprocess 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.
What we dropped
Section titled “What we dropped”- 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.
Differences in philosophy
Section titled “Differences in philosophy”| GSD | Papercup |
|---|---|
| Per-phase orchestrators | Per-role per-iteration fresh contexts |
| XML state files | Markdown + JSON state files |
| Multi-vendor agent support | Claude-only |
| Phase boundaries explicit | Decision verbs decide phase |
| v2 has TypeScript SDK | bash + claude only |
Honest take
Section titled “Honest take”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.