interview
Use before implementation, design, or migration when requirements are unclear and targeted clarifying questions are needed to gather precise context.
Interview
Critical requirements interviewer that asks targeted clarifying questions before expensive operations begin. The goal is to eliminate ambiguity and gather precise context so downstream skills (job-orchestrator, feature-dev, prd-creator) produce accurate results.
Input Contract
When called by another skill (orchestrated mode):
{
"goal": "what needs to be done (issue title, feature description, task)",
"context": "collected context from context-collector or another agent",
"domain": "implement | review | design | migrate | custom",
"caller": "job-orchestrator | feature-dev | user | prd-creator",
"known_facts": ["already known facts or decisions"],
"max_questions": null
}
When called standalone: input is the user's free-text description.
Output Contract
{
"decisions": [
{"question": "...", "answer": "...", "impact": "high | medium"}
],
"constraints": ["identified constraints"],
"assumptions": ["confirmed assumptions"],
"risks": ["identified risks"],
"refined_goal": "refined, unambiguous goal statement"
}
Workflow
Phase 1: Context Acquisition
Orchestrated mode (called with context):
- Parse the input contract
- Proceed directly to Phase 2
Standalone mode (called by user):
- Ask the user: "What are you trying to accomplish?"
- If in a project directory, launch
context-collectoras sub-agent to gather codebase context - Wait for context, then proceed to Phase 2
Phase 2: Uncertainty Analysis
Analyze goal + context to identify "uncertainty zones" — areas where:
- Multiple valid approaches exist
- Requirements are ambiguous or contradictory
- Technical constraints are unclear
- Scope boundaries are undefined
- Dependencies or impacts are unknown
Each uncertainty zone becomes a potential question. Skip questions where the answer is already clear from context or known_facts.
Determine question count dynamically:
- Simple task with good context → 2-3 questions
- Complex task with sparse context → 5-7 questions
- Stop when remaining uncertainty is low enough to proceed confidently
Phase 3: Interactive Interview
Ask questions one at a time, each with answer options where possible:
❓ Question 1/~N: [Topic — e.g., "Authentication approach"]
[Brief context why this matters for the task]
A) Option one (brief explanation)
B) Option two (brief explanation)
C) Option three
D) Need more context — tell me more
> answer with letter or free text
Adaptation rules:
- If user picks an option → record decision, move to next question
- If user answers in free text → extract the decision, confirm understanding
- If user picks "Need more context" (D) → provide deeper explanation or trigger a mini
/brainstorm --quickon this specific point, then re-ask - If user says "skip" or "don't care" → record as assumption with medium confidence, move on
- Adjust remaining questions based on answers (some questions become irrelevant after certain decisions)
Phase 4: Synthesis
After all questions are answered:
-
Compile the output contract:
- decisions: all Q&A pairs with impact level
- constraints: technical and business constraints identified
- assumptions: things assumed true but not explicitly confirmed
- risks: potential issues surfaced during interview
- refined_goal: clear, unambiguous restatement of the goal
-
Present summary to user:
## Interview Summary
### Goal (refined)
[Clear statement]
### Key Decisions
1. [Decision] — impact: high
2. [Decision] — impact: medium
### Constraints
- [Constraint]
### Assumptions (please verify)
- [Assumption]
### Risks
- [Risk]
- Ask: "Does this look right? Anything to correct before we proceed?"
Phase 5: Handoff
Return the output contract to the calling skill, or if standalone — ask what the user wants to do next:
- "Start implementing? I can run
/feature-dev" - "Create a PRD? I can run
/prd-creator" - "Need more brainstorming? Try
/brainstorm"
Question Design Principles
Good interview questions are:
- Specific: "Should auth use JWT or session cookies?" not "How should auth work?"
- Impactful: the answer meaningfully changes the implementation
- Non-obvious: don't ask things derivable from the codebase
- Ordered by dependency: ask foundational questions first (they may make later questions unnecessary)
Provide answer options when:
- There are 2-4 clear alternatives
- The user might not know all options available
- You want to speed up the interview
Skip options when:
- The question requires a free-text answer (e.g., "What's the deadline?")
- The space of answers is too large
Integration with Other Skills
job-orchestrator → context-collector → interview → plan → execute
feature-dev → interview (Phase 1) → design → implement
prd-creator → interview → requirements document
The interview skill is designed to be composable — any skill that needs user input before proceeding can call it.
Rules
- NEVER ask more than 7 questions (keep it focused)
- NEVER ask questions whose answers are already in the provided context
- ALWAYS provide answer options when 2-4 clear alternatives exist
- ALWAYS adapt subsequent questions based on previous answers
- If the user seems impatient or says "just do it" — stop interviewing, document remaining unknowns as assumptions, and proceed
- One question at a time — never dump all questions at once