| name | sdd-2-specify |
| description | Create technology-free feature specification — WHAT and WHY, not HOW. Use when: writing a feature specification after the Explore phase, defining acceptance criteria and complexity scores, documenting goals and non-goals. |
SDD Phase 2: Specify
Focus on user value. Do NOT include stack, framework, or technology choices in the specification.
Inputs
- slug (Optional): Slug from the Explore phase. Inferred from context if omitted.
- dossier (Optional): Path to research dossier from SDD Phase 1.
Step 0: Doctrine Resolution
Before starting, resolve project conventions:
- Check for project doctrine files:
docs/project-rules/ (constitution.md, rules.md, idioms.md, architecture.md)
copilot-instructions.md, AGENTS.md, CONTRIBUTING.md, README.md
- If no doctrine found, scan the codebase:
- Dependency manifests (package.json, *.csproj, Cargo.toml, pyproject.toml, go.mod)
- Build system (Makefile, Justfile, Taskfile.yml, scripts/)
- Test framework (test directories, test configuration files)
- Directory patterns and naming conventions
- Extract and document:
- Build command, test command, coverage threshold (if any)
- Naming conventions, module/service topology, CI platform
- Unknown values become explicit
[TODO] markers — never assume silently.
Step 1: Load Research Context
If a research dossier exists (at {dossier} or .copilot-tracking/plans/{date}/{slug}/research-dossier.md), read it and extract relevant findings. If no dossier is available, proceed with the information provided in the user's topic description.