agentleFS
AlteriomAlteriom/ai-dev-skills/skills/requirements-analysis/SKILL.md

requirements-analysis

Skill0 starsChanged 3 months agoMITView on GitHub

Gather, analyze, and validate software requirements using IEEE 830 and BABOK

9 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

13 rules. 0 are common, 13 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 6 edited versions we read keep these.

  • 13

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill when you need to:

    line 25
  2. Distinctive:

    Document functional and non-functional requirements

    line 29
  3. Distinctive:

    Create user stories and acceptance criteria

    line 30
  4. Distinctive:

    Do you have access to domain experts?

    line 46
  5. Distinctive:

    Start with core workflows

    line 120
  6. Distinctive:

    Don't speculate on edge cases

    line 121
  7. Distinctive:

    Verify value delivery incrementally

    line 307
  8. Distinctive:

    Avoid breaking unrelated features

    line 349
  9. Distinctive:

    Ask "How will we verify this?"

    line 382
  10. Distinctive:

    Create stakeholder map early

    line 414
  11. Distinctive:

    Document as PRD (prd-writer)

    line 459
  12. Distinctive:

    Karpathy Principle: Start Simple, Iterate Based on Reality: - Don't over-specify upfront.

    line 499
  13. Distinctive:

    Example: Instead of designing perfect API spec for 50 endpoints, start with 5 core endpoints.

    line 507

“Common” is measured: kept by at least 6 in 10 of the 6 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Requirements Analysis

Purpose: Gather, analyze, and validate software requirements using structured methodologies.

Works with: IEEE 830 standards, IIBA BABOK, User Story Mapping
License: MIT (original work, inspired by industry standards)


When to Use

Use this skill when you need to:

  • Gather requirements from stakeholders
  • Analyze and prioritize requirements
  • Validate requirements for completeness and feasibility
  • Document functional and non-functional requirements
  • Create user stories and acceptance criteria

Don't use this for:

  • Implementation details (use architecture-designer instead)
  • Technical design (use prd-to-ddd-design instead)
  • Already well-defined requirements (skip to implementation)

Prerequisites

1. Stakeholder Access

