dist/codex/plugins/spec/skills/spec-interview/SKILL.md
Capture PRD-quality requirements through structured Q&A. Use when a new requirement needs deep exploration — produces a `REQ-*.md` via 8–15 targeted questions. NOT for creating tasks or implementation plans — use spec-plan for that.
npx skillsauth add alexei-led/claude-code-config 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.
spec interview — deep requirement extractionCLI at scripts/specctl. Extract complete requirements through structured Q&A. Produces PRD-quality REQ-*.md. Input is an idea text, a doc path, or an existing REQ-id to refine.
REQ-id: run scripts/specctl show <REQ-id> and read the file. Interview to refine.
spec-status to list existing requirements." Stop.Read when present:
CONTEXT.md, CONTEXT-MAP.md — domain languagedocs/adr/*.md — architectural decisions.out-of-scope/*.md — rejected enhancementsIf the new requirement resembles an .out-of-scope/ record, surface it: "This resembles a previously rejected concept because <X>. Reconsider, narrow scope, or stop?"
Use the domain vocabulary from CONTEXT.md. If the user uses an overloaded term, resolve it before writing the REQ.
Ask one question at a time using the runtime's multi-choice / structured-question mechanism. Do not output questions as plain prose paragraphs — use the structured question facility so answers are clean to parse.
Plan for 8–15 questions in total; go longer only for genuinely complex requirements. Stop when success criteria, scope, constraints, and blockers are clear.
Ask across seven categories in order, adapting on answers: problem & scope, users & stakeholders, success criteria, constraints, edge cases & failures, data & state, unknowns & risks. For the full question bank per category and the interview guidelines, read references/question-categories.md.
REQ-*.mdIf new: pick a descriptive slug (e.g., REQ-auth, REQ-notifications, REQ-export).
---
id: REQ-<slug>
version: 1
priority: <critical|normal|low>
created: <date>
---
# <Title>
## Problem
<Clear problem statement from interview>
## Users
- **Primary**: <who>
- **Secondary**: <who, if any>
## Success criteria
- [ ] <criterion 1>
- [ ] <criterion 2>
## Constraints
- <constraint 1>
## Edge cases
- <edge case>: <expected behavior>
## Data requirements
- <what data is needed>
- <where it comes from>
## Open questions
- <unresolved items needing research>
## Implementation decisions
- <modules/interfaces likely touched, if known>
## Testing decisions
- <critical behaviors to test>
- <public interfaces or integration seams to verify>
- <edge/error cases that matter>
## Out of scope
- <explicitly excluded items>
## Domain language
- <terms resolved or added to CONTEXT.md>
## Prior decisions and rejections
- <relevant ADRs or .out-of-scope records>
mkdir -p .spec/reqs
Write .spec/reqs/REQ-<slug>.md. If refining, edit specific sections.
Show summary:
.spec/reqs/REQ-<slug>.mdSuggest:
Requirement captured. Next steps:
1. Create implementation plan: use the `spec-plan` skill — `spec-plan REQ-<slug>`
2. Refine further: use the `spec-interview` skill — `spec-interview REQ-<slug>`
3. View status: use the `spec-status` skill
spec plan)Interview captures WHAT / WHY. spec plan captures HOW.
tools
Idiomatic shell development for POSIX sh, Bash, Zsh, Fish, hooks, CI shell steps, and scriptable CLI glue. Use when writing or changing `.sh`, `.bash`, `.zsh`, `.fish`, `.bats`, shell functions, shell pipelines, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, TypeScript, Go, web code, or infrastructure operations.
tools
Use when planning, executing, checkpointing, finishing, or inspecting lightweight spec-driven work. Runs one task at a time using `.spec/` markdown files and the bundled `specctl` helper. NOT for broad product discovery beyond a short requirement interview.
testing
Author, inspect, troubleshoot, and review infrastructure across IaC, Kubernetes, cloud resources, containers, CI/CD, and Linux hosts. Use when changing Terraform/OpenTofu, Kubernetes, Helm, Kustomize, Dockerfiles, GitHub Actions, AWS, GCP, Cloud Run, BigQuery, IAM, logs, instances, or service health. NOT for deploy/apply/rollback workflows (see deploying-infra). NOT for shell scripts or generic command pipelines (see writing-shell).
development
Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks secret scanning, .gitignore rules, local git config, and guardrails. Use when setting up git hooks, gitleaks/git leaks, staged pre-commit checks, pre-push validation, core.hooksPath, .gitignore, or git config best practices. NOT for creating commits (use committing-code), cleaning branches/worktrees (use cleanup-git), or creating worktrees (use using-git-worktrees).