Advanced GSD Usage

This page goes beyond the basics. You'll find the complete command reference organized by frequency tier, strategies for kicking off projects effectively, deep insights into the discuss phase, advanced tips for power users, and common gotchas to avoid.

The Core Lifecycle

The standard GSD flow follows a repeatable cycle. Understanding this loop is foundational to using GSD effectively:

Bash
/gsd:new-project
/gsd:discuss-phase N
/gsd:plan-phase N
/gsd:execute-phase N
/gsd:verify-work N
# Repeat for each phase
/gsd:complete-milestone
/gsd:new-milestone

Project Kickoff Best Practices

How you start a project shapes everything downstream. These strategies help GSD understand your codebase and vision from the beginning.

For Existing Codebases: Always map-codebase First

This is the single biggest mistake people make — jumping straight to /gsd:new-project on a brownfield project. Running /gsd:map-codebase first spawns parallel agents to analyze your stack, architecture, conventions, and concerns. Then /gsd:new-project knows your codebase — questions focus on what you're adding, and planning automatically loads your patterns.

This creates a suite of documents in .planning/codebase/: STACK.md (languages, frameworks, dependencies), ARCHITECTURE.md (patterns, layers, data flow), STRUCTURE.md (directory layout, key files), CONVENTIONS.md (coding standards, naming), TESTING.md (test setup, patterns), INTEGRATIONS.md (external services, APIs), and CONCERNS.md (tech debt, known issues).

Prompting During new-project

This is where most people leave quality on the table. The system asks you questions until it understands your idea, but how you answer matters enormously.

Tips for better project initialization prompts:

  • Be opinionated about tech choices upfront. Don't say "whatever framework works best." Say "I want Next.js 14 with App Router, Tailwind, Drizzle ORM, and Postgres." The more specific you are about stack preferences, the less the system has to guess.
  • State anti-goals explicitly. "No SSR for the dashboard — it should be fully client-side." "No Redux — use Zustand or React context." Anti-goals constrain the solution space and prevent Claude from defaulting to the most common pattern.
  • Describe the user, not just the feature. Instead of "add authentication," say "solo creators who hate friction — magic link auth, no passwords, remember device for 30 days." This flows into CONTEXT.md and shapes every implementation decision.
  • Name your v2 explicitly. GSD separates v1 from v2 requirements. If you don't name things as v2, they'll creep into v1 scope and bloat your roadmap.

The Discuss Phase Advantage

/gsd:discuss-phase N is where most people either skip or give shallow answers. Your roadmap has a sentence or two per phase. That's not enough context to build something the way you imagine it. This step captures your preferences before anything gets researched or planned.

The system analyzes the phase and identifies gray areas based on what's being built — visual features get layout/density/interaction questions, APIs get response format/error handling questions, content systems get structure/tone questions.

The output of this step, CONTEXT.md, feeds directly into both the researcher and planner. The deeper you go here, the more the system builds what you actually want. Skip it and you get reasonable defaults. Use it and you get your vision.

Command Reference

GSD includes 35+ commands organized by how frequently you'll use them. Here's the complete reference by frequency tier.

Core Workflow Commands

These are the commands you'll use in every project following the standard lifecycle.

Command Purpose
/gsd:new-project Initialize a new GSD project with questioning and planning
/gsd:map-codebase Analyze existing codebase structure, patterns, and conventions
/gsd:discuss-phase Capture requirements and preferences before planning a phase
/gsd:plan-phase Create detailed execution plans for a specific phase
/gsd:execute-phase Run plans autonomously with atomic commits and checkpoints
/gsd:verify-work Verify implementation matches requirements and identify gaps
/gsd:complete-milestone Finalize current milestone and prepare for next version
/gsd:new-milestone Plan next milestone based on v2 requirements or new features

Power User Commands

These commands handle edge cases, debugging, and workflow customization.

Command Purpose
/gsd:quick Fast-track simple tasks without full planning workflow
/gsd:consider-issues Review deferred issues with codebase context
/gsd:insert-phase Insert urgent work as decimal phase between existing phases
/gsd:add-phase Add phase to end of current milestone roadmap
/gsd:debug Spawn debugger agent with scientific debugging methodology
/gsd:progress Show current position and suggest next command
/gsd:settings Configure model profiles, workflow toggles, and branching

Edge Case and Utility Commands

Edge Case and Utility Commands

These commands solve specific problems you'll encounter less frequently.

