Skill: spec
Produces a complete spec from a free-form human request. The spec is the contract between human intent and downstream agents (planner, implementer, reviewer). It is immutable once validated.
When to use
- A human types
/spec <request> to draft a spec
- The
aidd-dev:00:sdlc orchestrator invokes this skill at Phase 1 of a run
- An existing spec failed reviewer validation and needs refinement based on findings
When NOT to use
- A validated spec already exists → use it directly, no need to regenerate
- The user only wants a single requirement clarified → use
aidd-pm:04:clarity
- The user wants a full PRD with stakeholders, OKRs, and rollout plan → use
aidd-pm:03:prd (more granular than a spec)
Inputs
At least one of request, prd_path, or existing_spec is required.
request: <free-form human description, optional>
prd_path: <path to an existing PRD file, optional — extracted into a spec>
existing_spec: <optional path — for refinement runs>
findings: <optional — reviewer findings to address>
working_dir: <where the spec.md will be written>
Priority when multiple are provided:
existing_spec + findings → refinement run (rewrite to address findings)
prd_path → extract scope, target, constraints, non-goals, done-when from the PRD into a normalized spec
request → generate from scratch using the template
Outputs
spec_path: <path to the generated spec.md>
status: draft | refined
notes: <ambiguities, assumptions made, questions for the human>
Behavior
- Refinement (
existing_spec + findings): load both, address each finding, rewrite the spec.
- PRD extraction (
prd_path): parse the PRD, extract target / hard constraints / non-goals / done-when into the normalized spec structure. Fields the PRD doesn't cover are marked TBD: <precise question>. Implementation details from the PRD (libraries, patterns, file layout) are dropped — they belong to the plan.
- From scratch (
request only): produce a draft spec from the request using assets/spec-template.md as the structure.
- The spec must contain every required section listed in
assets/spec-validator.yml. When information is missing, mark it TBD: <precise question> rather than guess. The reviewer will flag it and the human can answer in the next iteration.
- Write the spec to
working_dir/spec.md.
- Return the path and status.
Validation
This skill does not self-validate. The caller (typically aidd-dev:00:sdlc) spawns the reviewer agent with assets/spec-validator.yml as validator after this skill returns. The reviewer's findings are passed back to this skill for refinement if needed.
Assets
assets/spec-template.md — canonical structure of a spec
assets/spec-validator.yml — checklist used by the reviewer to validate a spec
Skills this skill may invoke
aidd-pm:04:clarity (when the request needs a clarification round before drafting)
Guardrails
- Never invent missing information. Mark gaps as
TBD: <question> with a precise question.
- Never modify a spec that has already been validated and locked.
- Keep the spec readable: clear section headers, bulleted criteria, explicit non-goals.
- Do not include implementation details (libraries, patterns, file layout) — those belong to the plan and the implementer.
1---2name: aidd-pm-05-spec3description: Generates and refines a project spec from a free-form human request. The spec is the immutable target a planner consumes. Use when starting a new run, when an existing spec needs refinement after review, or when a human wants to draft a spec collaboratively.4---56# Skill: spec78Produces a complete spec from a free-form human request. The spec is the contract between human intent and downstream agents (planner, implementer, reviewer). It is immutable once validated.910## When to use1112- A human types `/spec <request>` to draft a spec13- The `aidd-dev:00:sdlc` orchestrator invokes this skill at Phase 1 of a run14- An existing spec failed reviewer validation and needs refinement based on findings1516## When NOT to use1718- A validated spec already exists → use it directly, no need to regenerate19- The user only wants a single requirement clarified → use `aidd-pm:04:clarity`20- The user wants a full PRD with stakeholders, OKRs, and rollout plan → use `aidd-pm:03:prd` (more granular than a spec)2122## Inputs2324At least one of `request`, `prd_path`, or `existing_spec` is required.2526```yaml27request: <free-form human description, optional>28prd_path: <path to an existing PRD file, optional — extracted into a spec>29existing_spec: <optional path — for refinement runs>30findings: <optional — reviewer findings to address>31working_dir: <where the spec.md will be written>32```3334Priority when multiple are provided:35361. `existing_spec + findings` → refinement run (rewrite to address findings)372. `prd_path` → extract scope, target, constraints, non-goals, done-when from the PRD into a normalized spec383. `request` → generate from scratch using the template3940## Outputs4142```yaml43spec_path: <path to the generated spec.md>44status: draft | refined45notes: <ambiguities, assumptions made, questions for the human>46```4748## Behavior49501. **Refinement** (`existing_spec` + `findings`): load both, address each finding, rewrite the spec.512. **PRD extraction** (`prd_path`): parse the PRD, extract target / hard constraints / non-goals / done-when into the normalized spec structure. Fields the PRD doesn't cover are marked `TBD: <precise question>`. Implementation details from the PRD (libraries, patterns, file layout) are dropped — they belong to the plan.523. **From scratch** (`request` only): produce a draft spec from the request using `assets/spec-template.md` as the structure.534. The spec must contain every required section listed in `assets/spec-validator.yml`. When information is missing, **mark it `TBD: <precise question>` rather than guess**. The reviewer will flag it and the human can answer in the next iteration.545. Write the spec to `working_dir/spec.md`.556. Return the path and status.5657## Validation5859This skill does not self-validate. The caller (typically `aidd-dev:00:sdlc`) spawns the `reviewer` agent with `assets/spec-validator.yml` as validator after this skill returns. The reviewer's findings are passed back to this skill for refinement if needed.6061## Assets6263- `assets/spec-template.md` — canonical structure of a spec64- `assets/spec-validator.yml` — checklist used by the reviewer to validate a spec6566## Skills this skill may invoke6768- `aidd-pm:04:clarity` (when the request needs a clarification round before drafting)6970## Guardrails7172- Never invent missing information. Mark gaps as `TBD: <question>` with a precise question.73- Never modify a spec that has already been validated and locked.74- Keep the spec readable: clear section headers, bulleted criteria, explicit non-goals.75- Do not include implementation details (libraries, patterns, file layout) — those belong to the plan and the implementer.