GSD-Lite: A State Machine for Claude Code That Enforces TDD and Prevents Test Skipping

GSD-Lite is an open-source MCP server that bolts onto Claude Code and runs projects through a 12-state workflow machine. The tool is MIT licensed and consists of about 15 source files total.
How It Works
After planning what to build in conversation with Claude, GSD-Lite takes over automatically: write code, review it, verify it, advance to the next phase. The execution loop follows this pattern:
- Orchestrator picks next task
- Executor writes code (TDD, checkpoint)
- Reviewer checks (separate context, spec + quality)
- Accept? Next task. Reject? Rework.
- All tasks done? Phase gate check
- Gate passes? Next phase
- All phases done? You're done
Key Features
TDD Enforcement: The "Iron Law" is baked into every task dispatch: no production code without a failing test first. The prompt lists exact rationalizations Claude uses to skip tests ("This is just a config change," "The existing tests already cover this") and flags them as known excuses.
Separate Agent Contexts: Reviews run in a separate agent context where the reviewer never sees the executor's reasoning—only the diff and task spec. This prevents rubber-stamping and helps catch real bugs.
Debugger Agent: When a task fails 3 times, instead of another retry, a debugger agent gets dispatched. This separate agent reproduces the failure, forms hypotheses, tests them, identifies where the fix should go, then provides findings to the executor.
Dependency Tracking: If one task changes an API signature, anything downstream gets invalidated and re-queued automatically.
Technical Details
The system uses 6 commands, 4 agents, and 11 MCP tools. State is managed in one JSON file with schema validation and version conflicts handled via optimistic concurrency.
Why Not the Original Version
The first version had 32 commands, 12 agents, over 100 source files, and a 2400-line installer. The author threw it away and rewrote from scratch because most of that complexity was burning context window without providing value.
Unexpected Findings
The anti-rationalization approach works—listing specific phrases Claude uses to skip steps directly in the agent prompt reduced the skip rate. The author notes that negative examples seem to steer the model better than just saying "always write tests." Session persistence was the hardest implementation challenge.
📖 Read the full source: r/ClaudeAI
👀 See Also

MCP server connects AI agents to existing Chrome sessions with cookies and auth
@playwright-repl/mcp is an MCP server that connects AI agents to your existing Chrome browser via the Dramaturg extension, providing access to your real browser session including cookies and authentication. It supports full Playwright JavaScript, assertions, and works with Claude Desktop, Claude Code, Cursor, or any MCP client.

Nakkas MCP Server Generates Animated SVGs from AI Descriptions
Nakkas is an MCP server where AI constructs complete animated SVG configurations from descriptions, rendering clean animated SVGs with shapes, gradients, animations, and filters. It supports parametric curves, 15 filter presets, CSS @keyframes and SMIL animations, and works anywhere SVG renders.

NotebookLM MCP Structured: Free Server Connects Claude to NotebookLM with Automatic Prompt Structuring
A free MCP server called NotebookLM MCP Structured connects Claude Desktop to NotebookLM notebooks with automatic prompt structuring. The server restructures queries based on type (comparison, list, analysis, explanation, or extraction) and adds completeness checks and fidelity constraints.

Testreel: Programmatic Demo Video Generation with Claude Code
Testreel is an npm package that generates polished product demo videos from JSON, YAML, or Playwright interaction descriptions. It creates webm/mp4/gif videos with cursor overlays, click ripples, and gradient backgrounds.