❌ Solution-focused stories → ✅ Focus on user value
❌ Missing user type → ✅ Always specify who benefits
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: yellinzero-aico-aico-pm-user-story-writing3description: User Story Writing4---56# User Story Writing78## ⚠️ CRITICAL RULES - READ FIRST910**BEFORE doing anything, you MUST:**11121. **CHECK EXISTING FILES**:13 - Look in `docs/reference/pm/stories/` directory14 - If story file already exists, READ it first and ask user if they want to update it15 - DO NOT create duplicate story files16172. **ALWAYS USE THIS SKILL**:18 - When user says "write story", "create story", "add story" → USE THIS SKILL19 - DO NOT write story files directly without using this skill20 - This skill ensures proper format and validation21223. **ALWAYS SAVE TO CORRECT PATH**:23 - Path: `docs/reference/pm/stories/{story-name}.md`24 - NO exceptions, NO other locations25264. **READ CONTEXT FIRST**:27 - Read `docs/reference/pm/constitution.md` for product context28 - Read related version file from `docs/reference/pm/versions/` if exists2930## Language Configuration3132Before generating any content, check `aico.json` in project root for `language` field to determine the output language. If not set, default to English.3334## Process35361. **Identify user type**: Who benefits from this feature372. **Define goal**: What they want to do383. **Clarify value**: Why it matters to them394. **Write acceptance criteria**: 3-5 Given/When/Then scenarios405. **Add metadata**: Priority, complexity, dependencies416. **Save story**: ALWAYS write to `docs/reference/pm/stories/{story-name}.md`4243## Story Template4445```markdown46# [STORY-ID] Story Title4748> Project: [project-name]49> Created: YYYY-MM-DD50> Last Updated: YYYY-MM-DD5152**As a** [user type]53**I want** [goal/action]54**So that** [benefit/value]5556### Acceptance Criteria5758- [ ] Given [context], when [action], then [expected result]59- [ ] Given [context], when [action], then [expected result]60- [ ] Given [context], when [action], then [expected result]6162### Notes6364- Priority: P1/P2/P365- Estimated complexity: S/M/L/XL66- Dependencies: [list any dependencies]67```6869## Key Rules7071- ALWAYS specify the user type (who benefits)72- MUST focus on user value, not technical solution73- ALWAYS include 3-5 testable acceptance criteria74- Use Given/When/Then format for all criteria75- MUST save to `docs/reference/pm/stories/` directory7677## Common Mistakes7879- ❌ Vague acceptance criteria → ✅ Specific, testable conditions80- ❌ Solution-focused stories → ✅ Focus on user value81- ❌ Missing user type → ✅ Always specify who benefits8283---84> Converted and distributed by [TomeVault](https://tomevault.io/claim/yellinzero) — claim your Tome and manage your conversions.85<!-- tomevault:4.0:skill_md:2026-04-13 -->
Run npx skillmds@latest add tomevault-io/yellinzero-aico-aico-pm-user-story-writing in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
User Story Writing It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: PASS, Skill Scanner: PASS. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
tomevault-io (@tomevault-io) published this skill. Their other Agent Skills are listed on their SkillMD profile.