skills/feature-design/SKILL.md
Guide users through feature specification development using EARS patterns and INCOSE quality rules. Creates requirements documents and technical design specifications with iterative user feedback.
npx skillsauth add chaitin/monkeycodeofficialplugins feature-designInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Transform rough feature ideas into detailed requirements and technical design documents through an iterative, user-collaborative process.
This skill implements a Spec-Driven Development (SDD) workflow that systematically:
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 |
Requirements must comply with these quality rules:
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.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)
Initialize Feature
kebab-case format (e.g., user-authentication).monkeycode/specs/{FEATURE_NAME}/Gather Context
.monkeycode/docs/ if available:
INDEX.md - Project overviewARCHITECTURE.md - System architecture.monkeycode/specs/*/ for related historical requirementsGenerate Initial Requirements
.monkeycode/specs/{FEATURE_NAME}/requirements.mdIterate with User
Special Handling for Parsers/Serializers
Initialize Design Document
date '+%Y-%m-%d'2025-01-15-user-authentication).monkeycode/specs/{FEATURE_NAME}/design.mdGather Technical Context
.monkeycode/docs/INDEX.md and .monkeycode/docs/ARCHITECTURE.md.monkeycode/specs/Generate Design Document
Iterate with User
Finalize
git commitgit pushDuring 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? |
.monkeycode/specs/{FEATURE_NAME}/
├── requirements.md # EARS-compliant requirements
└── design.md # Technical design specification
tools
Tailwind CSS 工具类参考和文档助手。提供 Tailwind CSS 文档的快速访问,用于查找工具类、理解 CSS 属性和查找代码示例。当 Claude 需要使用 Tailwind CSS 时使用此技能:(1)查找特定的工具类及其效果(2)理解如何在 Tailwind 中实现特定的 CSS 属性(3)查找布局、排版、颜色、间距等方面的代码示例和最佳实践(4)学习响应式设计模式、深色模式、悬停状态和其他变体
development
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
development
Use when executing implementation plans with independent tasks in the current session
tools
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.