Guide user story creation using the standard template. User stories contain acceptance criteria, agent assignments, and technical details. Use when BA agent extracts stories from PRD, creates new stories, or validates story structure.
/plugin marketplace add metasaver/claude-marketplace/plugin install core-claude-plugin@metasaver-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Purpose: Guide user story creation following the standard template Trigger: When BA agent extracts stories from PRD or creates new user stories Output: Well-structured user stories ready for execution planning
ALWAYS read the template before creating user stories:
templates/user-story-template.md
The template contains required frontmatter, story format, acceptance criteria structure, technical details sections, and Definition of Done checklist.
templates/user-story-template.md/skill agent-selection){epicFolder}/user-stories/{app}-{epic}-{NNN}-{desc}.mdEpic folder: docs/epics/{app}-{epic}-{description}/
Story file: {app}-{epic}-{NNN}-{description}.md
| Component | Format | Example |
|---|---|---|
| app | 3 letters lowercase | msm, crm, api |
| epic | 3 letters lowercase | wkr, aut, prh |
| NNN | 3-digit number | 001, 002, 015 |
| desc | kebab-case | create-skill |
Epic folder example: docs/epics/msm-wkr-workflow-refactor/
Story file example: msm-wkr-007-create-user-story-creation-skill.md
| Field | Format | Example |
|---|---|---|
| story_id | {app}-{epic}-{NNN} | msm-wkr-007 |
| epic_id | {app}-{epic} | msm-wkr |
| title | Brief description | Create user-story-creation-skill |
| status | pending/in-progress/complete/blocked | pending |
| complexity | 1-10 score | 3 |
| wave | Wave number (0 if unassigned) | 2 |
| agent | Full subagent_type | core-claude-plugin:generic:coder |
| dependencies | Story ID array | ["MSM-WKR-001"] |
| created | YYYY-MM-DD | 2024-12-29 |
| updated | YYYY-MM-DD | 2024-12-29 |
Agent format: {plugin}:{category}:{agent-name} or {plugin}:{category}:{subcategory}:{agent-name}
Before writing story, validate agent assignment against known agent patterns.
| Pattern | Example |
|---|---|
core-claude-plugin:generic:{name} | core-claude-plugin:generic:coder |
core-claude-plugin:domain:{domain}:{name} | core-claude-plugin:domain:backend:api-dev |
core-claude-plugin:config:{category}:{name} | core-claude-plugin:config:build-tools:vite-config |
backend-dev → suggest core-claude-plugin:generic:backend-devcoder → suggest core-claude-plugin:generic:codervite-config → suggest core-claude-plugin:config:build-tools:vite-config| Invalid Name | Suggested Correction |
|---|---|
backend-dev | core-claude-plugin:generic:backend-dev |
frontend-dev | core-claude-plugin:generic:frontend-dev |
coder | core-claude-plugin:generic:coder |
skill-author | core-claude-plugin:generic:skill-author |
agent-author | core-claude-plugin:generic:agent-author |
Reference: Use /skill agent-selection to find valid agent names for specific task types.
**As a** {role/persona}
**I want** {feature/capability}
**So that** {benefit/value}
| Component | Guidance |
|---|---|
| Role | Who benefits (user, developer, BA agent) |
| Want | Specific capability or feature |
| So that | Business value or outcome |
| Rule | Example |
|---|---|
| Be specific | "API returns 200 status" not "API works" |
| Be testable | "File exists at path X" not "File created" |
| Include edge cases | "Handles empty input gracefully" |
| Reference artifacts | "Matches schema in template.md" |
story_id present (format: {app}-{epic}-{NNN} e.g., msm-wkr-007)epic_id, title, status, complexity, wave presentagent present with full subagent_type pathdependencies array present (empty [] if none)created and updated dates present (YYYY-MM-DD)- [ ]{app}-{epic}-{NNN}-{desc}.mdInput: PRD requires "Create user-story-creation skill"
Process:
templates/user-story-template.mdstory_id: msm-wkr-007, agent: core-claude-plugin:generic:skill-authordocs/epics/msm-wkr-workflow-refactor/user-stories/msm-wkr-007-create-user-story-creation-skill.mdOutput: Complete user story ready for wave assignment
After all stories are written, spawn reviewer for mandatory quality gate:
Spawn: core-claude-plugin:generic:reviewer
Input: Stories folder path, validation type user-story
Expected Output:
{
"result": "PASS" | "FAIL",
"issues": []
}
| Result | Action |
|---|---|
| PASS | Continue to execution-plan-creation phase |
| FAIL | Return issues to business-analyst, fix stories, re-validate |
Validation Loop:
Called by: requirements-phase, business-analyst agent, /build command Calls: Read tool (for template), Write tool (for saving) References:
/skill prd-creation - PRD context (previous step)/skill agent-selection - Agent assignment guidance/skill execution-plan-creation - Wave planning (next step)