skills/interview-me/SKILL.md
Move from ambiguity to clarity before building. Use when user says 'interview me', asks to be interviewed, or the task has ambiguous scope.
npx skillsauth add preetamnath/agent-skills interview-meInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Move from ambiguity to clarity before building. Read the codebase, then Socratically interview the user — surfacing hidden assumptions and testing their framing — until you could confidently hand this off to be built.
When the task is non-trivial and the goal is vague, has multiple valid interpretations, or touches unfamiliar areas.
Before asking anything, silently explore:
Don't ask questions the codebase already answers.
Surface what the user is assuming, not just what they're requesting. Target the least-clear concern with each question. Use the AskUserQuestion tool for any question with distinct choices — include your recommendation and why. Use plain text only for genuinely open-ended questions.
For tasks where decisions depend on each other, sketch the decision space as a compact nested list once you can name two or more distinct branches. Share it as a hypothesis: "Here's what I think we need to figure out — does this match?" If you can't yet name two branches, ask open-ended questions until you can — aim to sketch within 2–3 rounds. If the task only has one or two flat questions, skip the tree and ask directly.
Resolve one branch at a time. If a question in one branch requires resolving another first, surface the dependency, resolve the blocking branch, then return. When multiple branches block, resolve the one that unblocks the most other branches first. When branches appear, collapse, or split, update the tree inline with your next question and note what changed. When a branch merely resolves, note the decision and continue. Propose deferral when a branch can't be resolved without information unavailable now — the user confirms.
Continue until every branch is resolved or deferred, and you could confidently hand this off to be built.
Use these dimensions as a completeness check — when sketching the tree and as branches resolve, verify nothing is missing:
These are a lens, not a prescribed structure — the task-specific tree (or direct questions for simpler tasks) is the primary navigation.
If the interview runs long, check in — summarize current clarity and offer to continue or proceed. If the user exits early, note what's still unresolved in the artifact but don't block.
When a load-bearing assumption surfaces, test it once: "Does this constraint actually exist?" or "What's the simplest version that would still be valuable?" Challenge the framing, not the person.
After the interview establishes what to build, validate that the planned components, APIs, and patterns are available and usable. Launch 1–4 Sonnet subagents in parallel, split by topic. Always run — at minimum, check existing codebase patterns in the affected area.
| Area | When relevant | How | |---|---|---| | UI components | Feature uses specific UI components or libraries | Check component existence, props, composition constraints | | External APIs | Feature needs external API data | Verify API capabilities, available fields, rate limits | | Extension/plugin targets | Feature includes an extension or plugin | Verify target capabilities and constraints | | Existing codebase patterns | Always | Read existing code in affected areas, extract reusable patterns, verify interfaces match assumptions. Note test file locations, test style (unit/integration/e2e), and any test helpers or fixtures the implementation should follow |
Each subagent returns: exists (yes/no), capabilities, constraints, gotchas.
If issues found: feed back into the interview — update the decision tree if branches changed, resolve with user, then proceed to confirm summary. Limit re-entry to one follow-up round per feasibility issue; if still unresolved, capture it in Unresolved questions. Example: "I checked and component X doesn't support Y natively, here are our options."
Before writing, present a brief summary of the key decisions, scope, constraints, and feasibility results to the user via the AskUserQuestion tool with options: "Looks good — write it", "Adjust before writing". Recommended: "Looks good — write it". This catches misunderstandings from a long interview before they're committed to a file.
Write the summary to meta/workflows/interviews/interview-NNN-<topic-slug>.md. Create the directory if missing. Find the highest existing number in the directory and increment by 1 (start at 001 if empty). Tell the user the file path.
## Interview Summary: [topic]
### Goal
[1-2 sentences]
### Decisions made
| Decision | Choice | Rationale |
|---|---|---|
| ... | ... | ... |
### Assumptions exposed
| Assumption | Resolution |
|---|---|
| ... | ... |
### In scope
- [what's included]
### Out of scope
- [what's explicitly excluded]
### Decision tree
[If the interview used a decision tree, include the final version as a compact nested list. Tag each branch inline. Omit for simpler interviews that didn't use a tree.]
- Branch name [resolved]
- Sub-branch [collapsed: user confirmed X instead]
- Sub-branch [deferred: blocked on Y]
### Criteria
- [acceptance criteria or success conditions — what must be true for this to be done]
### Constraints
- [fixed boundaries, compatibility requirements, dependencies]
### Feasibility results
| Area | Status | Findings |
|---|---|---|
| [area checked] | Available / Partial / Unavailable | [capabilities, constraints, gotchas] |
### Unresolved questions
- [anything still ambiguous, with impact assessment]
- [or "None — ready to proceed"]
### Recommended next step
Pick exactly one based on the sections above:
- `grill-me` — if `Unresolved questions` is non-empty, OR `Assumptions exposed` contains load-bearing items not pressure-tested, OR `Feasibility results` shows Partial/Unavailable
- `sanity-checker` agent — if decisions look sound but you want a lighter validation pass before building
- `plan-builder` — if scope spans 3+ work items OR multiple files/modules, no unresolved/feasibility flags
- Direct implementation — if single-file or single-commit change, no unresolved flags
[Pick one with reasoning that cites the specific row(s) above that triggered the choice]
After writing, use the AskUserQuestion tool with options based on the recommended next step (e.g., "Proceed to grill-me", "Spawn sanity-checker agent", "Proceed to plan-builder", "Proceed to direct implementation", "Done for now"). Recommended: whichever next step was written in the artifact.
Stop when every branch in the decision tree is resolved or deferred, the user has confirmed the summary, and the handoff artifact has been written.
AskUserQuestion tool for questions with distinct choices. This is not optional. If you can enumerate the options, use the tool — include your recommendation and why. Plain text is only for genuinely open-ended questions with no enumerable answers.documentation
Collapse a multi-clause instruction into one positive line of trigger + action. TRIGGER when: user says 'tighten this rule', 'make this leaner', 'make this simpler' in a skill, CLAUDE.md, agent prompt, or style guide.
documentation
File-level tightening pass on an instruction file (CLAUDE.md, skill, agent prompt, style guide) using `tighten-instruction` as the lens. TRIGGER when: user says 'tighten/simplify this file/skill/CLAUDE.md', 'cut this down'; user points at a verbose instruction file and wants it leaner.
testing
Anchored second-opinion on one concrete proposal: dispatch a subagent to rate the fix, generate ranked alternatives, and flag blind spots, then synthesize back. TRIGGER when: user says 'second opinion', 'rate my fix', 'weigh in on my approach', 'what alternatives am I missing', or wants their candidate edit/decision evaluated against alternatives. SKIP when: multiple decisions on a larger artifact — use `panel-review`.
development
Multi-reviewer panel on N focused questions about a near-final artifact (plan, design, code, prose). R0 (you) plus two parallel reviewer subagents, per-question table with disagreement preserved, walk decisions one at a time. TRIGGER when: user says 'panel review', 'multi-agent review'; user has a mostly-done artifact and focused micro-decisions to validate. SKIP when: only one proposal under review — use `second-opinion`.