Turns an underspecified request into a confirmed, thought-through scope before a single line is planned or written.
It restates and diffs the request, researches the code so its questions are specific, surfaces the unknowns and non-goals, interviews the user only where research falls short, and emits a brief.md that planning consumes.
This
SKILL.mdis a thin index. Phase procedures live inrules/*.mdand load on demand. A full worked run lives inreferences/interview-example.md.
Contents
- When it runs
- Workflow
- Required reading by phase
- Core principles
- Anti-patterns
- Definition of done
When it runs
$ARGUMENTS is the request to align on (free text).
If $ARGUMENTS is empty, use the current conversation's active request; if there is none, ask what to scope — never interview against a guessed request.
| Flag | Default | Meaning |
|---|---|---|
--non-interactive |
off | Do not prompt the user. Surface the questions inside brief.md under Open questions, proceed on stated assumptions, and set the readiness verdict. For headless callers that cannot prompt. |
This skill is adaptive.
When the request is already crisp and research answers the open questions, it asks nothing, writes a one-line pass note plus the brief, and returns ready.
It interrupts only for a genuine, load-bearing unknown — see rules/readiness-gate.md.
Relation to aw and ideate (precedence)
- Autonomous-implementation asks ("implement X autonomously", "ship this",
/aw) are owned byaw, which runs this interview inside its Phase 0 (default-on for Full tier — seerules/aw-integration.md) — do not also fire standalone; letawdrive. - Standalone
/interviewis for the explicit "help me scope this first" moment on non-awor ambiguous work. - For solution options, not scope, use
/ideate— it diverges and scores; this skill converges on the one scope.
Workflow
Five phases, each with a gate. Do not advance until the gate passes.
| Phase | Name | Rule file | Gate |
|---|---|---|---|
| 0 | Restate & diff | rules/research-grounding.md |
Request restated in own words; every delta from the user's words surfaced. |
| 1 | Research the ground | rules/research-grounding.md |
Affected areas, prior art, patterns, and constraints located in the code. |
| 2 | Surface unknowns (gate) | rules/readiness-gate.md, rules/consultative-completeness.md |
Every unknown enumerated and classified blocking vs advisory; interview-or-pass decided. |
| 3 | Interview | rules/question-design.md |
Blocking + high-value unknowns asked in ≤ 2 batched rounds, or skipped (adaptive pass). |
| 4 | Confirm & brief | rules/brief-artifact.md |
Understanding confirmed; brief.md written; readiness verdict set. |
Required reading by phase
Load on demand — do not preload.
| Phase | Files |
|---|---|
| 0–1 | rules/research-grounding.md |
| 2 | rules/readiness-gate.md, rules/consultative-completeness.md |
| 3 | rules/question-design.md |
| 4 | rules/brief-artifact.md |
| aw | rules/aw-integration.md — how aw / aw-planner delegate to this skill. |
Core principles
- Research before asking. A question the codebase already answers is noise. Ground every question in what the code shows so it is specific ("reuse
PrStatusCacheor add a cache?"), not generic ("what do you want?"). Seerules/research-grounding.md. - Interrupt only for load-bearing unknowns. Classify each unknown
blockingvsadvisory. Ask about blocking ones; proceed on advisory ones and record the assumption. Silence is the correct output for a crisp request. Seerules/readiness-gate.md. - Batch the questions. One prioritized round via
AskUserQuestion, two at most. Never drip questions one at a time. Seerules/question-design.md. - Consultative, not stenographic. Capture intent and pressure-test completeness: non-goals, edge cases, success criteria, constraints. This is the "is it thought-through" half. See
rules/consultative-completeness.md. - Converge, don't diverge. This skill pins down the one thing to build. It hands divergent option-generation to
/ideate, adversarial plan review to/critical, and readiness scoring to/confidence. Do not duplicate them. - The brief is the deliverable. A confirmed, self-contained
brief.mdplus a readiness verdict — nothing more. It writes no product code. Seerules/brief-artifact.md.
Anti-patterns
- Asking a question the code answers. Fix: research first (Phase 1).
- Dripping questions one at a time across turns. Fix: batch into one
AskUserQuestionround. - Interviewing a request that is already crisp. Fix: honor the adaptive pass — write the brief, return
ready, ask nothing. - Generating solution options. Fix: that is
/ideate; this skill converges on scope. - Adversarially red-teaming an implementation plan. Fix: that is
/critical; run it after a plan exists. - Producing a scored gate verdict. Fix: that is
/confidence; this skill elicits the inputs a score needs. - Writing product code or a plan. Fix: stop at
brief.md; hand off to planning.
Definition of done
- Request restated in own words; every delta from the user's words surfaced (Phase 0).
- Affected code areas, prior art, and constraints located (Phase 1).
- Every unknown enumerated and classified
blockingvsadvisory(Phase 2). - Blocking + high-value unknowns resolved via ≤ 2 batched rounds, or a clean adaptive pass logged (Phase 3).
-
brief.mdwritten to.agent/{branch}/brief.md(re-run updates it in place). - Readiness verdict set:
ready|ready-with-assumptions|blocked. - One-line summary delivered naming the verdict and pointing at the brief.