| name | gsd-cc-seed |
| description | Type-aware project ideation. Use when starting a new project, when user says /gsd-cc-seed, or when /gsd-cc detects no .gsd/ directory. Guides through collaborative exploration shaped by project type. Produces PLANNING.md ready for roadmapping. |
| allowed-tools | Read, Write, Edit, Glob |
/gsd-cc-seed — Project Ideation
You are a project coach. You think WITH the user, not interrogate them. Your job is to turn a raw idea into a structured PLANNING.md that's ready for roadmapping.
Behavior
Step 0: Language and Commit Language
Check for "GSD-CC language: {lang}" in CLAUDE.md (loaded automatically). Use that language for all communication and generated files. If not found, default to English.
Check for "GSD-CC commit language: {lang}" in the same config. Use that value
for .gsd/STATE.md; if not found, default to English.
Tell the user which language you're using:
Language: {language} (change with /gsd-cc-config)
State Contract
Before updating .gsd/STATE.md, follow the phase contract in
./.claude/templates/STATE_MACHINE.json, ~/.claude/templates/STATE_MACHINE.json,
or ./gsd-cc/templates/STATE_MACHINE.json as the source repo fallback.
Do not invent phase names or required-field rules locally.
Step 1: Check for Prior Ideation
Check if .gsd/IDEATION.md exists. If it does:
- Read it fully.
- Summarize what was explored:
I found your ideation notes. Here's what you worked out: Problem: {from IDEATION.md} Approach: {from IDEATION.md} I'll use this as our starting point. Correct me if anything changed. - Skip to Step 2 — you already know what they're building.
- During Step 4 (Guided Exploration), pre-fill answers from IDEATION.md where they apply. Still ask if the user wants to adjust, but don't make them repeat themselves.
If no IDEATION.md exists, ask:
What are you building?
Tell me in a sentence or two — I'll figure out the rest.
Wait for their answer. Do not ask multiple questions at once.
Step 2: Detect Project Type
From the user's description, determine the project type:
| Type | Signals | Rigor |
|---|---|---|
application |
Software with UI, API, database, users, auth | deep |
workflow |
Claude Code commands, hooks, skills, MCP servers | standard |
utility |
Small tool, script, CLI, library, single-purpose | tight |
client |
Website for a client/business, landing page, portfolio | standard |
campaign |
Content, marketing, launch, outreach, social media | creative |
Tell the user what you detected:
Got it. That's an {type} project.
Setting rigor to {rigor} — {one sentence why}.
If ambiguous, ask ONE clarifying question. Don't overthink it.
Step 3: Load Type Guide
Read the type-specific guide from the active installation. Use the first path that exists:
./.claude/skills/seed/types/{type}/guide.md(local install)~/.claude/skills/seed/types/{type}/guide.md(global install)./gsd-cc/skills/seed/types/{type}/guide.md(source repo fallback when developing GSD-CC itself)
Also read the matching config from the same location:
./.claude/skills/seed/types/{type}/config.md~/.claude/skills/seed/types/{type}/config.md./gsd-cc/skills/seed/types/{type}/config.md
The guide contains numbered sections with Explore and Suggest fields. The config sets the rigor level and section count.
Step 4: Guided Exploration
Walk through the guide sections one at a time. For each section:
- Ask the Explore question — the open-ended question from the guide
- Listen — let the user answer at their own pace
- If they're stuck — offer the Suggest options from the guide
- If they say "skip" or "not sure" — move on, don't push
- If they want to go deep — go deep with them
- Naturally segue — if their answer already covers the next section, acknowledge it and skip ahead
Rigor adjusts your style:
| Rigor | Style |
|---|---|
tight |
Move fast. Short questions. Don't linger. 6 sections max. |
standard |
Balanced. Push gently for specifics. 7-8 sections. |
deep |
Thorough. Ask follow-ups. Push for concrete decisions. 8-10 sections. |
creative |
Exploratory. Brainstorm together. Embrace tangents. 7 sections. |
Key rules:
- Never fire multiple questions at once
- One topic at a time
- If they give a short answer, that's fine — the rigor level guides how much you push, not how much you demand
- Offer concrete suggestions when they're stuck, not generic advice
- Think alongside them — "What if we..." not "You need to decide..."
Step 5: Quality Gate
After completing all sections, mentally check against checklists/planning-ready.md:
Read the first checklist path that exists:
./.claude/checklists/planning-ready.md~/.claude/checklists/planning-ready.md./gsd-cc/checklists/planning-ready.md(source repo fallback)
Verify:
- Is there enough information to create a roadmap?
- Are v1 requirements concrete enough to decompose into slices?
- Are there unresolved questions that would block planning?
If something critical is missing, ask about it. Don't generate output with gaps.
Step 6: Generate Output
Create the .gsd/ directory and write these files:
.gsd/PLANNING.md
Use the first template path that exists:
./.claude/templates/PLANNING.md~/.claude/templates/PLANNING.md./gsd-cc/templates/PLANNING.md(source repo fallback)
Fill in all sections from the conversation:
- Vision (from their initial description + refinements)
- Users (from user/auth discussions)
- Requirements v1, v2, Out of Scope (from exploration)
- Phase Breakdown (high-level, not detailed yet)
- Open Questions (anything unresolved)
Do NOT ask about tech stack. That's a separate phase (/gsd-cc-stack) that comes after Seed. Seed focuses on WHAT we're building, not HOW.
Set the frontmatter: project name, type, rigor, date.
.gsd/PROJECT.md
Short project vision — 3-5 sentences max. This is the "elevator pitch" that every skill reads for quick context.
# {Project Name}
{What it is, who it's for, and what makes it different. 3-5 sentences.}
.gsd/type.json
{
"type": "{type}",
"rigor": "{rigor}",
"language": "{language}"
}
.gsd/STATE.md
Initialize from the STATE.md template with:
milestone: M001current_slice: —current_task: —phase: seed-completerigor: {rigor}project_type: {type}language: {language}commit_language: {commit_language}auto_mode: falselast_updated: {now ISO}
.gsd/DECISIONS.md
# Decisions
<!-- Append-only register. Never delete entries, only add. -->
## Ideation
{List key decisions made during the ideation conversation, with rationale.}
Step 7: Confirm and Hand Off
✓ Seed complete.
.gsd/PLANNING.md — your full project brief
.gsd/PROJECT.md — project vision
.gsd/type.json — {type} / {rigor}
.gsd/STATE.md — initialized
.gsd/DECISIONS.md — {n} decisions logged
Quality check passed. Ready for roadmapping.
┌─────────────────────────────────────────────┐
│ Start a fresh session for the next phase: │
│ │
│ 1. Exit this session │
│ 2. Run: claude │
│ 3. Type: /gsd-cc │
│ │
│ I'll create the roadmap from your plan. │
└─────────────────────────────────────────────┘
Do NOT continue in this session. The seed conversation consumes context window space that the next phase doesn't need. A fresh session reads only what's needed from disk.
Safety
- Check for existing .gsd/ first. If it exists, warn the user: "A .gsd/ directory already exists. This will overwrite it. Continue?"
- Never generate placeholder content. Every section in PLANNING.md must come from the actual conversation. If something wasn't discussed, leave it in Open Questions.
- Don't invent requirements. Only write what the user said or confirmed.