Agent skill
propose-feature-requirements
Create or update feature requirements specification using EARS notation with examples and appendices
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/design/propose-feature-requirements-cbgbt-bottlerocket-forest
SKILL.md
Propose Feature Requirements Skill
Create a formal requirements specification for a feature using EARS notation. This translates the concept into testable, specific requirements.
Roles
You (reading this file) are the orchestrator.
| Role | Reads | Does |
|---|---|---|
| Orchestrator (you) | SKILL.md, next-step.py output | Runs state machine, spawns subagents, writes outputs |
| State machine | progress.json, workspace files | Decides next action, validates gates |
| Subagent | Phase file (e.g., VERIFY.md) | Executes phase instructions |
⚠️ You do NOT read files in phases/ — pass them to subagents via context_files. Subagents read their phase file and execute it.
Orchestrator Loop
workspace = "planning/<feature-slug>"
mkdir workspace
while True:
action = bash("python3 skills/propose-feature-requirements/next-step.py <workspace>")
parse action as JSON
if action.type == "done":
read workspace/03-validate.md for final results
break
if action.type == "gate_failed":
report failure: action.reason
break
if action.type == "spawn":
result = spawn(
prompt = action.prompt,
context_files = action.context_files,
context_data = action.context_data,
allow_tools = True
)
write result to workspace/<action.output_file>
Handling Exceptions
The state machine handles the happy path. When things go wrong, exercise judgment:
| Exception | Response |
|---|---|
| Spawn times out | Assess: retry with longer timeout? Report partial progress? |
| Spawn returns error | Report failure to state machine, let it track retries |
| Empty/invalid response | Treat as failure, report to state machine |
Don't silently advance past failures. Either retry, fail explicitly, or document gaps.
Anti-Patterns
| ❌ Don't | ✅ Do |
|---|---|
| Read phase files yourself | Pass phase files via context_files to subagents |
| Decide what phase is next | State machine decides via next-step.py |
| Skip gates "because it looks done" | Always validate gates |
| Store state in your memory | State lives in progress.json |
| Silently advance past failures | Retry, fail, or document gaps |
Phases
- VERIFY: Check that concept exists and identify any idea-honing insights
- SETUP: Copy template and determine requirements prefix
- WRITE: Fill in requirements using EARS notation with examples and appendices
- VALIDATE: Review for completeness, testability, and correct formatting
Inputs
Before starting, gather:
- Feature number and name (format: NNNN-feature-name)
- Concept document must exist at docs/features/NNNN-feature-name/concept.md
Outputs
- Requirements specification at docs/features/NNNN-feature-name/requirements.md
- Validation report at workspace/03-validate.md
When to Use
- Feature concept exists and is approved
- Need to specify exactly what the system must do
- Ready to define functional and non-functional requirements
Prerequisites
- Feature concept document exists in
docs/features/NNNN-feature-name/concept.md - Concept has been reviewed and approved
- User understands the feature scope
Next Steps
After creating requirements:
- Review for completeness and testability
- Get feedback from implementors
- Once requirements are solid, move to design using
propose-feature-designskill
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?