Command Purpose
/gsd:check-todos Scan codebase for TODO comments and organize them
/gsd:audit-milestone Check all phases for cross-phase architectural issues
/gsd:reapply-patches Restore local customizations after GSD update
/gsd:whats-new Show changes since your installed GSD version

Power User Command Details

Let's dive deeper into the power user commands that unlock advanced workflows.

/gsd:quick — The Fast Lane

For ad-hoc tasks that don't need full planning. Quick mode gives you GSD guarantees (atomic commits, state tracking) with a faster path — same agents, skips optional steps like research and plan checker, and uses separate tracking in .planning/quick/.

Use this for bug fixes, config changes, small features, and one-off tasks. Don't force everything through the full phase lifecycle.

/gsd:consider-issues

This command reviews deferred issues with codebase context, closes resolved ones, and identifies urgent ones. During development, things get logged to ISSUES.md — deferred enhancements, edge cases noticed during execution, technical debt. This command revisits them intelligently rather than letting them rot.

/gsd:insert-phase

Inserts urgent work as a decimal phase between existing phases — for example, creating phase 7.1 between phases 7 and 8. Useful for discovered work that must happen mid-milestone. This is the escape hatch for when you realize mid-build that something critical was missed without blowing up your entire roadmap.

/gsd:add-phase

Adds a phase to the end of the current milestone in the roadmap. Use this when scope grows but it's genuinely v1 work, not v2 creep.

/gsd:debug

Spawns a debugger agent with scientific debugging methodology, hypothesis testing, and 7+ investigation techniques. Instead of manually poking around when something fails, this gives you a structured investigation.

/gsd:progress

Your session-resumption command. When you come back to a project after closing Claude Code, this tells GSD where you left off and what to do next. Way better than trying to remember which phase you were on.

/gsd:settings

GSD stores project settings in .planning/config.json. You can configure during /gsd:new-project or update later with /gsd:settings. Key things you can toggle:

  • Model profiles — Control which Claude model each agent uses. Balance quality vs token spend.
  • Workflow toggles — Enable/disable plan_check, research, and other optional agents that add quality but cost tokens.
  • Branch modes — Control how GSD handles branches during execution.
  • Parallelization — Control wave-based parallel execution.

Advanced Tips and Tricks

These power-user techniques help you get more out of GSD and avoid common friction points.

Run with --dangerously-skip-permissions

GSD is designed for frictionless automation. Stopping to approve date and git commit 50 times defeats the purpose. If you're not comfortable with that, use the granular permissions config from the README.

Gap Closure After Verification

When /gsd:verify-work finds issues, don't manually debug. You can use the gap closure workflow to systematically fix verification failures:

Bash
# Create fix plans for verification gaps
/gsd:plan-phase N --gaps

# Execute only gap closure plans
/gsd:execute-phase N --gaps-only

# Re-verify implementation
/gsd:verify-work N

/clear Does Not Lose State

State is preserved in .planning/ files. You can /clear and resume with the next command, for example /gsd:execute-phase 3. Use /clear aggressively when your context window is getting full. This is actually part of GSD's core design — the whole point is that agents get fresh 200k token contexts.

The XML Task Structure

Every GSD plan uses structured XML that Claude parses extremely well. Each task specifies the type, name, files involved, action instructions, verification steps, and done criteria. If you ever need to write a manual plan or tweak one, follow this format — it's not arbitrary, it's optimized for Claude's attention patterns.

Protect Your Secrets

Add sensitive files to Claude Code's deny list in settings.json to prevent Claude from reading them entirely:

JSON
{
  "denylist": [
    "Read(.env)",
    "Read(.env.*)",
    "Read(**/secrets/*)",
    "Read(**/*.pem)",
    "Read(**/*.key)"
  ]
}

Context Budget Awareness

The reason GSD works is context engineering. Orchestrators maintain 10-15% context usage while coordinating complex multi-agent workflows. The main session stays responsive even during hours-long phase execution. Each subagent gets a fresh 200k token window. If you're doing things outside GSD's commands in the same session, you're eating into orchestrator context — keep manual exploration minimal during execution.

Common Gotchas

Watch out for these common issues that trip up even experienced GSD users.

The bottom line: GSD's power is in treating Claude Code as a managed development system rather than a chatbot. The more structure you feed in (especially during discuss phases and project init), the better the output. And reach for the utility commands — they exist because the creator hit the same walls you will.