Agent skill
requirements
Transform intent into user stories with acceptance criteria. Use after intent clarification to build a prioritised backlog. Produces stories in standard format ready for spec phase.
Install this agent skill to your Project
npx add-skill https://github.com/sofer/.agents/tree/main/skills/requirements
SKILL.md
Requirements
Transform clarified intent into actionable user stories with acceptance criteria.
Input
Expect intent output containing:
- Problem statement
- Users and their needs
- Constraints (technical, business, timeline)
- Success criteria
- Coding standards (if gathered)
Process
1. Identify story candidates
Review the intent and identify discrete pieces of functionality:
- Each user need typically maps to one or more stories
- Each success criterion should be achievable by one or more stories
- Break large features into smaller, independently deliverable stories
2. Write user stories
For each story, use the standard format:
As a [user persona],
I want [goal/desire],
So that [benefit/value].
Guidelines:
- Stories should be independent where possible
- Stories should be negotiable (not contracts)
- Stories should be valuable to the user
- Stories should be estimable
- Stories should be small enough to complete in one iteration
- Stories should be testable
3. Define acceptance criteria
For each story, write acceptance criteria using Given/When/Then:
Given [initial context/state],
When [action is taken],
Then [expected outcome].
Guidelines:
- Cover the happy path first
- Include key edge cases
- Be specific and testable
- Avoid implementation details
- Each criterion should be independently verifiable
4. Identify dependencies
Mark dependencies between stories:
- Technical dependencies (A must exist before B can work)
- Logical dependencies (A provides context for B)
- Avoid circular dependencies
5. Prioritise
Assign priority based on:
- User value (higher = more valuable)
- Risk reduction (higher = reduces more uncertainty)
- Dependencies (blocked stories rank lower)
- Quick wins (small high-value items rank higher)
Use priority numbers: 1 = highest, incrementing for lower priority.
6. Estimate complexity
Assign t-shirt sizes:
- S - Few hours, single component
- M - A day or two, few components
- L - Several days, multiple components
- XL - Week or more, significant complexity (consider splitting)
Output
Generate backlog in this format:
backlog:
- id: "US-001"
title: "Short descriptive title"
description: |
As a [user],
I want [goal],
So that [benefit].
acceptance_criteria:
- "Given [context], when [action], then [result]"
- "Given [context], when [action], then [result]"
priority: 1
estimate: "M"
dependencies: []
- id: "US-002"
title: "Another story"
description: |
As a [user],
I want [goal],
So that [benefit].
acceptance_criteria:
- "Given [context], when [action], then [result]"
priority: 2
estimate: "S"
dependencies: ["US-001"]
Story ID format
Use US-NNN format with zero-padded numbers starting from 001.
Validation
Before finalising, verify:
- Every success criterion from intent is addressed by at least one story
- Every user persona has at least one story addressing their needs
- No orphan stories (stories that don't trace back to intent)
- Dependencies form a directed acyclic graph (no cycles)
- Acceptance criteria are testable without knowing implementation
- XL stories have been considered for splitting
Presentation
Present the backlog to the user:
- Summarise: "Based on the intent, I've identified N stories"
- Show dependency graph if complex
- List stories in priority order with estimates
- Ask for confirmation before saving to manifest
Manifest update
Once approved, update .sdlc/manifest.yaml:
manifest:
backlog:
- id: "US-001"
title: "..."
# ... full story details
current_story: null # Ready for story selection
Tips
- When in doubt, make stories smaller rather than larger
- Acceptance criteria should read like a test specification
- If a story has more than 5-7 acceptance criteria, consider splitting
- Technical tasks (refactoring, infrastructure) can be stories if they deliver user value indirectly
- Include "spike" stories for research when uncertainty is high
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
meeting-context
Determine why a meeting is happening and what should be discussed
reconcile
Analyse and resolve divergences between SDLC manifest and actual development state (git commits, branches, uncommitted files). Use when manifest and reality have drifted apart, or before picking next story to ensure clean state.
readme-review
Review the project README to understand what it does and suggest a recommended next step. Use when starting work on an unfamiliar project.
init-override
Create a symlink from AGENTS.md to CLAUDE.md in the current project directory. Use when the user wants to initialise a project to use AGENTS.md as the memory file instead of CLAUDE.md.
commit
Git workflow operations with Conventional Commits. Supports subcommands - branch (create feature branch), commit (stage and commit changes), pr (create pull request), merge (merge PR). Automatically available when the current directory is a git repository. Use when user needs git operations during development workflow.
contact-research
Research a person given their name and email, returning a brief profile with role, company, LinkedIn summary, and previous interactions
Didn't find tool you were looking for?