| 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