interview-me
Conduct an adaptive interactive interview on any topic and produce a structured markdown report, summary, or implementation plan. Use when the user says "interview me", "interview me about", "run an interview on", "help me think through", or wants guided discovery on any subject. Also triggers on "talk me through", "explore X with me", "help me plan Y", or "walk me through my thinking on Z" when the user wants a guided conversation rather than a direct answer. Applies broadly — career decisions, project ideas, product direction, personal goals, research questions, team problems — not just technical topics.
What this skill does
# Interview Me
You are conducting an adaptive, user-driven interview. The goal is to **draw out the user's thinking** — their context, constraints, goals, risks, and intuitions — through a conversation that adjusts to what they say. At the end you produce a structured markdown artifact (report, summary, or implementation plan) that captures the interview's output.
This is not a questionnaire. Good interviews feel like a thoughtful colleague probing your thinking, not a form to fill out. The quality of the final artifact depends entirely on the quality of the questions you ask along the way.
## Why this matters
- **Tacit knowledge is hard to extract.** The most valuable thing the user knows is usually not the first thing they say. Adaptive follow-ups are how you reach it.
- **Leading questions contaminate the output.** If you ask "so speed is your top priority, right?", the user will nod — and you'll produce a report that prioritizes something they don't actually care about. Ask open-ended and let them frame it.
- **Structure after the fact, not during.** Impose structure when you compile the final artifact. During the interview, follow the conversation's energy.
- **Transparency matters.** The final artifact must distinguish what the user said from what research found from what you inferred. This lets the user trust the output.
## Critical rules
### AskUserQuestion is mandatory
Every question directed at the user goes through the `AskUserQuestion` tool. Never ask via plain text output.
- Initial framing questions → `AskUserQuestion`
- Interview round questions → `AskUserQuestion`
- Confirmations → `AskUserQuestion`
- Clarifying questions → `AskUserQuestion`
- Early-exit and depth-change offers → `AskUserQuestion`
Plain text output is reserved for:
- Round summaries of what you've learned
- Presenting research findings inline
- Explaining context ("Since you mentioned GDPR, I'm going to research that briefly")
- Final artifact path confirmation
For free-text input (topic descriptions, goals, focus areas), use `AskUserQuestion` with representative options plus the automatic "Other" escape hatch — the user types their own answer under "Other".
### AskUserQuestion has a 4-question-per-call cap
You cannot ask more than 4 questions in a single `AskUserQuestion` call. The 5 mandatory framing questions in Phase 1 therefore split across **two** calls.
### Plan Mode behavior
This skill generates a markdown artifact *as its own planning activity*. When invoked during Claude Code's plan mode:
- **Do not** defer interview execution to an "implementation phase"
- **Do not** produce a meta-plan describing the interview you intend to run
- **Do** proceed with the full interview and artifact generation immediately
- **Do** write the file to the configured path as normal
The interview and its output artifact *are* the plan.
### Load references on demand
Two reference files ship with this skill. Load them before Phase 2, not upfront:
- `${CLAUDE_PLUGIN_ROOT}/skills/interview-me/references/question-bank.md` — seed questions organized by category and depth
- `${CLAUDE_PLUGIN_ROOT}/skills/interview-me/references/research-triggers.md` — when to fire the researcher
The three output templates live at `${CLAUDE_PLUGIN_ROOT}/skills/interview-me/references/templates/`. Load the one matching the user's chosen output type in Phase 5.
---
## Workflow overview
Six phases, completed in order:
0. **Settings check** — Load user configuration.
1. **Initial framing** — Ask the five mandatory questions (split across 2 AskUserQuestion calls). Load optional `$ARGUMENTS` context.
2. **Adaptive interview** — Multi-round depth-aware interview. Research dispatches happen interleaved here (Phase 3).
3. **Research dispatch** *(interleaved with Phase 2, not sequential)* — Invoke `interview-researcher` when triggers fire.
4. **Pre-compilation summary** — Structured review for user confirmation.
5. **Compile output** — Generate the markdown artifact and write it to the configured path.
**Complete all phases.** Do not stop after Phase 4 thinking you're done — the artifact must be written.
---
## Phase 0: Settings check
Read `.claude/agent-alchemy.local.md` if it exists. Extract the `interview-me` section. Apply these defaults when a value is missing:
| Setting | Default | Allowed values |
|---|---|---|
| `default-depth` | `detailed` | `overview` / `detailed` / `deep-dive` |
| `default-output-type` | `report-detailed` | `report-detailed` / `report-summary` / `implementation-plan` / `something-else` |
| `output-directory` | `internal/interviews/` | any relative or absolute path |
| `proactive-research-budget` | `3` | non-negative integer; `0` disables proactive research |
| `enable-context-argument` | `true` | `true` / `false` |
| `slug-collision-strategy` | `timestamp-suffix` | `timestamp-suffix` / `prompt` |
If the settings file is malformed, warn the user once and proceed with defaults.
---
## Phase 1: Initial framing
### Step 1 — Load context from `$ARGUMENTS` (if provided and enabled)
If `enable-context-argument` is true and `$ARGUMENTS` is non-empty:
1. **Determine input type**: file path (ends in `.md`, `.txt`, `.markdown`; starts with `/`, `./`, `../`, `~`; or exists on disk) vs. inline text.
2. **If file path**: use `Read` to load contents. If the file doesn't exist, treat the argument as inline text.
3. **Store internally** as "User-Supplied Context".
User-supplied context makes the interview *smarter*, not shorter. Use it to:
- Ask targeted follow-ups on gaps in the context
- Probe areas the context doesn't cover
- Confirm implicit assumptions
Do not pre-fill answers or skip framing questions based on context — the framing is what makes the user feel in control of the interview.
### Step 2 — Ask framing questions (first batch)
Use `AskUserQuestion` with these four questions:
**Q1 — Topic** *(header: "Topic", open text via "Other")*
- Question: "What's the topic or subject you'd like to explore?"
- Options: provide 2–3 representative example labels relevant to common interview domains; the user types their own via "Other".
**Q2 — Goals** *(header: "Goals", open text via "Other")*
- Question: "What are your main goals or what are you hoping to get out of this?"
- Options: 2–3 broad example labels (e.g., "Make a decision", "Structure my thinking", "Produce a plan"); user can specify via "Other".
**Q3 — Focus** *(header: "Focus", optional — make explicit in description)*
- Question: "Are there specific areas you want to focus on, or should I let the interview go where it needs to?"
- Options: "No specific focus, you drive", "I have specific areas" (user elaborates via "Other"), optionally "Skip".
**Q4 — Depth** *(header: "Depth", multiple choice)*
- Question: "How deep should this go?"
- Options:
- "High-level overview" — 2–3 rounds, ~6–10 questions, strategic framing only
- "Detailed discussion (Recommended)" — 3–4 rounds, ~12–18 questions, balanced coverage
- "Deep dive" — 4–5 rounds, ~18–25 questions, probes risks, stakeholders, edge cases
The default from settings (`default-depth`) should be marked "(Recommended)" in its label.
### Step 3 — Ask framing questions (second batch)
Use `AskUserQuestion` with these questions:
**Q5 — Output type** *(header: "Output", multiple choice)*
- Question: "What should the interview produce?"
- Options:
- "Detailed report" — narrative with findings, recommendations, sources, open questions
- "Summary report" — one-page brief with top takeaways and next step
- "Implementation plan" — phased plan with tasks, dependencies, success criteria
- "Something else" — you describe the output format you want
The default from settings (`default-output-type`) should be marked "(Recommended)" in its label.
**Q5b — Custom output** *(only if user chose "Something else")*
- Header: "Format", open text via "Other"
- Question: "What format do you want? Describe it briefly and I'll adapt."
**Q6 — Save location**Related in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.