requirements
SKILL.md
Requirements
Instructions
Create or update the requirements catalog at docs/requirements.md based on docs/vision.md.
The document contains functional requirements, non-functional requirements, and constraints organized as Markdown
tables.
DO NOT
- Mix requirement types in a single table
- Skip the user story format for functional requirements
- Use duplicate IDs across requirement types
- Leave the Status column empty
Requirement Types
Functional Requirements (FR)
Define what the system should do. Always use the user story format:
Format: As a [role], I want [goal] so that [benefit].
| ID | Title | User Story | Priority | Status |
|---|---|---|---|---|
| FR-001 | Create Task | As a project manager, I want to create tasks so that I can track work items. | High | Open |
| FR-002 | Assign Task | As a project manager, I want to assign tasks to team members so that work is distributed. | High | Open |
| FR-003 | Filter Tasks | As a team member, I want to filter tasks by status so that I can focus on relevant items. | Medium | Open |
Non-Functional Requirements (NFR)
Define quality attributes. Must be measurable.
| ID | Title | Requirement | Category | Priority | Status |
|---|---|---|---|---|---|
| NFR-001 | Response Time | All page loads must complete within 2 seconds. | Performance | High | Open |
| NFR-002 | Availability | System must maintain 99.9% uptime during business hours. | Availability | High | Open |
| NFR-003 | Concurrent Users | System must support 100 concurrent users without degradation. | Scalability | Medium | Open |
| NFR-004 | Data Encryption | All data in transit must use TLS 1.3 encryption. | Security | High | Open |
Constraints (C)
Define limitations and boundaries imposed on the solution.
| ID | Title | Constraint | Category | Priority | Status |
|---|---|---|---|---|---|
| C-001 | Runtime Platform | Backend must run on Java 21 LTS. | Technical | High | Open |
| C-002 | Database Platform | System must use PostgreSQL 16. | Technical | High | Open |
| C-003 | Browser Support | UI must support Chrome, Firefox, and Safari (latest 2 versions). | Technical | High | Open |
| C-004 | Budget Limit | Total development cost must not exceed $50,000. | Business | High | Open |
| C-005 | Deadline | System must be production-ready by Q2 2025. | Schedule | High | Open |
Reference
See REFERENCE.md for ID prefixes, priority levels, status values, NFR categories, and constraint categories.
Requirement Quality Checks
Every requirement must pass these checks before finalizing:
| Check | Rule | Bad Example | Good Example |
|---|---|---|---|
| Measurable | NFRs must have a number or threshold | "System should be fast" | "Pages load within 2 seconds" |
| Singular | One requirement per row | "System must log in and export data" | Split into FR-001 and FR-002 |
| Unambiguous | No subjective terms | "User-friendly interface" | "WCAG 2.1 AA compliant" |
| Testable | Can write a pass/fail test | "System is reliable" | "99.9% uptime over 30 days" |
| Unique IDs | No duplicate IDs across all tables | Two FR-001 entries | Each ID used exactly once |
Error Recovery
- Incomplete source document: List what is missing (roles, NFR categories, constraints) and ask the user to clarify before proceeding
- Ambiguous requirement from user: Rewrite it as a measurable requirement and ask the user to confirm the threshold
- Conflicting requirements: Flag the conflict explicitly (e.g., "FR-003 requires real-time sync but C-002 limits to batch processing") and ask the user to resolve
- Missing stakeholder roles: Default to generic roles (User, Admin, System) and note them for user review
Workflow
- Read the vision document or project brief
- Use TodoWrite to create tasks for each requirement type
- Write the document header
- For functional requirements:
- Identify user roles
- Define user stories with clear goals and benefits
- Assign priorities based on business value
- For non-functional requirements:
- Define measurable quality attributes
- Categorize by NFR type
- Ensure requirements are testable
- For constraints:
- Document technical and business limitations
- Categorize by constraint type
- Validate: run every requirement against the quality checks table above
- No duplicate IDs across all tables
- All Status columns filled
- All user stories follow "As a [role], I want [goal] so that [benefit]"
- All NFRs contain a measurable threshold
- Mark todos complete
Weekly Installs
4
Repository
martinellich/ai…ketplaceGitHub Stars
37
First Seen
13 days ago
Security Audits
Installed on
cursor4
gemini-cli3
github-copilot3
codex3
kimi-cli3
amp3