一键导入
deep-interview
"/deep-interview", "deep interview", "interview me", "clarify requirements", "요구사항 정리", "인터뷰", "딥 인터뷰", "뭘 만들어야 할지 모르겠어", "요구사항이 불명확", "아이디어 구체화"
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
"/deep-interview", "deep interview", "interview me", "clarify requirements", "요구사항 정리", "인터뷰", "딥 인터뷰", "뭘 만들어야 할지 모르겠어", "요구사항이 불명확", "아이디어 구체화"
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Capture continuity metadata on key execution triggers during work.
Close a session with a compact handoff before switching agents.
Recovery path when continuity packet readiness or tooling is limited.
Mandatory first move for local DevCD continuity before asking for recap.
Use when a change affects architecture, slice boundaries, API contracts, policy rules, or memory schemas. Creates or updates Architecture Decision Records (ADRs) before implementation. Keywords: ADR, decision record, proposed, architecture boundary, policy change, API contract, slice design.
Use when an agent ignores instructions, loses context, misuses tools, produces weak handoffs, behaves unreliably across multiple steps, or needs observability and operational guardrails. Covers instruction loading checks, handoff discipline, context compaction, multi-agent coordination, failure-mode analysis, and verification gates for agent-driven work.
| name | deep-interview |
| description | "/deep-interview", "deep interview", "interview me", "clarify requirements", "요구사항 정리", "인터뷰", "딥 인터뷰", "뭘 만들어야 할지 모르겠어", "요구사항이 불명확", "아이디어 구체화" |
| allowed-tools | ["Read","Grep","Glob","Agent","Write","WebSearch","AskUserQuestion"] |
| validate_prompt | Must contain all 3 stages: INITIATE, INTERVIEW, SYNTHESIZE. Must launch interviewer agent for questioning. Must calculate Ambiguity Score at least once (after 3+ rounds). Must NOT generate PLAN.md, run git commands, or write code. |
The YAML frontmatter keys name and description are the discovery signal loaded automatically.
The remaining SKILL.md body is the complete skill guidance and is loaded on demand.
You are a requirements interviewer, not a planner. Your job is to help users clarify what they actually need through structured Socratic questioning, powered by a dedicated interviewer agent and quantitative ambiguity measurement.
User's idea
↓
[Stage 1: INITIATE] → Parse topic, declare role, launch interviewer agent
↓
[Stage 2: INTERVIEW] → Interviewer agent asks questions + Ambiguity Scoring loop
↓
[Stage 3: SYNTHESIZE] → Insights summary + Clarity Assessment + next steps
| Flag | Effect |
|---|---|
--deep | Launch 1 Explore agent to gather codebase context before interviewing |
| (no flag) | Pure conversation, no codebase exploration |
From the user's input, extract:
State your role clearly:
"I'll run a structured interview to clarify your requirements. A dedicated interviewer will ask you targeted questions, and I'll track clarity with an Ambiguity Score. When your requirements are clear enough (score ≤ 0.2), we'll wrap up."
Use AskUserQuestion to confirm the user's intent:
AskUserQuestion(
question: "What kind of help do you need?",
header: "Intent",
options: [
{ label: "Interview me", description: "Clarify requirements through structured questioning" },
{ label: "Already clear — plan it", description: "Skip interview, go straight to /specify" },
{ label: "Just discuss", description: "Free-form exploration without scoring" }
]
)
Based on selection:
"Got it. Run /specify [your topic] to start planning." → StopOnly when
--deepflag is present.
Launch 1 Explore agent to gather codebase context:
Agent(
subagent_type="Explore",
prompt="Find: existing patterns, architecture, and code related to [topic]. Report relevant files as file:line format. Keep findings concise."
)
Present a brief summary of findings before moving to Stage 2.
Launch the interviewer agent to generate the first question based on the parsed topic:
Agent(
subagent_type="interviewer",
prompt="Topic: [parsed topic]
Context: [any context signals, proposed solution, deep-mode findings]
Ask a sharp opening question to start clarifying requirements.
Use the appropriate probe type based on context:
- If proposed solution present → Consequential probe
- If vague problem → Clarifying probe
- If architecture topic → Challenging probe
- If comparison → Perspective probe"
)
Present the interviewer's question to the user. Initialize round counter: round = 1.
At the start, and when switching directions, use AskUserQuestion:
AskUserQuestion(
question: "Which direction should we dig into?",
header: "Probe focus",
options: [
{ label: "Challenge assumptions", description: "What are we taking for granted that might be wrong?" },
{ label: "Failure scenarios", description: "How could this go wrong? What are the failure modes?" },
{ label: "Counter-arguments", description: "What would someone argue against this?" },
{ label: "Stress test", description: "Does this hold up under edge cases and scale?" },
{ label: "Alternative paths", description: "What other approaches haven't we considered?" }
],
multiSelect: true
)
For each round:
round += 1.Agent(
subagent_type="interviewer",
prompt="Topic: [topic]
Probe direction: [selected direction(s)]
Round: [N] of 10
Conversation so far: [summary of key points from previous rounds]
User's latest answer: [user's answer]
Ask the next question.
Target the area with least clarity.
If a previous ambiguity score exists, focus on the lowest-scoring dimension."
)
After every round from round 3 onward, compute the Ambiguity Score.
Scoring method, via LLM self-assessment:
| Dimension | Weight | What to Assess |
|---|---|---|
| Goal Clarity | 40% | Is the end goal specific and measurable? Can you state what "done" looks like? |
| Constraint Clarity | 30% | Are limitations, boundaries, and non-goals explicit? Technical constraints, timeline, scope boundaries? |
| Success Criteria | 30% | Are acceptance criteria defined? How will we know if this succeeded? |
Calculation:
weighted_sum = (goal × 0.4) + (constraints × 0.3) + (criteria × 0.3)
ambiguity = 1 - weighted_sum
Display to user:
📊 Ambiguity: [score] (Goal: [g], Constraints: [c], Criteria: [s]) [progress bar ████████░░ ]
Scoring rules:
I don't know responses mean that dimension stays low, but should be captured as an Open Question.it should be fast keep Goal Clarity low until quantified.if ambiguity ≤ 0.2:
→ "Requirements are clear enough. Ready to synthesize?"
→ AskUserQuestion: "Wrap up" / "Keep refining"
if ambiguity > 0.2 and round < 10:
→ Identify lowest-scoring dimension
→ Feed it to next interviewer prompt as focus area
→ Continue loop
if round == 10:
→ "We've reached the interview limit. Let me synthesize what we have."
→ Proceed to Stage 3 regardless of score
After every 3 rounds, offer a direction change:
AskUserQuestion(
question: "We've explored [current direction] for a few rounds. Continue or shift?",
header: "Direction",
options: [
{ label: "Keep going", description: "Continue in this direction" },
{ label: "Switch direction", description: "Pick a new probe focus" },
{ label: "Wrap up", description: "Synthesize what we have so far" }
]
)
Present the final Ambiguity Score breakdown:
### Clarity Assessment
Ambiguity Score: [score] [✅ if ≤ 0.2, ⚠️ if 0.2-0.5, ❌ if > 0.5]
- Goal Clarity: [score] (40%)
- Constraint Clarity: [score] (30%)
- Success Criteria: [score] (30%)
Maturity: [level] — [1-line justification]
Maturity mapping:
| Ambiguity Score | Maturity Level | Meaning |
|---|---|---|
| > 0.5 | Exploratory | Many open questions remain; needs more discussion |
| 0.2 ~ 0.5 | Forming | Direction is emerging but key decisions unresolved |
| ≤ 0.2 | Solid | Requirements are clear enough for planning |
Present the summary directly in the conversation:
## Deep Interview Insights: [Topic]
### Core Problem
[1-sentence distillation of the actual problem, as refined through interview]
### Key Insights & Decisions
- [Insight or decision that emerged from dialogue]
- [Another insight]
### Defined Requirements
- [Concrete requirement surfaced during interview]
- [Another requirement]
### Identified Risks & Failure Modes
- [Risk surfaced during probing]
- [Failure mode identified]
### Open Questions & Unknowns
- [Question neither of us could answer — including "I don't know" moments]
- [Area that needs more investigation]
### Clarity Assessment
Ambiguity Score: [score] [emoji]
- Goal Clarity: [score] (40%)
- Constraint Clarity: [score] (30%)
- Success Criteria: [score] (30%)
Maturity: [level] — [justification]
Use AskUserQuestion to determine what happens next:
AskUserQuestion(
question: "What would you like to do with these insights?",
header: "Next step",
options: [
{ label: "Save insights", description: "Save to .hoyeon/deep-interview/[topic]/insights.md" },
{ label: "Hand off to /specify", description: "Start planning with these insights as context" },
{ label: "Keep talking", description: "Continue the interview — return to probing" },
{ label: "Done", description: "End the interview" }
]
)
Based on selection:
Write the insights to file:
Write(".hoyeon/deep-interview/[topic-slug]/insights.md", insights_content)
Use the insights.md template below. After saving, re-present the Next Steps question without Save insights.
.hoyeon/deep-interview/[topic-slug]/insights.md if not already saved."Ready to plan. Run: /specify --context .hoyeon/deep-interview/[topic-slug]/insights.md \"[1-line topic summary]\""
Return to Stage 2.1, probe direction selection.
Say: "Good interview. The insights are in your conversation history if you need them later." Stop.
# Deep Interview Insights: [Topic]
> Date: [YYYY-MM-DD]
> Rounds: [N]
> Final Ambiguity Score: [score]
## Core Problem
[1-sentence summary]
## Key Insights & Decisions
- [Insight 1]
- [Insight 2]
## Defined Requirements
- [Requirement 1]
- [Requirement 2]
## Identified Risks & Failure Modes
- [Risk 1]
## Open Questions & Unknowns
- [Unresolved question 1]
## Clarity Assessment
Ambiguity Score: [score]
- Goal Clarity: [score] (40%)
- Constraint Clarity: [score] (30%)
- Success Criteria: [score] (30%)
Maturity: [level] — [justification]
/specify's job.AskUserQuestion for probes — Socratic questions come from the interviewer agent. Reserve AskUserQuestion for meta-decisions like direction selection and next steps.I don't know is valid — capture it as an Open Question, never force an answer. The relevant dimension stays scored low.A round is one cycle: interviewer question → user answer. The following do not count as rounds:
AskUserQuestion meta-decisions such as direction selection and next steps# Basic interview
/deep-interview I want to build a todo management CLI
# With codebase context
/deep-interview --deep Our auth system needs improvement
# Not sure what to build
/deep-interview not sure what to build, I have a side project idea
# Requirement clarification
/deep-interview requirements are unclear — notification system refactoring
User: "/deep-interview I want to build a todo management CLI"
[Stage 1: INITIATE]
1. Parse: Core problem = todo management CLI, Proposed solution = CLI tool
2. Declare role: "I'll run a structured interview..."
3. Early gate → User selects "Interview me"
4. Launch interviewer agent → First question: "You said 'CLI' — is that because your users are developers, or is CLI a temporary choice before building a UI?"
[Stage 2: INTERVIEW]
5. User: "It's for developers, I want to use it from the terminal"
6. Direction selection → User picks "Challenge assumptions" + "Stress test"
7. Round 2: Interviewer → "When you say 'manage todos', what's the minimum set of operations? Create-Read-Update-Delete, or something beyond CRUD?"
8. User: "CRUD + priorities, due dates, tags"
9. Round 3: Interviewer → "Where does the data live — local file, database, or cloud sync? Each forces a very different architecture."
📊 Ambiguity: 0.55 (Goal: 0.6, Constraints: 0.4, Criteria: 0.3)
10. User: "Local JSON file, keep it simple"
11. Round 4: Interviewer → "What does 'done' look like for v1? If you ship tomorrow, what's the one thing it absolutely must do?"
📊 Ambiguity: 0.35 (Goal: 0.75, Constraints: 0.7, Criteria: 0.5)
12. User: "Add a todo, list them, mark as done"
13. Round 5: Interviewer → "How would you know if this CLI succeeded — daily usage? Replaced another tool? Specific task completion rate?"
📊 Ambiguity: 0.18 ✅ (Goal: 0.85, Constraints: 0.8, Criteria: 0.85)
14. "Requirements are clear enough. Ready to synthesize?" → User selects "Wrap up"
[Stage 3: SYNTHESIZE]
15. Clarity Assessment: Ambiguity 0.18 ✅, Maturity: Solid
16. Insights summary with all sections
17. Next steps → User selects "Hand off to /specify"
18. Save insights + generate:
/specify --context .hoyeon/deep-interview/todo-cli/insights.md "Todo management CLI — local JSON-based CRUD + priorities/due dates/tags"
I don't know responses captured as Open Questions, if any