Generate Spec
vdd_specifyGenerate a spec.md file for one tactical action item, capturing user stories, Always/Ask/Never boundaries, Given/When/Then acceptance criteria, and MoSCoW priorities.
Instructions
VDD Phase 4: Generate vdd/specs//spec.md for one tactical action item — user stories, Always/Ask/Never boundaries, Given/When/Then acceptance criteria (AC), MoSCoW priorities, non-functional requirements, and impact verification. Overwrites the spec file. Pass actionItemId (e.g. "A-001") or a freeform description to skip the V/S/T chain. Use for a NEW spec; to resolve leftover [NEEDS CLARIFICATION] markers in an existing spec use vdd_clarify instead. Parameter relationships: feature names the vdd/specs// directory and must match the feature passed to vdd_clarify, vdd_plan, and vdd_tasks; actionItemId is the A-### id from tactics.md and is optional when authoring from a freeform description.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| feature | No | Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., "user-auth"); must reference a directory created earlier by vdd_specify | |
| description | No | Freeform description input | |
| projectRoot | No | Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default ".") | . |
| actionItemId | No | Tactical action item ID, format A-### (e.g., "A-001"); must be an item id from vdd/tactics.md |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| _sdt | Yes | Strategy-and-Tactic instructions for the next step | |
| error | No | Error message when the phase fails | |
| _phase | Yes | VDD phase that produced this result | |
| output | No | Additional structured phase output | |
| success | Yes | Whether the phase completed successfully | |
| artifact | No | Primary artifact produced or returned | |
| gateResult | No | Quality-gate result, when the phase runs a gate |