Help us improve
Share bugs, ideas, or general feedback.
From ai-brain-starter
Conducts a one-question-at-a-time interview to surface the user's actual intent when requests are underspecified. Use before planning or coding when you lack clarity on who, why, or what success looks like.
npx claudepluginhub adelaidasofia/ai-brain-starterHow this skill is triggered — by the user, by Claude, or both
Slash command
/ai-brain-starter:interview-meThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> Cherry-picked from [addyosmani/agent-skills](https://github.com/addyosmani/agent-skills) (MIT) 2026-05-26.
Interviews the user one question at a time to extract true intent from underspecified requests, achieving ~95% confidence before any plan or code exists.
Orchestrates structured Socratic interviews to clarify ambiguous requirements using a dedicated interviewer agent and Ambiguity Score. Useful for vague ideas; invoke via /deep-interview or keywords.
Clarifies vague requests via Socratic questioning, focusing on one key uncertainty (goals, scope, constraints, completion criteria) at a time to produce actionable requirements. Activates on deep-interview requests or unclear specs.
Share bugs, ideas, or general feedback.
Cherry-picked from addyosmani/agent-skills (MIT) 2026-05-26.
What people ask for and what they actually want are different things. They ask for "a dashboard" because that's what one asks for, not because a dashboard solves their problem. They say "make it faster" without a number to hit.
The cheapest moment to find this gap is before any plan, spec, or code exists. Once you've started building, switching costs are real, and the user will rationalize the wrong thing into a "good enough" thing. The misfit gets locked in.
This skill closes the gap before it costs anything. It complements (does not replace) batched-options elicitation skills: this skill is for free-form interview when you don't yet know enough to offer a bounded set of choices. Use the batched-options skill when the user knows roughly what they want but needs to pick between framings; use this skill when you can't write a one-sentence statement of intent yet.
Apply this skill when:
When NOT to use:
This skill needs a live, responsive user. Do not invoke in non-interactive contexts like CI pipelines, scheduled runs, or autonomous loops. If you're in one of those and the ask is underspecified, flag that as a blocker for the user instead of guessing.
Before asking anything, write down your current best read of what the user wants in one sentence, plus an honest confidence number (0–100%):
HYPOTHESIS: You want a way to answer "how are we doing?" in standup, and "dashboard" was the convention that came to mind.
CONFIDENCE: ~30% — missing: who it's for, what "metrics" means in context, and what success looks like
The number forces honesty. If you wrote down a high number but can't actually predict the user's reactions to the next three questions you'd ask, the number is wrong. Start at the confidence level you can defend.
When confidence is below ~70%, append a brief reason on the same line — what's still unresolved or missing. This tells the user exactly what the interview needs to surface, and prevents the number from being a vague signal.
Format:
Q: <one focused question>
GUESS: <your hypothesis for the answer, with the reasoning that produced it>
Wait for the user to react before asking the next question.
Why one at a time, not a batch:
Why attach a guess:
The risk here is a polite user agreeing with your guess to be agreeable. Mitigate by being visibly willing to be wrong, and occasionally guess in a direction you expect the user to push back on.
The most dangerous answers are the ones where the user says what a thoughtful answer sounds like rather than what they actually want. Watch for:
When you hear these, the question to ask is:
"If you didn't have to justify this to anyone, what would you actually want?"
That single question often does more work than the previous five.
When your confidence is high, write back what you now think the user wants. Keep it tight (5–8 lines), use their language where possible, and structure it so the user can confirm or correct line by line:
Here's what I now think you want:
- Outcome: <one line>
- User: <one line — who benefits>
- Why now: <one line — what changed>
- Success: <one line — how we know it worked>
- Constraint: <one line — the binding limit>
- Out of scope: <one line — what we're explicitly not doing>
Yes / no / refine?
Including "Out of scope" is non-negotiable. Half of misalignment is silent disagreement about what is not being built.
The gate is an explicit "yes." The following are not yes:
If they correct you, fold the correction in and restate. Loop until you get an explicit yes.
You're done when you can answer yes to this:
Can I predict the user's reaction to the next three questions I would ask?
If yes, you have shared understanding. Stop interviewing and produce the restate. If no, you're not done; ask the next question.
This is a checkable test, not a vibe. It also has a floor: if you've gone several rounds and still can't predict, that's information about the ask, not a reason to keep grinding. Stop and tell the user: "I've asked X questions and I still can't predict your reactions. Something foundational is missing. Want to step back?"
The output of this skill is a confirmed statement of intent: the restate from Step 4, with an explicit yes from Step 5. That's the deliverable. Specs, plans, and task lists are downstream; they consume the intent this skill produces.
If the user wants the intent to persist (a multi-session project, a handoff to another collaborator), offer to save it to a project-local file (commonly docs/intent/[topic].md). Only save if they confirm.
| Rationalization | Reality |
|---|---|
| "The ask is clear enough" | If you can't write the user's desired outcome in one sentence right now, the ask isn't clear. Run Step 1 before deciding. |
| "Asking too many questions wastes their time" | Time wasted by 4–6 targeted questions is small. Time wasted by building the wrong thing is enormous, and the user is the one bearing that cost. |
| "I'll figure it out as I build" | Switching costs after code exists are 10x what they are now. Discovery during implementation is rework. |
| "They said 'whatever you think,' so I should just decide" | "Whatever you think" is delegation, not decision. Re-ask with two concrete options as a choice. |
| "I should give them several options to pick from" | Options work when the user knows what they want and is choosing between trade-offs. They don't know what they want yet. Listing options widens the search; asking narrows it. |
| "If I attach my guess, I'm leading them" | Leading is the point. Reacting is faster than generating from scratch. The risk is sycophancy, not leading; mitigate by being visibly willing to be wrong. |
| "We've talked enough, I get it" | Test it: can you predict their reaction to the next three questions? If not, you don't get it yet. |
| "The user said yes, we're done" | If the yes followed a vague restate or an open-ended "sounds good," the yes is hollow. Restate concretely and re-confirm. |
After applying interview-me:
This skill adapts content from addyosmani/agent-skills under MIT License. The hypothesis-with-confidence-number, predict-next-3-reactions stop test, hollow-yes rejection list, and "if you didn't have to justify this" probe trace to the upstream skill.