Agent Skill
2/7/2026requirements-definition
This skill should be used when the user asks to "define requirements", "create specification", "clarify requirements", "write requirements document", or mentions requirement analysis. Provides comprehensive requirements definition methodology.
M
motoki317
2GitHub Stars
1Views
npx skills add motoki317/dotfiles
SKILL.md
| Name | requirements-definition |
| Description | This skill should be used when the user asks to "define requirements", "create specification", "clarify requirements", "write requirements document", or mentions requirement analysis. Provides comprehensive requirements definition methodology. |
name: Requirements Definition description: This skill should be used when the user asks to "define requirements", "create specification", "clarify requirements", "write requirements document", or mentions requirement analysis. Provides comprehensive requirements definition methodology.
Requirements Definition
Methodology for requirements definition ensuring comprehensive specification before implementation.
Investigation Workflow
- Directory structure - Glob
- Symbol analysis - get_symbols_overview
- Keyword search - Grep or find_symbol
- Dependency mapping - find_referencing_symbols
- Specific content - Read
- Latest API docs - Context7
Question Scoring
Score each unclear requirement (1-5 each):
| Criterion | Description |
|---|---|
| Design Branching | How much does answer affect design? |
| Irreversibility | How difficult to change after implementation? |
| Investigation Impossibility | Cannot determine through code alone? |
| Effort Impact | How much affects implementation effort? |
Critical questions (score >= 15): Must answer before proceeding.
Example:
Question: "Should we use TypeScript's strict mode?"
- Design Branching: 5
- Irreversibility: 4
- Investigation Impossibility: 3
- Effort Impact: 4
Total: 16 (critical)
Question Types
- Spec confirmation: "Does API return null or empty array?"
- Design choice: "REST or GraphQL?"
- Constraint: "Must support IE11?"
- Scope: "Include admin features in v1?"
- Priority: "Which feature first?"
Functional Requirements Format
FR-001: User Authentication
Priority: mandatory
- Users can log in with email/password
- Session expires after 24h inactivity
- Failed logins rate-limited (max 5/hour)
Non-Functional Requirements
Performance:
- API response < 200ms (95th percentile)
- Support 1000 concurrent users
Security:
- AES-256 encryption at rest
- JWT authentication
Maintainability:
- Test coverage >= 80%
- Documentation for public APIs
Technical Specifications
Design Decision: Use React Query for data fetching
Rationale:
- Built-in caching
- Auto background refetching
- TypeScript support
- Widely adopted in codebase
Impact: All API-calling components, test utilities
Quality Metrics
| Metric | 90-100 | 70-89 | 50-69 | <50 |
|---|---|---|---|---|
| Feasibility | Straightforward | Some research | Challenges | Architecture changes |
| Objectivity | All verified | Most verified | Mixed | Mostly assumptions |
Output Structure
- Summary: Request, background, expected outcomes
- Current State: System, stack, patterns
- Functional Requirements: FR-XXX with priority and acceptance criteria
- Non-Functional: Performance, security, maintainability
- Technical Specs: Design decisions with rationale
- Metrics: Feasibility and objectivity scores
- Constraints: Technical and operational
- Test Requirements: Coverage, scenarios, acceptance
- Task Breakdown: Dependencies, phases, handoff
Best Practices
Critical:
- Investigate current state before defining requirements
- Score questions and prioritize high-score (>= 15)
- Distinguish mandatory from optional with rationale
High:
- Document all assumptions when unclear
- Map requirements to test scenarios
- Include rationale for design decisions
Anti-Patterns
| Avoid | Instead |
|---|---|
| Vague requirements | Specific, testable with acceptance criteria |
| Implementation details | Describe what, not how |
| Skipping investigation | Always investigate first |
| Missing constraints | Document all constraints |
| Undefined priorities | Mark mandatory/optional |
Constraints
Must:
- Investigate before concluding
- Ask questions before assuming
- Include (Recommended) option in AskUserQuestion
Avoid:
- Proceeding without answering critical questions
- Justifying user preferences over technical validity
Skills Info
Original Name:requirements-definitionAuthor:motoki317
Download