home / skills / pluginagentmarketplace / custom-plugin-product-manager / requirements

requirements skill

/skills/requirements

This skill converts customer insights into clear user stories, acceptance criteria, and scope guidance to empower engineers.

npx playbooks add skill pluginagentmarketplace/custom-plugin-product-manager --skill requirements

Review the files below or copy the command above to add this skill to your agents.

Files (4)
SKILL.md
7.8 KB
---
name: requirements-specification
version: "2.0.0"
description: Master requirements gathering, user story writing, acceptance criteria definition, and scope management. Transform insights into clear, actionable specifications.
sasmp_version: "1.3.0"
bonded_agent: 03-requirements-definition
bond_type: PRIMARY_BOND
parameters:
  - name: feature_context
    type: string
    required: true
  - name: output_format
    type: string
    enum: [user_stories, prd, bdd, use_cases]
retry_logic:
  max_attempts: 3
  backoff: exponential
logging:
  level: info
  hooks: [start, complete, error]
---

# Requirements & Specification Skill

Transform customer insights into clear, detailed specifications that engineering can build from. Master user story writing, define acceptance criteria, and manage scope ruthlessly.

## User Story Writing (INVEST Format)

### INVEST Principles

**I** - Independent (minimal dependencies)
**N** - Negotiable (details can be discussed)
**V** - Valuable (delivers customer value)
**E** - Estimable (team can estimate effort)
**S** - Small (can complete in 1-2 sprints)
**T** - Testable (clear success criteria)

### User Story Template

```
As a [user role]
I want [action/capability]
So that [benefit/outcome]

Acceptance Criteria:
Given [context]
When [user action]
Then [expected result]
```

### Good vs Bad Examples

**Bad Story:**
```
As a user
I want a better dashboard
So that I can see my data
```
Problem: Too vague, not testable, too large

**Good Story:**
```
As a project manager
I want to see all tasks assigned to me in the last 24 hours
So that I can track what happened while I was offline

Acceptance Criteria:
Given I'm logged in
When I view the Home dashboard
Then I see a "Recent Tasks" section
And it shows tasks assigned to me from last 24 hours
And tasks are sorted by assignment time (newest first)
And clicking a task opens the task detail page
```

## Acceptance Criteria (BDD Format)

### Scenario Template

```
Scenario: [Specific user action]
Given [initial context/state]
When [user performs action]
Then [expected result]
And [additional verification]
```

### Example: Password Reset Feature

```
Scenario: User resets password with valid email
Given I'm on the login page
And I'm not logged in
When I click "Forgot Password?"
And enter my email address
And click "Send Reset Email"
Then I see message "Check your email for reset link"
And a password reset email is sent to that address
And the email contains a valid reset link

Scenario: User uses expired reset link
Given I received a password reset email
And the reset link is more than 24 hours old
When I click the reset link
Then I see "Link has expired"
And I'm offered to request a new reset link

Scenario: Password doesn't meet requirements
Given I'm on password reset page
When I enter password "123"
Then I see error "Password must be 8+ characters"
And the form doesn't submit
```

## Requirements Document Structure

### Executive Summary (1 page)
- Overview of feature/product
- Business goal/context
- Key benefits
- Timeline
- Success metrics

### Requirements Overview (5-10 pages)

**Functional Requirements**
- What the system must do
- Features and capabilities
- User interactions
- Data handling

**Non-Functional Requirements**
- Performance (response time < 2s)
- Scalability (support 10K concurrent users)
- Security (encrypt PII)
- Availability (99.9% uptime)
- Accessibility (WCAG AA compliance)

**Business Requirements**
- Why we're building this
- Business metrics
- Customer need
- Competitive advantage

**Constraints**
- Technical constraints
- Budget constraints
- Timeline constraints
- Resource constraints

### User Stories & Epics (20-50 pages)

Structure:
- **Epic:** Large initiative grouping related stories
- **User Stories:** Individual features (10-20 stories per epic)
- **Tasks:** Engineering breakdown (if needed)

**Each Story Includes:**
- Story ID and title
- As a... I want... so that...
- Acceptance criteria (3-8 scenarios)
- Story points estimate
- Dependencies
- Design reference (wireframe/mockup)
- Note/clarifications

### Use Cases & Flows (10-20 pages)

**Use Case Template:**
```
Use Case: [Use Case Name]
Primary Actor: [User role]
Precondition: [State before action]

Main Flow:
1. User does X
2. System responds with Y
3. User does Z
4. System returns result

Alternative Flows:
3a. If data invalid
    - System shows error
    - User corrects and resubmits
```

### Data Models (10 pages)

**Entity Relationship Diagram**
- Entities (User, Post, Comment)
- Relationships (User creates Posts)
- Attributes (Post title, content, creation_date)
- Primary keys, foreign keys

### UI/Wireframes (Attached)
- User interface mockups
- User flows and navigation
- Key interactions

## Scope Management

### MVP vs Nice-to-Have

**MoSCoW Method:**

**MUST Have** (Non-negotiable)
- Core functionality
- Without these: product won't work
- Must launch with these
- Example: User login, basic content view

