| name | feature-spec |
| description | Start a new feature by creating sphinx-needs spec documents (requirements, plan, validation) with proper traceability links |
Feature Spec Skill
When invoked, this skill guides the creation of a new feature specification
using sphinx-needs directives.
Process
- Find the next incomplete feature in
docs/constitution/roadmap.rst
- Create a git branch:
feature/<feature-name>
- Ask the user 3 questions:
- Scope: What's included and excluded?
- Decisions: Any technical constraints or preferences?
- Validation: How do we know it's done?
- Create three files in
docs/features/<feature-name>/:
requirements.rst
Use .. req:: directives with:
- Unique IDs following
REQ_NNN pattern
:requires: FEAT_NNN linking to the roadmap feature
:priority: set to high/medium/low
:status: open
plan.rst
Use .. spec:: directives with:
- Unique IDs following
SPEC_NNN pattern
:specified_by: REQ_NNN linking to requirements
:status: draft
- Organized in implementation groups
validation.rst
Use .. test:: directives with:
- Unique IDs following
TC_NNN pattern
:test_type: set to automated/manual/smoke
:verified_by: SPEC_NNN linking to specs
:status: draft
- Update the feature status to
in_progress in roadmap.rst
- Run
sphinx-build to verify all directives parse correctly
- Commit the feature spec
ID Numbering
Check existing RST files for the highest used ID numbers and continue from there.
Do not reuse or duplicate IDs.
Schema Validation
All directives must pass the schema in docs/schemas.json. Key rules:
- IDs must match
^[TYPE]_\d{3}$ pattern
- Requirements need
:priority:
- Tests need
:test_type:
- Reqs should link to features (warning)
- Specs should link to reqs (warning)