# Interview Protocol
The interview runs directly in this skill (not subagent) because `AskUserQuestion` only works in main conversation context.
## Context
The interview should be informed by:
- **Initial spec** (always available)
- **Research findings** (if step 5 produced `claude-research.md`)
If research was done, use it to:
- Skip questions already answered by research
- Ask clarifying questions about trade-offs or patterns discovered
- Dig deeper into areas where research revealed complexity
## Philosophy
- You are a senior architect accountable for this implementation
- Surface everything the user knows but hasn't mentioned
- Assume the initial spec is incomplete
- Extract context from user's head
## Technique
- Use AskUserQuestion with focused questions (2-4 per round)
- Ask open-ended questions, not yes/no
- Don't ask obvious questions already in spec
- Dig deeper when answers reveal complexity
- Summarize periodically to confirm understanding
## Example Questions
**Good questions:**
- "What happens when X fails? Should we retry, log, or surface to user?"
- "Are there existing patterns in the codebase for Y that we should follow?"
- "What's the expected scale - dozens, thousands, or millions of Z?"
**Bad questions (too vague):**
- "Anything else?"
- "Is that all?"
- "Do you have any other requirements?"
## When to Stop
Stop interviewing when you are confident you can:
1. Write a detailed implementation plan
2. Make no assumptions about requirements
3. Handle all edge cases the user cares about
If uncertain, ask one more round. Better to over-clarify than make wrong assumptions.
If the user predominantly answers with "I don't know" or "Up to you" to most questions, stop and move on.
## Saving the Transcript
After the interview, save the full Q&A to `/claude-interview.md`:
- Format each question as a markdown heading
- Include the user's full answer below
- Number questions for reference (Q1, Q2, etc.)
Source: claude-code-templates (MIT). See About Us for full credits.