Skip to content

Upfront vs GSD

Both Upfront and GSD enforce structure on AI-assisted development. Both believe specs beat vibe coding. But they solve different problems and make different tradeoffs.

UpfrontGSD
Core betProtect human thinking and judgmentMaximize autonomous execution with persistent context
Planning modelHuman-driven with AI challengeAI-driven with human checkpoints
Context strategyThinking records in specs, crash recovery from git.planning/ directory with STATE.md, CONTEXT.md per phase
Autonomous modeBuilding can be autonomous, but thinking and planning require a humanYes — /gsd:autonomous runs all phases unattended
Feature definition4-phase adversarial conversationdiscuss-phase with targeted questions (or --auto)
PlanningArchitecture deep-dive, ~400 LOC phases, reviewability scoringResearch + plan with Nyquist verification (every task has automated verify)
BuildingTDD, fresh subagent per phase, red team, human reviewWave-based parallel subagents, conversational UAT
VerificationRequirements traceability (R1-Rn), verify commands defined in plan, TDD, code review, red team, integration sweep with coverage checkNyquist validation (every task has an automated verify command)
Project scopeFeature-level (with /upfront:vision for bigger)Project-level (milestones, roadmaps, requirements traceability)
Session persistence/upfront:pause + /upfront:resume with HANDOFF.mdSTATE.md + CONTEXT.md survive context resets automatically
Audit trailJSONL thinking records with remote flushNone
Config protectionBlocks AI from weakening linter rulesNone
Multi-runtimeClaude Code onlyClaude Code + 7 other runtimes
LicenseAGPL-3.0Check repo
  • Autonomous execution/gsd:autonomous can run an entire project from discuss through ship without human intervention. Upfront requires human engagement at every phase by design.
  • Context engineering — GSD’s .planning/ directory is a sophisticated persistence layer. STATE.md, CONTEXT.md, REQUIREMENTS.md, and ROADMAP.md survive context resets. Upfront relies on specs/ files and git history.
  • Project-level orchestration — milestones, roadmaps, requirements traceability, phase auditing. GSD manages an entire project lifecycle. Upfront is feature-focused (with /upfront:vision as an optional strategic layer).
  • Nyquist verification — every task must have an automated verify command. This is a stronger guarantee than Upfront’s post-phase review.
  • Multi-runtime — works with Claude Code, OpenCode, Gemini, Codex, Copilot, Cursor, Windsurf. Upfront is Claude Code only.
  • Parallel execution — wave-based subagent execution runs independent tasks concurrently.
  • Verification with traceability — like GSD’s Nyquist, every phase has verify commands defined in the plan. But Upfront adds requirements traceability: requirements get stable IDs (R1-Rn) in the spec, plan phases declare which requirements they deliver, and the integration sweep checks that every requirement was covered. You can trace from intent through to delivery.
  • Human engagement — Upfront’s core design is adversarial. The AI asks open questions, waits for your answer, then fills gaps. GSD’s --auto mode explicitly minimizes human interaction. If you believe skill atrophy is the real risk, Upfront forces the exercise that prevents it.
  • Reviewability — scores changes on 5 dimensions and pushes back if a change is too complex for meaningful human review. GSD doesn’t gate on reviewability.
  • Thinking records — every phase produces a structured audit trail: what was decided, why, what was rejected, what was skipped. Captures reasoning, not just conclusions. Flushable to Langfuse, Arize Phoenix, etc.
  • Strategic planning/upfront:vision uses Rumelt’s kernel (diagnosis, guiding policies, coherent actions) for multi-feature ambitions. /upfront:increment forces structured retros between increments with kill criteria. GSD has milestones but not an opinionated strategic framework.
  • Security guardrails/upfront:plan audits for missing security tooling (linters, type checkers, vulnerability scanners, secret detection, slopsquatting protection) and pushes for installation as Phase 0 before feature code. Config protection hook blocks the AI from weakening rules once installed.
  • Architecture as a living document/upfront:plan checks if ARCHITECTURE.md is stale, actively compares it to the codebase, and updates before planning. /upfront:architect does full structural reviews. Architecture is revisited regularly, not written once and forgotten.
  • Simplicity — 20 skills, zero dependencies, Go stdlib binary. No .planning/ directory structure to learn, no STATE.md format to understand.

GSD asks: “How do I get the AI to ship reliably at scale?”

Upfront asks: “How do I keep the human sharp while the AI ships?”

GSD is built for throughput — autonomous execution, parallel subagents, minimal human interruption. Upfront is built for judgment — adversarial questioning, forced thinking, audit trails that prove real reasoning happened.

If your bottleneck is getting code out the door reliably, GSD is the better fit. If your concern is that your team is losing the ability to think critically about what they’re building, Upfront addresses that directly.

Terminal window
claude plugin marketplace add ThinkUpfront/Upfront
claude plugin install upfront