**SHOULD Have** (Important but not critical)
- Enhance user experience
- Value add
- If time allows
- Example: Advanced search, saved preferences

**COULD Have** (Nice-to-have)
- Polish features
- Low priority
- Do if extra time/budget
- Example: Dark mode, animations

**WON'T Have** (Explicitly out of scope)
- Clear for future
- Helps say "no" to stakeholders
- Plan for later version
- Example: Mobile app (launching web first)

### Scope Creep Prevention

**Red Flags:**
- "Can we just add...?"
- "This would be better if..."
- "What about also including..."
- "One more thing..."

**Responses:**
- "That's a great idea. Let's add it to the roadmap for Q2."
- "That would add 3 weeks. What would you deprioritize?"
- "That's outside current scope. Document for next phase."

### Change Management

**Change Request Process:**
1. Document the change
2. Assess impact (time, complexity)
3. Present trade-offs
4. Get stakeholder decision
5. Update requirements document
6. Communicate to team

## Common Pitfalls

### Too Vague
❌ "Improve performance"
✅ "Reduce page load time from 4s to under 2s"

### No Success Criteria
❌ "Build dashboard"
✅ "Build dashboard showing active users in last 24h with 95% accuracy"

### Missing Context
❌ "Fix the bug"
✅ "When searching with special characters, results show error. Fix to handle special chars."

### Over-Specifying
❌ "Use Redux with saga middleware for state management"
✅ "State changes must be traceable and debuggable"

### Ambiguous Acceptance Criteria
❌ "System should be fast"
✅ "API response time < 200ms for 95th percentile"

## Requirements Review Checklist

- ✓ Each requirement is testable
- ✓ No requirement specifies implementation
- ✓ Dependencies identified and documented
- ✓ Acceptance criteria clear and complete
- ✓ Engineering has estimated effort
- ✓ Design mockups provided
- ✓ Data models documented
- ✓ Edge cases considered
- ✓ Scope clearly defined (MVP vs future)
- ✓ Success metrics identified
- ✓ Timeline realistic
- ✓ Reviewed by engineering lead
- ✓ Reviewed by design lead
- ✓ Stakeholder aligned

## Troubleshooting

### Yaygın Hatalar & Çözümler

| Hata | Olası Sebep | Çözüm |
|------|-------------|-------|
| Story çok büyük | Epic olarak yazıldı | Story breakdown |
| AC belirsiz | Vague criteria | Given/When/Then format |
| Scope creep | Change mgmt yok | Change request process |
| Missing edge cases | Happy path focus | Edge case workshop |

### Debug Checklist

```
[ ] Her story INVEST criteria geçiyor mu?
[ ] Acceptance criteria testable mı?
[ ] Non-functional requirements tanımlı mı?
[ ] Dependencies documented mı?
[ ] Engineering review yapıldı mı?
```

### Recovery Procedures

1. **Ambiguous Requirements** → Clarification meeting
2. **Scope Creep** → Trade-off matrix
3. **Missing Feasibility** → Engineering spike

---

**Write clear requirements and avoid 90% of project problems!**

Overview

This skill helps product teams turn customer insights into precise, actionable specifications engineers can build from. It focuses on writing INVEST-compliant user stories, defining BDD-style acceptance criteria, and managing scope with MoSCoW and change-control practices. The outcome is clearer work items, fewer ambiguities, and faster delivery with predictable scope.

How this skill works

The skill walks you through creating user stories using the INVEST checklist and a standard template, then converts requirements into BDD-style scenarios and acceptance criteria. It prescribes a requirements document structure (executive summary, functional and non-functional requirements, user stories/epics, flows, data models, UI references) and offers scope-management workflows including MoSCoW prioritization and a formal change request process. It also flags common pitfalls and provides a review checklist to ensure testability and alignment.

When to use it

  • Drafting feature specs before a sprint planning session
  • Converting research or stakeholder requests into testable user stories
  • Defining acceptance criteria for QA and automation
  • Scoping an MVP and separating must-have vs nice-to-have items
  • Managing requests that risk scope creep

Best practices

  • Write stories in As a [role] / I want / So that format and ensure each meets INVEST
  • Use Given/When/Then for acceptance criteria and include edge cases
  • Define measurable non-functional requirements (performance, availability, security)
  • Prioritize with MoSCoW and document explicit out-of-scope items
  • Log every change request, assess impact, present trade-offs, and get stakeholder sign-off

Example use cases

  • Create a 1-page executive summary and 5–10 page requirements overview for a new feature
  • Break an epic into 10–20 INVEST stories with story points, dependencies, and mockups
  • Write BDD scenarios for critical flows like password reset, payments, or onboarding
  • Run a scope review to separate MVP from nice-to-have and prevent scope creep
  • Use the review checklist to validate readiness before handoff to engineering

FAQ

What makes a user story 'INVEST' ready?

An INVEST-ready story is independent, negotiable, valuable, estimable, small (1–2 sprints), and testable with clear acceptance criteria.

How do I handle stakeholders requesting extra features mid-sprint?

Follow the change request process: document the change, assess time/complexity impact, present trade-offs, get a stakeholder decision, update requirements, and communicate the update to the team.