skills/spec-interview/SKILL.md
Use when refining design docs and specs through deep questioning. Triggered when user says "help me refine this plan", "ask me about the project", "deep interview", or after brainstorming produces a design doc.
npx skillsauth add sipengxie2024/superpower-planning spec-interviewInstall 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.
Refine draft specs and design docs into complete technical documents through deep, probing questions.
Read target doc → Identify gaps → Ask deep questions (AskUserQuestion) → Iterate → Update doc
Read the design doc (from brainstorming) or user-specified document. Identify information gaps across these dimensions:
| Dimension | Focus Areas | |-----------|-------------| | Technical implementation | Data structures, algorithm choices, dependencies, interface design | | Edge cases | Null values, concurrency, timeouts, extreme data volumes | | Risk considerations | Security, performance bottlenecks, compatibility, maintenance cost | | Trade-offs | Implementation complexity vs flexibility, performance vs readability | | Architecture decisions | Module boundaries, dependency direction, extension points | | Acceptance & testing | Acceptance criteria, test strategy, coverage expectations | | Operability | Observability, logging, migration/rollback strategy |
Use the AskUserQuestion tool for ALL questions. Never ask questions in plain text.
Questioning principles:
Question types:
Tech choice: Why X over Y? Have you evaluated Z?
Edge handling: When [extreme case] happens, what's the expected behavior?
Trade-off: If you must choose between [A] and [B], which takes priority?
Dependency: How tightly does this depend on [component X]?
Fallback: If [assumption] doesn't hold, what's the backup plan?
digraph interview_loop {
"Identify next gap" [shape=box];
"All key dimensions covered?" [shape=diamond];
"Ask deep question (AskUserQuestion)" [shape=box];
"Record answer to findings.md" [shape=box];
"Update design doc" [shape=box];
"Identify next gap" -> "All key dimensions covered?";
"All key dimensions covered?" -> "Update design doc" [label="yes"];
"All key dimensions covered?" -> "Ask deep question (AskUserQuestion)" [label="no"];
"Ask deep question (AskUserQuestion)" -> "Record answer to findings.md";
"Record answer to findings.md" -> "Identify next gap";
}
After the interview is complete, integrate all clarifications back into the original document:
.planning/findings.mdIf invoked from brainstorming, return control to the brainstorming checklist. The next step is typically Ask about worktree, then Transition to implementation. Do NOT invoke writing-plans directly from here — let the brainstorming flow handle the transition.
If invoked standalone (user manually triggered), simply end after committing the updated document.
| Mistake | Correct Approach | |---------|-----------------| | Asking obvious questions | Ask about scenarios the user hasn't considered | | Too many questions at once | 1-2 related questions per AskUserQuestion call | | Accepting vague answers | Follow up until you get concrete details | | Only focusing on features | Cover all seven dimensions | | Not updating the doc after | Immediately write findings into the document | | Asking in plain text | ALWAYS use AskUserQuestion tool | | Asking without a recommendation | Lead every question with your recommended answer + rationale | | Asking what the code already answers | Explore the codebase/docs first; only ask what you can't determine |
development
Use when a spec or requirements exist for a multi-step task and an implementation plan needs to be written before touching code
data-ai
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs.
data-ai
Use when executing implementation plans with parallel task groups or individual tasks too heavy for subagent context limits.
development
Use when implementing any feature or bugfix, before writing implementation code