feature-design
Skill0 starsChanged 3 months agoMITView on GitHub
Guide users through feature specification development using EARS patterns and INCOSE quality rules. Creates requirements documents and technical design specifications with iterative user feedback.
- Commits and pushes
4 other projects use a version of this.
Adopted by
Most recently taken up by
- choughton/feature-design-prompt-templatestheir own version, first seen Nov 8, 2026
- Wiserax/wisecrafttheir own version, first seen Oct 25, 2026
- streetsidesoftware/cspelltheir own version, first seen Oct 17, 2026
- masterno/agent-skillstheir own version, first seen Apr 16, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- streetsidesoftware/cspell★ 1.7ksame name
- masterno/agent-skills★ 2same name
- choughton/feature-design-prompt-templates★ 1same name
- Wiserax/wisecraft★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository5 other files it gives its agents.
- deploy-websiteSkill
- feature-implementerSkill
- implementation-plannerSkill
- project-wikiSkill
- publish-websiteSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
19 rules. 0 are common, 15 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
15
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 43
No vague terms: - Avoid "quickly", "adequate", "user-friendly"
- Distinctive: line 44
No escape clauses: - Avoid "where possible", "if feasible"
- Distinctive: line 45
No negative statements: - Avoid "SHALL NOT" (rephrase positively)
- Distinctive: line 48
Consistent terminology: - Use defined terms from glossary
- Distinctive: line 49
No pronouns: - Avoid "it", "them", "this"
- Distinctive: line 50
No absolutes: - Avoid "never", "always", "100%"
- Very specific: line 136
Read project documentation from docs/ if available:
- Distinctive: line 150
Ask clarifying questions (maximum 3 questions per round)
- Distinctive: line 152
Update document based on feedback
- Distinctive: line 156
Add pretty-printer requirements for each parser
- Very specific: line 163
Create feature name with date prefix (e.g., 2025-01-15-user-authentication)
- Very specific: line 164
Create initial design outline in specs/{FEATURE_NAME}/design.md
- Very specific: line 167
Read docs/INDEX.md and docs/ARCHITECTURE.md
- Distinctive: line 180
Ensure design addresses all requirements from Phase 1
- Distinctive: line 185
Ask technical questions (maximum 3 per round)
- Distinctive: line 186
Update based on feedback
- Distinctive: line 189
Commit changes with git commit
- Distinctive: line 216
All communication with users must use the project's configured language
- Distinctive: line 218
Always validate requirements against both EARS and INCOSE rules
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Feature Design
Transform rough feature ideas into detailed requirements and technical design documents through an iterative, user-collaborative process.
Overview
This skill implements a Spec-Driven Development (SDD) workflow that systematically:
- Captures and refines feature requirements using EARS (Easy Approach to Requirements Syntax)
- Validates requirements against INCOSE semantic quality rules
- Creates technical design documents with architecture, components, and implementation plans
Glossaries
EARS (Easy Approach to Requirements Syntax)
EARS provides standardized templates for writing clear, unambiguous requirements:
| Pattern | Template | Example |
| Ubiquitous | The <system> SHALL <function> | The system SHALL provide user login functionality |
| Event-Driven | WHEN <trigger>, the <system> SHALL <function> | WHEN user clicks "Login", the system SHALL validate credentials |
| State-Driven | WHILE <state>, the <system> SHALL <function> | WHILE user is logged in, the system SHALL display dashboard |
| Unwanted-Behavior | IF <condition>, the <system> SHALL <function> | IF password fails 3 times, the system SHALL lock account for 30 minutes |
| Complex | [WHERE] [WHILE] [WHEN/IF] THE <system> SHALL <function> | Clause order: WHERE → WHILE → WHEN/IF → THE → SHALL |
INCOSE Semantic Quality Rules
Requirements must comply with these quality rules:
- Active voice - Clearly state who does what
- No vague terms - Avoid "quickly", "adequate", "user-friendly"
- No escape clauses - Avoid "where possible", "if feasible"
- No negative statements - Avoid "SHALL NOT" (rephrase positively)
- One thought per requirement - Single, testable concept
- Explicit conditions - Measurable criteria and thresholds
- Consistent terminology - Use defined terms from glossary
- No pronouns - Avoid "it", "them", "this"
- No absolutes - Avoid "never", "always", "100%"
- Solution-free - Focus on what, not how
Document Templates
Requirements Document (requirements.md)
# Requirements Document
## Introduction
[Summary of the feature/system]
## Glossary
- **System/Term**: [Definition]
## Requirements
### Requirement 1
**User Story:** AS [role], I want [feature], so that [benefit]
#### Acceptance Criteria
1. WHEN [event], [system] SHALL [response]
2. WHILE [state], [system] SHALL [response]
3. IF [unwanted event], [system] SHALL [response]
... (2-5 EARS definitions per requirement)
[Repeat for other requirements]Design Document (design.md)
# [Feature Title]
Feature Name: feature-name
Updated: yyyy-mm-dd
## Description
[Feature description]
## Architecture
[Mermaid diagrams as needed]
[Architecture explanation]
## Components and Interfaces
[Component and interface descriptions]
## Data Models
[Data structure descriptions]
## Correctness Properties
[Invariants and constraints]
## Error Handling
[Error scenarios and handling strategies]
## Test Strategy
[Testing approach and coverage]
## References
[^1]: (Website) - [Page description](URL)
[^2]: (Filename#Lnnn) - [File link](relative/path)Workflow
Phase 1: Requirements Generation
- Initialize Feature
- Generate a short feature name in
kebab-caseformat (e.g.,user-authentication) - Create directory
specs/{FEATURE_NAME}/
- Generate a short feature name in
- Gather Context
- Read project documentation from
docs/if available:INDEX.md- Project overviewARCHITECTURE.md- System architecture
- Scan
specs/*/for related historical requirements - Understand existing code structure
- Read project documentation from
- Generate Initial Requirements
- Decompose the feature idea into user stories
- Apply EARS patterns to each acceptance criterion
- Validate against INCOSE quality rules
- Write to
specs/{FEATURE_NAME}/requirements.md
- Iterate with User
- Present requirements document to user
- Ask clarifying questions (maximum 3 questions per round)
- Provide options with reasonable defaults
- Update document based on feedback
- Special Handling for Parsers/Serializers
- Explicitly list all parsers and serializers as requirements
- Add pretty-printer requirements for each parser
- Include round-trip validation in acceptance criteria
Phase 2: Technical Design
- Initialize Design Document
- Get current date via
date '+%Y-%m-%d' - Create feature name with date prefix (e.g.,
2025-01-15-user-authentication) - Create initial design outline in
specs/{FEATURE_NAME}/design.md
- Get current date via
- Gather Technical Context
- Read
docs/INDEX.mdanddocs/ARCHITECTURE.md - Analyze project structure and existing patterns
- Review related specifications in
specs/
- Read
- Generate Design Document
- Include all required sections:
- Description
- Architecture (with Mermaid diagrams)
- Components and Interfaces
- Data Models
- Correctness Properties
- Error Handling
- Test Strategy
- Ensure design addresses all requirements from Phase 1
- Highlight design decisions and rationale
- Include all required sections:
- Iterate with User
- Present design document to user
- Ask technical questions (maximum 3 per round)
- Update based on feedback
- Finalize
- Commit changes with
git commit - Push to remote with
git push - Summarize deliverables to user
- Commit changes with
Decision Points
During the workflow, ask the user about:
| Topic | Example Questions |
| Scope | Which user roles need this feature? |
| Integration | Should this integrate with existing systems? |
| Performance | What are the expected load requirements? |
| Security | What authentication/authorization is needed? |
| Data | What data needs to be persisted? |
| Error Handling | How should failures be communicated to users? |
Output Files
specs/{FEATURE_NAME}/
├── requirements.md # EARS-compliant requirements
└── design.md # Technical design specificationNotes
- All communication with users must use the project's configured language
- Maximum 3 clarifying questions per iteration round
- Always validate requirements against both EARS and INCOSE rules
- Correct non-compliant user inputs and explain corrections
- Design documents should be solution-agnostic where possible
- Include Mermaid diagrams for complex architectures
- Reference specific files with line numbers when applicable
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

