Conduct an interactive discovery interview to produce a structured product specification. Triggers: write a spec, PRD, feature spec, requirements, product requirements, scope a project, brainstorm a feature, flesh out an idea, plan a new project. Uses AskUserQuestion for all user choices; WebSearch/WebFetch when the user wants research. Outputs: user stories, acceptance criteria, technical constraints, prioritized requirements in docs/specs/ per SPEC_TEMPLATE.md. Do NOT use for: implementation, code review, debugging, refactors, or when the user already has a complete spec they only want edited.
Installation
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Conduct an interactive discovery interview to produce a structured product specification. Triggers: write a spec, PRD, feature spec, requirements, product requirements, scope a project, brainstorm a feature, flesh out an idea, plan a new project. Uses AskUserQuestion for all user choices; WebSearch/WebFetch when the user wants research. Outputs: user stories, acceptance criteria, technical constraints, prioritized requirements in docs/specs/ per SPEC_TEMPLATE.md. Do NOT use for: implementation, code review, debugging, refactors, or when the user already has a complete spec they only want edited.
Turn vague ideas into an implementable spec through ordered phases and targeted questions.
Non-negotiables (do not skip)
Run all 7 phases in order below. Do not jump to the spec early.
Minimum 10–15 questions across categories for any real project. Never treat 3–5 questions as enough.
Every AskUserQuestion must include an option for uncertainty (e.g. "I'm not sure" / "Research this").
Example AskUserQuestion call:
AskUserQuestion(
question: "Which database are you planning to use?",
options: ["PostgreSQL", "MySQL", "MongoDB", "I'm not sure", "Research this for me"]
)
At least one research loop for any non-trivial project (user accepts research → WebSearch/WebFetch or agent, then follow-up questions).
Example research loop: User selects "Research this for me" on a scaling question → WebSearch("serverless vs container hosting cost comparison 2024") + WebFetch(top result) → follow-up: "Based on the research, AWS Lambda looks cost-effective at your expected traffic. Does that align with your budget?"
Completeness check (Phase 5) must pass before writing the spec. If anything is missing, ask more; do not write the spec yet.
Summarize your understanding and get user confirmation before generating the spec file.
Write the spec to docs/specs/YYYY-MM-DD-<name>.md using SPEC_TEMPLATE.md. Create docs/specs/ if it does not exist.
Process
Execute phases in order. Detailed steps live in companion rules:
Orientation → deep dive categories for the project type → if unsure on stack/approach, research loop → if two goals conflict, conflict resolution → completeness table green → confirm summary → write spec file → handoff question.
Anti-patterns
Writing the spec after a handful of questions.
Skipping research when the user is guessing about tools or scale.
Leaving contradictions unresolved.
Writing the spec before the completeness check passes.