Idea Griller
Overview
Pressure-test a raw idea through Socratic questioning. One question per turn, each built from the user's last answer. Output is .forge/idea-brief.md — a structured brief that lets spec-driven-development skip discovery and go straight to requirements.
When to Use
- User describes a new idea, project, or feature they haven't fully thought through
- User wants to stress-test assumptions before writing a spec
- Idea is vague, contradictory, or needs a sharper scope
When NOT to Use
.forge/prd.md already exists — the idea is past this stage
- User is reporting a bug — use
debugging-and-recovery
- Idea is already well-specified with named users, clear scope, and a distribution plan
Common Rationalizations
| Thought |
Reality |
| "The idea is obvious, let's skip to the spec" |
Obvious ideas carry the most unchecked assumptions |
| "The user knows what they want" |
They know symptoms — root cause is often different |
| "One more question is too many" |
Vague answers compound — drill until specific |
| "I can infer the business model" |
Never infer. Ask. You will be wrong. |
| "The MVP is clear" |
MVPs defined without drilling risks are over-scoped |
| "We can resolve distribution later" |
If you can't name channel + motion now, the idea isn't ready |
| "We covered the important branches" |
Important by whose criteria? Distribution and Risks are the most-skipped and the most-costly to miss. |
Red Flags
- User says "everyone" or "all users" — no segment identified
- Answer to distribution is "word of mouth" or "social media" — not a plan
- MVP scope grows across turns — riskiest assumption not isolated
- User can't name a single person who has this problem today
- Business model is "we'll figure it out later"
- Founder fit answer is "I'm passionate about this space"
- Interview stopped before all 7 branches because "the idea is clear enough" or "we ran out of time"
Behavior Rules
- One question per turn. Always.
- Generate each question from the user's last answer — never from a fixed script
- If vague or contradictory: drill deeper on the same branch
- If clear and specific: acknowledge briefly (one line), advance to next branch
- Max 3 questions per branch — don't loop forever
- Push back on weak answers. "People want this" requires evidence.
- Note unresolved items as open assumptions in the brief
Branches
Work through in order. Each is a checkpoint to reach, not a question to ask. See evaluation-criteria.md for resolution criteria per branch.
- Problem — what's broken, for who, how often, how painfully
- Founder fit — why this person, why now, what's the unfair advantage
- Solution — what specifically; what's explicitly out of scope
- Business model — how money flows, who pays, how much
- Distribution — how the first 100 users find it; specific acquisition motion
- Risks — the single most likely way this fails
- MVP — the smallest thing that tests the riskiest assumption
Workflow
- Ask the user to describe their idea in a few sentences. Take it in — no clarifying questions yet.
- Start branch 1. Generate your first question from what they said.
- After each answer: clear → acknowledge + advance; vague → follow-up that names the vagueness explicitly ("You said 'small businesses' — do you mean a 2-person bootstrapped shop or a 50-person company with a finance team?").
- When all 7 branches are resolved (or explicitly noted as open assumptions), write the brief.
Output
Create .forge/ if it doesn't exist. Write .forge/idea-brief.md with a forge:meta dependency header at the top (generated_by: idea-griller, generated_at: <ISO 8601 UTC with Z>, depends_on: [] — independent, no upstream, generated_from: {}, content_hash: <sha256 first 8 of THIS file's body>). See forge-dependency-graph for the convention. Then the brief content:
<!-- forge:meta
generated_by: idea-griller
generated_at: 2026-05-13T12:00:00Z
depends_on: []
generated_from: {}
content_hash: <first 8 chars of sha256>
-->
# Idea Brief: [idea name]
## The problem
[Specific user, specific pain, specific frequency — 1-2 sentences]
## Founder fit
[Why this person. What they know or have that others don't.]
## The solution
[What it is. What it is NOT.]
## Business model
[Who pays. How much. Why they would.]
## Distribution
[How first 100 users are acquired. Specific channel — not "word of mouth".]
## Biggest risk
[The single most likely failure mode.]
## MVP
[The smallest thing that tests the biggest risk.]
## Open assumptions
[Anything unresolved. These become explicit gaps in the spec.]
After writing: "Brief written to .forge/idea-brief.md. Run /spec to continue."
Verification
1---2name: idea-griller3description: Use when user describes a new idea, project, or feature they haven't fully thought through, when an idea needs to be pressure-tested before writing a spec, when assumptions about users, business model, or distribution are unstated, or when the user wants to surface what they don't know before committing engineering effort.4---56# Idea Griller78## Overview910Pressure-test a raw idea through Socratic questioning. One question per turn, each built from the user's last answer. Output is `.forge/idea-brief.md` — a structured brief that lets `spec-driven-development` skip discovery and go straight to requirements.1112## When to Use1314- User describes a new idea, project, or feature they haven't fully thought through15- User wants to stress-test assumptions before writing a spec16- Idea is vague, contradictory, or needs a sharper scope1718## When NOT to Use1920- `.forge/prd.md` already exists — the idea is past this stage21- User is reporting a bug — use `debugging-and-recovery`22- Idea is already well-specified with named users, clear scope, and a distribution plan2324## Common Rationalizations2526| Thought | Reality |27|---------|---------|28| "The idea is obvious, let's skip to the spec" | Obvious ideas carry the most unchecked assumptions |29| "The user knows what they want" | They know symptoms — root cause is often different |30| "One more question is too many" | Vague answers compound — drill until specific |31| "I can infer the business model" | Never infer. Ask. You will be wrong. |32| "The MVP is clear" | MVPs defined without drilling risks are over-scoped |33| "We can resolve distribution later" | If you can't name channel + motion now, the idea isn't ready |34| "We covered the important branches" | Important by whose criteria? Distribution and Risks are the most-skipped and the most-costly to miss. |3536## Red Flags3738- User says "everyone" or "all users" — no segment identified39- Answer to distribution is "word of mouth" or "social media" — not a plan40- MVP scope grows across turns — riskiest assumption not isolated41- User can't name a single person who has this problem today42- Business model is "we'll figure it out later"43- Founder fit answer is "I'm passionate about this space"44- Interview stopped before all 7 branches because "the idea is clear enough" or "we ran out of time"4546## Behavior Rules4748- **One question per turn. Always.**49- Generate each question from the user's last answer — never from a fixed script50- If vague or contradictory: drill deeper on the same branch51- If clear and specific: acknowledge briefly (one line), advance to next branch52- Max 3 questions per branch — don't loop forever53- Push back on weak answers. "People want this" requires evidence.54- Note unresolved items as open assumptions in the brief5556## Branches5758Work through in order. Each is a checkpoint to *reach*, not a question to *ask*. See [evaluation-criteria.md](evaluation-criteria.md) for resolution criteria per branch.59601. **Problem** — what's broken, for who, how often, how painfully612. **Founder fit** — why this person, why now, what's the unfair advantage623. **Solution** — what specifically; what's explicitly out of scope634. **Business model** — how money flows, who pays, how much645. **Distribution** — how the first 100 users find it; specific acquisition motion656. **Risks** — the single most likely way this fails667. **MVP** — the smallest thing that tests the riskiest assumption6768## Workflow69701. Ask the user to describe their idea in a few sentences. Take it in — no clarifying questions yet.712. Start branch 1. Generate your first question from what they said.723. After each answer: clear → acknowledge + advance; vague → follow-up that names the vagueness explicitly ("You said 'small businesses' — do you mean a 2-person bootstrapped shop or a 50-person company with a finance team?").734. When all 7 branches are resolved (or explicitly noted as open assumptions), write the brief.7475## Output7677Create `.forge/` if it doesn't exist. Write `.forge/idea-brief.md` with a `forge:meta` dependency header at the top (`generated_by: idea-griller`, `generated_at: <ISO 8601 UTC with Z>`, `depends_on: []` — independent, no upstream, `generated_from: {}`, `content_hash: <sha256 first 8 of THIS file's body>`). See [forge-dependency-graph](../../references/forge-dependency-graph.md) for the convention. Then the brief content:7879```markdown80<!-- forge:meta81generated_by: idea-griller82generated_at: 2026-05-13T12:00:00Z83depends_on: []84generated_from: {}85content_hash: <first 8 chars of sha256>86-->8788# Idea Brief: [idea name]8990## The problem91[Specific user, specific pain, specific frequency — 1-2 sentences]9293## Founder fit94[Why this person. What they know or have that others don't.]9596## The solution97[What it is. What it is NOT.]9899## Business model100[Who pays. How much. Why they would.]101102## Distribution103[How first 100 users are acquired. Specific channel — not "word of mouth".]104105## Biggest risk106[The single most likely failure mode.]107108## MVP109[The smallest thing that tests the biggest risk.]110111## Open assumptions112[Anything unresolved. These become explicit gaps in the spec.]113```114115After writing: "Brief written to `.forge/idea-brief.md`. Run `/spec` to continue."116117## Verification118119- [ ] All 7 branches reached (or explicitly skipped with reason noted in Open assumptions)120- [ ] No answer left as "everyone", "scale", or "later"121- [ ] At least one named person or company as the target user122- [ ] MVP is a single testable thing, not a feature list123- [ ] Distribution names a specific channel and motion124- [ ] Open assumptions section populated (empty = suspicious)125- [ ] `.forge/idea-brief.md` written and readable