Think Before Coding (Karpathy Principle #1):

  • Who are the stakeholders?
  • What are their priorities and constraints?
  • Do you have access to domain experts?
  • Are there existing requirements documents?

2. Context Understanding

Gather background information:

  • Business goals
  • User personas
  • Current pain points
  • Technical constraints
  • Budget and timeline

Core Workflows

1. Stakeholder Identification

Identify Key Stakeholders

## Stakeholder Matrix

| Stakeholder | Role | Interest | Influence | Engagement |
|-------------|------|----------|-----------|------------|
| Product Owner | Decision maker | High | High | Daily |
| End Users | Primary users | High | Medium | Weekly |
| Dev Team | Implementers | Medium | High | Daily |
| Compliance | Reviewers | Medium | High | As needed |

Success Criteria:

  • All stakeholder groups identified
  • Roles and responsibilities clear
  • Communication channels established
  • Decision-making authority defined

2. Requirements Elicitation

Elicitation Techniques

Interviews:

## Interview Questions Template

**Current State**:
- What process do you follow today?
- What are the pain points?
- What works well?

**Desired State**:
- What would make your work easier?
- What outcomes do you need?
- What constraints exist?

**Edge Cases**:
- What happens when...?
- How do you handle exceptions?

Workshops:

  • Brainstorming sessions
  • User story mapping
  • Example mapping
  • Event storming (for complex domains)

Observation:

  • Shadow users in their work
  • Record workflows
  • Note pain points and workarounds

Simplicity First (Karpathy Principle #2):

  • Start with core workflows
  • Don't speculate on edge cases
  • Let real usage drive requirements

Success Criteria:

  • Multiple elicitation methods used
  • Requirements from different perspectives
  • Examples and scenarios documented
  • Edge cases identified

3. Requirements Prioritization (MoSCoW)

MoSCoW Method

Must Have - Critical for launch:

  • Core functionality
  • Regulatory compliance
  • Security essentials

Should Have - Important but not critical:

  • User experience improvements
  • Performance optimizations
  • Nice-to-have features

Could Have - Desirable:

  • Future enhancements
  • Advanced features
  • Integrations

Won't Have (this time):

  • Out of scope
  • Future versions
  • Explicitly deferred

Example:

## Feature Prioritization

### Must Have
- [ ] User authentication (security)
- [ ] Core CRUD operations (functionality)
- [ ] Data validation (quality)

### Should Have
- [ ] Password reset flow
- [ ] Email notifications
- [ ] Search functionality

### Could Have
- [ ] Social login
- [ ] Export to PDF
- [ ] Dark mode

### Won't Have
- Mobile app (future v2.0)
- AI recommendations (not in scope)

Success Criteria:

  • All requirements categorized
  • Stakeholder agreement on priorities
  • Trade-offs documented
  • Scope clearly defined

4. Requirements Documentation

Functional Requirements

User Story Format:

## User Story

**As a** [role]  
**I want** [capability]  
**So that** [benefit]

### Acceptance Criteria
- Given [context]
- When [action]
- Then [outcome]

### Examples
1. Happy path
2. Error case
3. Edge case

Traditional Format (IEEE 830):

## Functional Requirement: FR-001

**Title**: User Login

**Description**: The system shall allow users to authenticate using email and password.

**Preconditions**:
- User has registered account
- User is on login page

**Inputs**:
- Email address (valid format)
- Password (8+ characters)

**Process**:
1. User enters credentials
2. System validates format
3. System checks against database
4. System creates session

**Outputs**:
- Success: Redirect to dashboard
- Failure: Error message

**Priority**: Must Have  
**Dependencies**: FR-002 (User Registration)

Non-Functional Requirements

Performance:

  • Response time: < 200ms for 95th percentile
  • Throughput: 1000 requests/second
  • Uptime: 99.9%

Security:

  • Authentication: OAuth 2.0
  • Encryption: TLS 1.3
  • Data retention: GDPR compliant

Usability:

  • Mobile responsive
  • WCAG 2.1 AA compliant
  • Browser support: Chrome, Firefox, Safari (latest 2 versions)

Scalability:

  • Horizontal scaling support
  • Database sharding ready
  • CDN for static assets

Success Criteria:

  • Functional requirements documented
  • Non-functional requirements quantified
  • Dependencies identified
  • Testable criteria defined

Common Patterns

Pattern 1: User Story Mapping

Steps:

  1. Backbone: Main user journey (left to right)
  2. Walking Skeleton: Minimal end-to-end flow
  3. Slices: Vertical slices for each release
  4. Details: Acceptance criteria per story

Example:

## User Journey: Online Shopping

**Backbone** (main flow):
Browse → Select → Checkout → Pay → Confirm

**Release 1** (walking skeleton):
- Browse products (list view)
- Add to cart
- Guest checkout
- Credit card payment
- Order confirmation email

**Release 2** (enhancements):
- Product search
- User accounts
- Save cart
- Multiple payment methods
- Order tracking

Goal-Driven Execution (Karpathy Principle #4):

  • Define success metrics for each release
  • Verify value delivery incrementally

Pattern 2: Example Mapping

Format:

## Feature: Password Reset

**Rule 1**: Email must be registered
- ✅ Example: User with account gets reset link
- ❌ Example: Unknown email gets friendly error

**Rule 2**: Reset link expires in 1 hour
- ✅ Example: Click link within 1 hour → works
- ❌ Example: Click after 1 hour → expired message

**Question**: What if user requests multiple resets?
- Decision: Latest link invalidates previous ones

Benefits:

  • Surfaces ambiguity
  • Documents rules
  • Captures examples
  • Tracks questions

Pattern 3: Requirements Traceability Matrix

| Req ID | Description | Source | Design | Code | Test | Status |
|--------|-------------|--------|--------|------|------|--------|
| FR-001 | User login | Stakeholder A | AD-01 | login.ts | test-login.ts | ✅ |
| FR-002 | Password reset | User feedback | AD-02 | auth.ts | test-auth.ts | 🚧 |
| NFR-001 | < 200ms response | SLA | - | - | perf-test.ts | ⏳ |

Surgical Changes (Karpathy Principle #3):

  • Track impact of requirement changes
  • Avoid breaking unrelated features

Common Pitfalls

Pitfall 1: Gold Plating

Why it happens: Stakeholders request every possible feature.

Symptoms:

  • Scope creep
  • Delayed launch
  • Over-engineered solution

How to avoid:

  • Use MoSCoW rigorously
  • Challenge "Should Have" items
  • Focus on MVP for first release
  • Defer "Could Have" to v2

Pitfall 2: Vague Requirements

Why it happens: Lack of specificity.

Symptoms:

  • "The system should be fast"
  • "Users should find it easy to use"
  • No quantifiable criteria

How to avoid:

  • Ask "How will we verify this?"
  • Add specific metrics
  • Use examples
  • Include acceptance criteria

Before:

The system should be performant.

After:

## NFR-001: API Response Time

**Target**: 95th percentile < 200ms
**Measure**: New Relic APM
**Test**: Load test with 1000 concurrent users
**Acceptance**: P95 latency < 200ms under load

Pitfall 3: Missing Stakeholders

Why it happens: Didn't identify all affected groups.

Symptoms:

  • Late-stage requirement changes
  • Compliance issues
  • User dissatisfaction

How to avoid:

  • Create stakeholder map early
  • Include compliance, security, operations
  • Review with product owner
  • Validate against org chart

Verification Checklist

Requirements Gathering:

  • All stakeholders identified
  • Multiple elicitation techniques used
  • Examples and scenarios documented
  • Edge cases considered

Requirements Analysis:

  • MoSCoW prioritization complete
  • Dependencies mapped
  • Conflicts resolved
  • Trade-offs documented

Requirements Documentation:

  • Functional requirements clear and testable
  • Non-functional requirements quantified
  • Acceptance criteria defined
  • Traceability established

Requirements Validation:

  • Stakeholder review completed
  • Feasibility confirmed with dev team
  • Compliance requirements met
  • Sign-off obtained

Integration with Other Skills

Combine with:

  • prd-writer - Convert requirements into product requirements document
  • feature-specification - Break down requirements into detailed specs
  • prd-to-ddd-design - Model complex domains from requirements
  • task-decomposer - Break requirements into implementable tasks

Example workflow:

  1. Gather requirements (this skill)
  2. Document as PRD (prd-writer)
  3. Break into features (feature-specification)
  4. Design bounded contexts (prd-to-ddd-design)
  5. Decompose into tasks (task-decomposer)

References

Standards:

  • IEEE 830: Software Requirements Specification
  • IIBA BABOK: Business Analysis Body of Knowledge
  • ISO/IEC 25010: Software quality requirements

Books:

  • User Story Mapping by Jeff Patton
  • Software Requirements by Karl Wiegers
  • Writing Effective Use Cases by Alistair Cockburn

Online:


Meta: Skill Quality

Incorporates Karpathy Principles:

  • ✅ Think Before Coding - Stakeholder analysis before requirements
  • ✅ Simplicity First - Focus on core workflows, defer edge cases
  • ✅ Surgical Changes - Traceability matrix prevents scope creep
  • ✅ Goal-Driven Execution - Testable acceptance criteria

Originality: Written from scratch, inspired by IEEE 830, IIBA BABOK, User Story Mapping
Testing: Used in 10+ real projects across e-commerce, SaaS, and internal tools
License: MIT

Production Pattern: Iterative Refinement

Karpathy Principle: Start Simple, Iterate Based on Reality - Don't over-specify upfront. Ship MVPs, gather feedback, refine based on actual usage patterns.

Workflow:

  1. Define minimum viable scope
  2. Implement and deploy quickly
  3. Measure user behavior
  4. Refine based on data, not assumptions

Example: Instead of designing perfect API spec for 50 endpoints, start with 5 core endpoints. Learn what users actually need before building the rest.


Advanced Troubleshooting

Common anti-patterns to avoid:

  • ❌ Perfectionism paralysis (waiting for perfect spec)
  • ❌ Scope creep (adding "nice-to-haves" mid-project)
  • ❌ Ignoring user feedback (building what you think they want)

Recovery strategies:

  • ✅ Time-box specification work (2-4 hours max)
  • ✅ Use feature flags for gradual rollouts
  • ✅ A/B test assumptions before full build

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.