Requirements Skill
Run a structured 5-phase requirements workflow that turns a feature request into an implementation-ready specification.
Keep SKILL.md as the workflow source of truth. Load detailed templates and canned output text from references/templates.md.
Purpose
- Clarify product and technical expectations before implementation.
- Capture assumptions explicitly.
- Produce a requirements spec that references real codebase patterns when available.
When to Use
Use this skill when:
- A user asks to clarify scope for a new feature.
- A user asks to write or refine a requirements document/spec.
- A requirements command workflow is active (
requirements-start, requirements-status, requirements-current, requirements-list, requirements-remind, requirements-end).
Core Rules
- Ask one question per message.
- Keep each question closed-form:
- yes/no, or
- bounded multiple choice (2-5 options), with a default.
- Generate all questions for the current phase first, then ask sequentially.
- Keep product language primary; add technical notes only when they help decision quality.
- During requirements gathering, do not implement code.
- Use real repository paths once discovered. Use placeholders only in reusable templates/examples.
- Keep phase question count bounded (target 5; allow 4-7 when justified).
5-Phase Workflow
Phase 1 — Initialize Session
- Create a requirement folder:
requirements/[timestamp]-[slug]/.
- Create initial artifacts:
00-initial-request.md
metadata.json
- Update
requirements/.current-requirement with the active folder.
- Scan the codebase to identify relevant modules, data models, routes, and APIs.
If the repository structure differs, adapt paths and naming to that repository.
Phase 2 — Discovery Questions (Product Scope)
- Draft discovery questions focused on user outcomes, scope boundaries, permissions, data impact, and external integrations.
- Write all phase questions to
01-discovery-questions.md before asking any.
- Ask questions sequentially, each with a proposed default.
- Accept concise answers:
- yes/no
- one option from a bounded list
- unknown/default
- Store responses in temporary working notes while the phase is in progress.
- After all questions are asked, persist finalized responses to
02-discovery-answers.md and update metadata.json.
Phase 3 — Context Gathering (Autonomous)
- Search code for similar features and reusable patterns.
- Review relevant backend/frontend/data files and integration points.
- Record findings in
03-context-findings.md:
- similar features
- candidate files to modify
- constraints and risks
- recommended patterns
- Perform this phase without user questioning unless critical ambiguity blocks progress.
Use whichever search/read/navigation tools are available in the current agent runtime.
Phase 4 — Detail Questions (Behavior & Design Decisions)
- Derive follow-up questions from Phase 3 findings.
- Write all phase questions to
04-detail-questions.md before asking.
- Ask one at a time with defaults.
- Keep wording PM-friendly first, then include optional technical anchor when useful.
- Good: “Should users edit this from the existing Project Settings screen?”
- Optional anchor: “(Likely in
apps/web/src/routes/project-settings.tsx)”
- Store answers in temporary notes during the phase.
- After all questions are asked, persist finalized responses to
05-detail-answers.md and update metadata.json.
Phase 5 — Generate Requirements Spec
- Create
06-requirements-spec.md.
- Include:
- overview
- functional requirements and acceptance criteria
- technical requirements
- files/systems impacted
- assumptions and open questions
- Mark unresolved items as
ASSUMED: with rationale.
- Update metadata status to complete (or incomplete if explicitly paused).
- Clear
.current-requirement when the session ends.
Use spec templates from references/templates.md.
Command Behaviors
requirements-start
- Initialize the folder and metadata.
- Run Phase 1, then begin Phase 2.
requirements-status
- Show current phase, progress, recent answers, and next question.
- Resume from the next unanswered question.
requirements-current
- Show full read-only snapshot of the active requirement (all artifacts).
- Do not continue questioning unless explicitly asked.
requirements-list
- List all requirement folders with status, sorted by:
- active,
- complete/incomplete,
- newest first.
requirements-remind
- Show concise rule reminders based on current phase.
- Correct process drift (for example: open-ended questions, implementation drift, missing defaults).
requirements-end
- If active requirement exists, offer:
- generate spec now,
- mark incomplete,
- cancel.
- Confirm destructive actions before deleting artifacts.
Portability Rules
- Treat project-specific paths as examples, not constants.
- Treat companion skills as optional accelerators, not dependencies.
- Prefer generic wording unless repository context confirms specific frameworks/tools.
- Keep artifacts and process identical across agent runtimes.
Quality Checklist
- Question sets are complete before asking begins.
- Every asked question has a default and rationale.
- Temporary notes are consolidated into phase answer files.
- Spec clearly separates confirmed decisions vs assumptions.
- Output stays requirements-focused (no implementation).
Reference Files
references/templates.md — canonical templates for:
- question files
- answer files
- context findings
- metadata
- requirements spec
- status/list/reminder output snippets
1---2name: requirements3description: This skill should be used when clarifying a feature, writing a requirements spec, running a structured discovery session, or when users mention requirements-start, requirements-status, requirements-current, requirements-list, requirements-remind, or requirements-end.4---56# Requirements Skill78Run a structured 5-phase requirements workflow that turns a feature request into an implementation-ready specification.910Keep SKILL.md as the workflow source of truth. Load detailed templates and canned output text from `references/templates.md`.1112## Purpose1314- Clarify product and technical expectations before implementation.15- Capture assumptions explicitly.16- Produce a requirements spec that references real codebase patterns when available.1718## When to Use1920Use this skill when:2122- A user asks to clarify scope for a new feature.23- A user asks to write or refine a requirements document/spec.24- A requirements command workflow is active (`requirements-start`, `requirements-status`, `requirements-current`, `requirements-list`, `requirements-remind`, `requirements-end`).2526## Core Rules27281. Ask one question per message.292. Keep each question closed-form:30 - yes/no, or31 - bounded multiple choice (2-5 options), with a default.323. Generate all questions for the current phase first, then ask sequentially.334. Keep product language primary; add technical notes only when they help decision quality.345. During requirements gathering, do not implement code.356. Use real repository paths once discovered. Use placeholders only in reusable templates/examples.367. Keep phase question count bounded (target 5; allow 4-7 when justified).3738## 5-Phase Workflow3940### Phase 1 — Initialize Session41421. Create a requirement folder: `requirements/[timestamp]-[slug]/`.432. Create initial artifacts:44 - `00-initial-request.md`45 - `metadata.json`463. Update `requirements/.current-requirement` with the active folder.474. Scan the codebase to identify relevant modules, data models, routes, and APIs.4849If the repository structure differs, adapt paths and naming to that repository.5051### Phase 2 — Discovery Questions (Product Scope)52531. Draft discovery questions focused on user outcomes, scope boundaries, permissions, data impact, and external integrations.542. Write all phase questions to `01-discovery-questions.md` before asking any.553. Ask questions sequentially, each with a proposed default.564. Accept concise answers:57 - yes/no58 - one option from a bounded list59 - unknown/default605. Store responses in temporary working notes while the phase is in progress.616. After all questions are asked, persist finalized responses to `02-discovery-answers.md` and update `metadata.json`.6263### Phase 3 — Context Gathering (Autonomous)64651. Search code for similar features and reusable patterns.662. Review relevant backend/frontend/data files and integration points.673. Record findings in `03-context-findings.md`:68 - similar features69 - candidate files to modify70 - constraints and risks71 - recommended patterns724. Perform this phase without user questioning unless critical ambiguity blocks progress.7374Use whichever search/read/navigation tools are available in the current agent runtime.7576### Phase 4 — Detail Questions (Behavior & Design Decisions)77781. Derive follow-up questions from Phase 3 findings.792. Write all phase questions to `04-detail-questions.md` before asking.803. Ask one at a time with defaults.814. Keep wording PM-friendly first, then include optional technical anchor when useful.82 - Good: “Should users edit this from the existing Project Settings screen?”83 - Optional anchor: “(Likely in `apps/web/src/routes/project-settings.tsx`)”845. Store answers in temporary notes during the phase.856. After all questions are asked, persist finalized responses to `05-detail-answers.md` and update `metadata.json`.8687### Phase 5 — Generate Requirements Spec88891. Create `06-requirements-spec.md`.902. Include:91 - overview92 - functional requirements and acceptance criteria93 - technical requirements94 - files/systems impacted95 - assumptions and open questions963. Mark unresolved items as `ASSUMED:` with rationale.974. Update metadata status to complete (or incomplete if explicitly paused).985. Clear `.current-requirement` when the session ends.99100Use spec templates from `references/templates.md`.101102## Command Behaviors103104### requirements-start105106- Initialize the folder and metadata.107- Run Phase 1, then begin Phase 2.108109### requirements-status110111- Show current phase, progress, recent answers, and next question.112- Resume from the next unanswered question.113114### requirements-current115116- Show full read-only snapshot of the active requirement (all artifacts).117- Do not continue questioning unless explicitly asked.118119### requirements-list120121- List all requirement folders with status, sorted by:122 1. active,123 2. complete/incomplete,124 3. newest first.125126### requirements-remind127128- Show concise rule reminders based on current phase.129- Correct process drift (for example: open-ended questions, implementation drift, missing defaults).130131### requirements-end132133- If active requirement exists, offer:134 1. generate spec now,135 2. mark incomplete,136 3. cancel.137- Confirm destructive actions before deleting artifacts.138139## Portability Rules1401411. Treat project-specific paths as examples, not constants.1422. Treat companion skills as optional accelerators, not dependencies.1433. Prefer generic wording unless repository context confirms specific frameworks/tools.1444. Keep artifacts and process identical across agent runtimes.145146## Quality Checklist147148- Question sets are complete before asking begins.149- Every asked question has a default and rationale.150- Temporary notes are consolidated into phase answer files.151- Spec clearly separates confirmed decisions vs assumptions.152- Output stays requirements-focused (no implementation).153154## Reference Files155156- `references/templates.md` — canonical templates for:157 - question files158 - answer files159 - context findings160 - metadata161 - requirements spec162 - status/list/reminder output snippets