SkillAtlasSkill 详情

user-story

GitHub stars License: CC BY-NC-SA 4.0 PRs Welcome Version Claude Code Plugin Skills

审核状态:已审核Quality 72Security 70

复制安装命令

用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。

复制前请先查看来源、License 和安全提示。

项目 README

来源文件:README.md

抓取于 2026年8月2日

Product Manager Skills

GitHub stars License: CC BY-NC-SA 4.0 PRs Welcome Version Claude Code Plugin Skills

╔════════════════════════════════════════════════════════════════════╗
║                                                                    ║
║   ██████╗ ███╗   ███╗    ███████╗██╗  ██╗██╗██╗     ██╗     ███████╗
║   ██╔══██╗████╗ ████║    ██╔════╝██║ ██╔╝██║██║     ██║     ██╔════╝
║   ██████╔╝██╔████╔██║    ███████╗█████╔╝ ██║██║     ██║     ███████╗
║   ██╔═══╝ ██║╚██╔╝██║    ╚════██║██╔═██╗ ██║██║     ██║     ╚════██║
║   ██║     ██║ ╚═╝ ██║    ███████║██║  ██╗██║███████╗███████╗███████║
║   ╚═╝     ╚═╝     ╚═╝    ╚══════╝╚═╝  ╚═╝╚═╝╚══════╝╚══════╝╚══════╝
║                                                                    ║
║   70 battle-tested skills + 6 command workflows                    ║
║   Claude Code • Cursor • Codex  • n8n • OpenClaw • and more ...    ║
║                                                                    ║
║   v0.83 • July 17, 2026 • CC BY-NC-SA 4.0                          ║
╚════════════════════════════════════════════════════════════════════╝

70 battle-tested PM frameworks, ready for Claude, Codex, ChatGPT, and any agent that can read structured knowledge.


Why This Exists

Generic AI output is a PM's worst enemy. When you tell your agent "write a PRD" without shared context, you get a generic document that no stakeholder trusts and no engineer can act on.

This library gives both you and your AI agent the same professional foundation: the why behind each framework, the failure modes to avoid, and the judgment to apply them correctly. You stop repeating yourself. Your agent stops guessing. The work gets better.

The goal is dual — functional and pedagogic in equal measure. Skills equip agents to do PM work at a professional level, and they teach the human PM the reasoning behind each framework — so you can explain it, adapt it, and pass it on. Neither is a byproduct of the other.


What You Can Get Done

Navigate by what you're actually trying to accomplish:

Framing and strategy

  • problem-framing-canvas — MITRE's Look Inward / Look Outward / Reframe sequence; stops teams from solving the wrong problem
  • positioning-statement — Geoffrey Moore's template for defining who you serve, what you solve, and how you're different
  • product-strategy-session — full strategy arc: positioning → problem framing → solution exploration → roadmap (2-4 weeks)

Stakeholder alignment

  • stakeholder-identification — map every stakeholder before engaging anyone: broad brainstorm → allies/audiences/influencers → R/P/D marking → equity lens → narrow to priority targets
  • stakeholder-mapping — run two complementary grids (Power × Interest for engagement strategy; Impact × Power for whose voice to elevate) and compare to find the gaps
  • stakeholder-engagement-advisor — per-stakeholder engagement planning: diagnoses their profile and context, then delivers tailored message framing, medium, cadence, and a named next action

Customer discovery and research

Prioritization and roadmapping

  • prioritization-advisor — asks 3-5 questions about your context, then recommends RICE, ICE, Kano, or the right alternative
  • epic-breakdown-advisor — splits large epics using Richard Lawrence's 9 patterns
  • roadmap-planning — gather inputs → define epics → prioritize → sequence → communicate (1-2 weeks)

Writing PM deliverables

  • user-story — Mike Cohn format + Gherkin acceptance criteria, with anti-patterns
  • prd-development — structured PRD: problem → personas → solution → metrics → stories (2-4 days)
  • press-release — Amazon Working Backwards: clarify product vision before writing a line of spec

Validation and experimentation

  • pol-probe-advisor — recommends which prototype type to run based on your hypothesis and risk level
  • pol-probe — template for documenting lightweight validation experiments before building

Finance and growth

  • business-health-diagnostic — diagnoses SaaS health across growth, retention, efficiency, and capital using your real metrics
  • organic-growth-advisor — McKinsey Growth Pyramid triage: diagnoses whether your constraint is in new segments, geographies, channels, or products
  • feature-investment-advisor — build / don't build recommendation using revenue impact, cost, ROI, and strategic value

Market and competitive intelligence

Career and leadership transitions

AI product work


Get Started

Choose your setup:

I use...Get thisNotes
Claude Desktop or Claude Webpm-skills-starter-pack.zipUnzip, then upload the individual skill ZIPs to Claude Skills
Claude CodePlugin marketplaceclaude /plugin marketplace add deanpeters/Product-Manager-Skills
Codexpm-skills-codex.zipInstalls .agents/skills and AGENTS.md
Not surepm-skills-starter-pack.zipStart here

All downloads: GitHub Releases

Themed packs for Claude Desktop / Web

Each pack below is a ZIP of upload-ready skill ZIPs — unzip, then upload individuals to Claude Skills:

PackDownloadWhat's inside
Starterpm-skills-starter-pack.zipCore skills across all categories
Discovery02-discovery-pack.zipResearch, interviewing, synthesis
Strategy03-strategy-pack.zipPositioning, roadmapping, prioritization
Delivery04-delivery-pack.zipPRDs, stories, epics
AI PM05-ai-pm-pack.zipContext engineering, orchestration, readiness
Market Intel06-market-intel-pack.zipThe full Market Intelligence Suite: disciplines, investigation chain, frameworks, monitors
All skills99-all-skills-pack.zipAll 70 skills

Install guides


Try It First — Streamlit (beta)

Not ready to wire skills into your agent setup? Run the local playground first and kick the tires in your browser.

pip install -r app/requirements.txt
streamlit run app/main.py

What you can do:

  • Learn — browse setup and integration paths without leaving the app
  • Find My Skill — describe your situation in plain English and get recommended skills
  • Run Skills — run a skill with your own scenario once you know what you want

Multi-provider support: Anthropic, OpenAI, Ollama. API keys via environment variables only (no in-app key entry).

Docs: app/STREAMLIT_INTERFACE.md · app/.env.example

Feedback welcome via GitHub Issues or LinkedIn.


70 Skills, 3 Types

Skills are organized in three tiers that build on each other:

┌────────────────────────────────────────────────────────┐
│  WORKFLOW SKILLS (19)                                  │
│  Complete end-to-end PM processes (days to weeks)      │
│  Example: run a full discovery cycle or write a PRD    │
└────────────────────────────────────────────────────────┘
                       ↓ orchestrates
┌────────────────────────────────────────────────────────┐
│  INTERACTIVE SKILLS (27)                               │
│  Guided discovery — 3-5 questions, then recommendations│
│  Example: "Which prioritization framework fits here?"  │
└────────────────────────────────────────────────────────┘
                       ↓ uses
┌────────────────────────────────────────────────────────┐
│  COMPONENT SKILLS (24)                                 │
│  Templates for specific PM deliverables (30-90 min)    │
│  Example: write a user story with acceptance criteria  │
└────────────────────────────────────────────────────────┘

Interactive skills use an Adaptive Decision Ladder. Instead of dumping a framework at you, an interactive skill asks 3-5 targeted questions about your specific context, then offers numbered recommendations — each with a clear "use this when" rationale. You pick a path. The skill executes it and explains the why as it goes. If you want to just learn the framework without doing the work, you can ask that too — the skill coaches you either way. This is ABC — Always Be Coaching — in practice.

Full catalog: catalog/INDEX.md — all 70 skills with descriptions, or browse skills/ directly.


How a Skill File Works

Every SKILL.md follows the same structure:

SectionWhat it contains
Frontmattername, description, type, intent, best_for, scenarios
PurposeWhat this skill does and when to reach for it
InputWhat you can bring (with example invocations) — inline input is used, not re-asked, and arriving empty-handed is fine: the skill walks you through it
Key ConceptsFrameworks, definitions, anti-patterns — with vocabulary explained
ApplicationStep-by-step instructions an agent (or human) can follow
ExamplesReal-world cases showing both good and bad versions
Common PitfallsNamed failure modes with consequences and corrections
ReferencesRelated skills and external frameworks

The best_for frontmatter field lists 3-5 specific scenarios where the skill is most useful — helpful for quickly scanning whether a skill fits your situation.

Why no $ARGUMENTS templating? Other skill libraries use Claude Code's $ARGUMENTS substitution for input. We deliberately don't: it only expands in Claude Code (it renders as literal syntax in Claude Desktop/Web, Codex, and the Streamlit playground), and it teaches the human reader nothing. Instead, every skill has a plain-language ## Input section that works on every runtime — and makes clear you can show up with full context, partial context, or nothing at all and be guided through the rest. Full rationale in CONTRIBUTING.md.


Works With

Claude Code · Claude Desktop · Claude Web · OpenAI Codex · ChatGPT · Cursor · Windsurf · n8n · LangFlow · CrewAI · Gemini · any agent that reads structured markdown

See docs/Platform Guides for PMs.md for platform-specific setup.


Docs

DocumentPurpose
Using PM Skills 101Beginner-friendly orientation — setup without technical overload
Platform Guides for PMsTool-by-tool setup chooser for every supported platform
Using PM Skills with ClaudeClaude Code + GitHub ZIP upload for Claude Desktop/Web
Using PM Skills with CodexLocal workspace + GitHub-connected Codex on ChatGPT
Using PM Skills with ChatGPTGitHub app, Custom GPT Knowledge, and Project-based usage
Using PM Skills with Slash Commands 101Turn skills into reusable slash commands like /pm-story
Add-a-Skill Utility GuideEnd-to-end guide for generating and validating new skills
Market Intelligence Suite SummaryThe 14-skill competitive/market research suite: disciplines, chain, and which skill to run when
Building PM SkillsHow raw PM content gets distilled into agent-ready skills
START_HERE.md60-second onboarding for local repo users

What's New

v0.83 — July 17, 2026 · The Market Intelligence Suite

v0.82 — July 8, 2026

  • Added incoming-request-advisor (Interactive) — drop in a Slack ping, email, mandate, or escalation and get a structured breakdown that separates the literal ask from the real job-to-be-done, reads sender power and stake, and points you toward a reply. Ships with a copy/paste template so you can run it by hand too
  • New: a browsable download shelf at /dist — no terminal, no Releases tab. Read the plain-language README, scan the CATALOG, and download any skill or pack straight from the repo. Built for PMs who just want the skills
  • Library now at 70 skills

v0.81 — July 4, 2026

  • Every skill now has a required ## Input section: what to bring, what happens to context you supply up front (it's used, not re-asked), and reassurance that arriving empty-handed is fine — the guided flow covers the rest
  • Added argument-hint autocomplete for Claude Code users; deliberately no $ARGUMENTS templating — it breaks on every other runtime and teaches the reader nothing (why)
  • Validator now enforces the convention: skills fail without an Input section or with bare $ARGUMENTS in the body
  • Streamlit playground shows each skill's "What to bring (all optional)" before you start a session
  • Restored agent-orchestration-advisor (Interactive) — the multi-agent workflow design skill was referenced everywhere but only existed on an orphaned commit; recovered from git history and brought up to current standards

v0.80 — June 19, 2026

  • Added stakeholder-identification (Component) — comprehensive stakeholder brainstorm using allies/audiences/influencers, R/P/D marking, equity lens, and bias check; narrows to priority targets
  • Added stakeholder-mapping (Component) — two complementary grids (Power × Interest + Impact × Power); comparing outputs reveals who you're under-engaging relative to how much the product affects them
  • Added stakeholder-engagement-advisor (Interactive) — per-stakeholder engagement planning via Adaptive Decision Ladder: three questions on profile, power/impact, and context deliver tailored message framing, medium, cadence, and a named next action

All three adapted from the MITRE Innovation Toolkit via the companion repo MITRE ITK Skills — worth a bookmark if you work in discovery, facilitation, or cross-functional product strategy.

v0.79 — May 15, 2026

  • Added organic-growth-advisor — McKinsey Growth Pyramid triage for new segments, geographies, channels, or products
  • Added pm-skill-creator — interactive skill for designing repo-compliant skills via guided conversation
  • Fixed missing .claude-plugin/plugin.json that silently blocked Claude Code skill discovery
  • Added configurable input length guard (PM_MAX_INPUT) and path traversal protection to helper scripts

→ Full changelog


Contributing

Found a gap? Have a PM framework worth formalizing? The bar is pedagogic — skills must teach the why, not just the how.

See CONTRIBUTING.md for guidelines, or open an issue to start a conversation.


License

CC BY-NC-SA 4.0 — non-commercial use with share-alike.

Everything in this repository — every skill, template, and doc — is licensed CC BY-NC-SA 4.0. There is no mix of licenses here.

Some skills note in their Provenance sections that they were adapted from product-manager-prompts, Dean's earlier prompt library. That repo has the same author, so there is no license conflict: a license grants permissions to other people, and a copyright holder is free to adapt and relicense their own work. Those Provenance lines are lineage — a breadcrumb back to where an idea started — not a license dependency. No third-party MIT-licensed text is incorporated anywhere in this library.

In plain terms:

  • ✅ Use these skills in your day job — at a for-profit company, with your team, in your agents. That's what they're for.
  • ✅ Adapt and remix them — share what you build under this same license, with credit.
  • ✅ Teach with them — workshops, brown bags, mentoring, sending the ladder down.
  • ❌ Don't sell them — no repackaging the skills themselves into a paid product, course, or service without expressed written permission.
  • 🤔 Not sure your use qualifies? Open an issue and ask. If you're using these in the spirit they were built — to get better at the craft and help others do the same — the answer is almost certainly yes.

The companion prompt library, product-manager-prompts, carries the same CC BY-NC-SA 4.0 license as of its v2.3.0, with its own plain-language permissions (stricter on commercial use) — see its LICENSING.md, which governs that repo.


Questions

开发与工程

中风险

  • 来源需自行核对维护者身份。
  • 包含脚本或命令调用,安装前请复核。
  • 可能需要外部 token、网络权限或第三方服务。
  • 未检测到高风险命令。
  • 扫描发现:2 条。

Codex — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/deanpeters/Product-Manager-Skills.git
  3. 将 "skills/user-story" 文件夹复制到 Codex 的 skills 目录中。
  4. 重启 Codex 让新的 skill 生效。

Codex — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Codex 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Codex 让新的 skill 生效。

Claude Code — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/deanpeters/Product-Manager-Skills.git
  3. 将 "skills/user-story" 文件夹复制到 Claude Code 的 skills 目录中。
  4. 重启 Claude Code 让新的 skill 生效。

Claude Code — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Claude Code 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Claude Code 让新的 skill 生效。

Cursor — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/deanpeters/Product-Manager-Skills.git
  3. 将 "skills/user-story" 文件夹复制到 Cursor 的 skills 目录中。
  4. 重启 Cursor 让新的 skill 生效。

Cursor — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Cursor 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Cursor 让新的 skill 生效。

GitHub Copilot — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/deanpeters/Product-Manager-Skills.git
  3. 将 "skills/user-story" 文件夹复制到 GitHub Copilot 的 skills 目录中。
  4. 重启 GitHub Copilot 让新的 skill 生效。

GitHub Copilot — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 GitHub Copilot 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 GitHub Copilot 让新的 skill 生效。

Windsurf — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/deanpeters/Product-Manager-Skills.git
  3. 将 "skills/user-story" 文件夹复制到 Windsurf 的 skills 目录中。
  4. 重启 Windsurf 让新的 skill 生效。

Windsurf — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Windsurf 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Windsurf 让新的 skill 生效。
查看 SKILL.md 原文
name: user-story
argument-hint: "[feature or user need]"
description: Create user stories with Mike Cohn format and Gherkin acceptance criteria. Use when turning user needs into development-ready work with clear outcomes and testable conditions.
intent: >-
  Create clear, concise user stories that combine Mike Cohn's user story format with Gherkin-style acceptance criteria. Use this to translate user needs into actionable development work that focuses on outcomes, ensures shared understanding between product and engineering, and provides testable success criteria.
type: component
theme: pm-artifacts
best_for:
  - "Writing user stories with proper acceptance criteria"
  - "Converting requirements into development-ready stories"
  - "Establishing story quality standards across your team"
scenarios:
  - "I need to write a user story for a new notification system in our B2B SaaS app"
  - "Convert this PRD requirement into a properly formatted user story with Gherkin acceptance criteria"
estimated_time: "5-10 min"

Purpose

Create clear, concise user stories that combine Mike Cohn's user story format with Gherkin-style acceptance criteria. Use this to translate user needs into actionable development work that focuses on outcomes, ensures shared understanding between product and engineering, and provides testable success criteria.

This is not a feature spec—it's a conversation starter that captures who benefits, what they're trying to do, why it matters, and how you'll know it works.

Input

Works best with: The feature or user need the story captures. Also useful: The user role, the outcome they want, and edge cases the acceptance criteria must cover.

Anything supplied with the invocation itself — text after the skill name, a pasted context dump, or an appended ARGUMENTS: line — counts as answers already given. Use it and skip whatever it covers; don't re-ask.

Arriving empty-handed? That works too. The skill asks who the user is and what they're trying to accomplish before drafting story and Gherkin criteria.

Example invocation: Write user stories for password reset via SMS for our banking app — include the lockout edge case.

Key Concepts

The Mike Cohn + Gherkin Format

A user story combines:

Use Case (Mike Cohn format):

  • As a [user persona/role]
  • I want to [action to achieve outcome]
  • so that [desired outcome]

Acceptance Criteria (Gherkin format):

  • Scenario: [Brief description of the scenario]
  • Given: [Initial context or preconditions]
  • and Given: [Additional preconditions]
  • When: [Event that triggers the action]
  • Then: [Expected outcome]

Why This Structure Works

  • User-centric: Forces focus on who benefits and why
  • Outcome-focused: "So that" emphasizes the value delivered, not just the action
  • Testable: Gherkin acceptance criteria are concrete and verifiable
  • Conversational: Story is the opening for discussion, not the final spec
  • Shared language: Product, engineering, and QA all understand the format

Anti-Patterns (What This Is NOT)

  • Not a task: "As a developer, I want to refactor the database" (this is a tech task, not user value)
  • Not a feature list: "I want dashboards, reports, and analytics" (this is too big—needs splitting)
  • Not vague: "I want a better experience" (unmeasurable, no clear outcome)
  • Not a contract: Stories are placeholders for conversation, not locked-in specs

When to Use This

  • Translating user needs into development work
  • Backlog grooming and sprint planning
  • Communicating value to engineering and design
  • Ensuring testable acceptance criteria exist before development

When NOT to Use This

  • For pure technical debt or refactoring (use engineering tasks instead)
  • When stories are too large (split first—see skills/user-story-splitting/SKILL.md)
  • Before understanding the user problem (write a problem statement first)

Application

Step 1: Gather Context

Before writing a story, ensure you have:

  • User persona: Who is this for? (reference skills/proto-persona/SKILL.md)
  • Problem understanding: What need does this address? (reference skills/problem-statement/SKILL.md)
  • Desired outcome: What does success look like?
  • Constraints: Technical, time, or scope limitations

If missing context: Run discovery interviews or problem validation work first.


Optional Helper Script (Template Generator)

If you want a consistent Markdown stub, you can generate one from CLI inputs. This script is deterministic and does not fetch data or write files.

python3 scripts/user-story-template.py --persona \"trial user\" --action \"log in with Google\" --outcome \"access the app without creating a new password\"

Step 2: Write the Use Case

Use template.md for the full fill-in structure.

Fill in the template:

### User Story [ID]:

- **Summary:** [Brief, memorable title focused on value to the user]

#### Use Case:
- **As a** [user name if available, otherwise persona, otherwise role]
- **I want to** [action user takes to get to outcome]
- **so that** [desired outcome]

Quality checks:

  • "As a" specificity: Is this a specific persona (e.g., "trial user") or generic ("user")?
  • "I want to" clarity: Is this an action the user takes, or a feature you're building?
  • "So that" outcome: Does this explain the user's motivation? Or is it just restating the action?

Common mistakes:

  • ❌ "As a user, I want a login button, so that I can log in" (restating the action)
  • ✅ "As a trial user, I want to log in with Google, so that I can access the app without creating a new password"

Step 3: Write the Acceptance Criteria

Fill in the template:

#### Acceptance Criteria:

- **Scenario:** [Brief, human-readable scenario describing value]
- **Given:** [Initial context or precondition]
- **and Given:** [Additional context or preconditions]
- **and Given:** [Additional context as needed]
- **and Given:** [UI-focused context ensuring 'When' can happen]
- **and Given:** [Outcomes-focused context ensuring 'Then' is delivered]
- **When:** [Event that triggers the action—aligns with 'I want to']
- **Then:** [Expected outcome—aligns with 'so that']

Quality checks:

  • Multiple Givens are okay: Preconditions stack up (e.g., "Given I'm logged in" + "Given I have items in my cart")
  • Only one When: If you need multiple "When" statements, you likely have multiple stories—split them
  • Only one Then: If you need multiple "Then" statements, you likely have multiple stories—split them
  • Alignment: Does "When" match "I want to"? Does "Then" match "so that"?

Red flags:

  • Multiple Whens/Thens: Sign of scope creep—split the story (reference skills/user-story-splitting/SKILL.md)
  • Vague Thens: "Then I see improved performance" (unmeasurable—make it specific)

Step 4: Add a Summary

Write a short, memorable summary that captures the story's value:

- **Summary:** [Brief, human-readable title]

Examples:

  • ✅ "Enable Google login for trial users to reduce signup friction"
  • ✅ "Bulk delete items to save time for power users"
  • ❌ "Add delete button" (feature-centric, not value-centric)

Step 5: Validate and Refine

  • Read aloud to the team: Does everyone understand who, what, why?
  • Test acceptance criteria: Can QA write test cases from this?
  • Check for splitting: If the story feels too big, use skills/user-story-splitting/SKILL.md
  • Ensure testability: Can you prove "Then" happened?

Examples

See examples/sample.md for full examples (good, bad, and split-needed stories).

Mini example excerpt:

### User Story 042:

- **Summary:** Enable Google login for trial users to reduce signup friction

#### Use Case:
- **As a** trial user visiting the app for the first time
- **I want to** log in using my Google account
- **so that** I can access the app without creating and remembering a new password

#### Acceptance Criteria:
- **Scenario:** First-time trial user logs in via Google OAuth
- **Given:** I am on the login page
- **and Given:** I have a login account
- **When:** I click the "Sign in with Google" button and authorize the app
- **Then:** I am logged into the app and redirected to the onboarding flow

Common Pitfalls

Pitfall 1: Technical Tasks Disguised as User Stories

Symptom: "As a developer, I want to refactor the API, so that the code is cleaner"

Consequence: This is an engineering task, not a user story. No user value is delivered.

Fix: If there's no user outcome, it's not a user story—use an engineering task or tech debt ticket instead.


Pitfall 2: "As a User" (Too Generic)

Symptom: Every story starts with "As a user"

Consequence: No persona clarity. Different users have different needs.

Fix: Use specific personas: "As a trial user," "As a paid subscriber," "As an admin," etc. (reference skills/proto-persona/SKILL.md)


Pitfall 3: "So That" Restates "I Want To"

Symptom: "I want to click the save button, so that I can save my work"

Consequence: No insight into why the user cares. Just restating the action.

Fix: Dig into the motivation: "so that I don't lose my progress if the page crashes" (real outcome).


Pitfall 4: Multiple When/Then Statements

Symptom: Acceptance criteria with 5 "When" statements and 5 "Then" statements

Consequence: Story is too big. Likely multiple features bundled together.

Fix: Split the story using skills/user-story-splitting/SKILL.md. Each When/Then pair should be its own story (or at least evaluated for splitting).


Pitfall 5: Untestable Acceptance Criteria

Symptom: "Then the user has a better experience" or "Then it's faster"

Consequence: QA can't verify success. Ambiguous definition of "done."

Fix: Make it measurable: "Then the page loads in under 2 seconds" or "Then the user sees a success confirmation message."


References

Related Skills

  • skills/user-story-splitting/SKILL.md — How to break large stories into smaller ones
  • skills/proto-persona/SKILL.md — Defines the "As a [persona]" section
  • skills/problem-statement/SKILL.md — Stories should address validated problems
  • skills/epic-hypothesis/SKILL.md — Epics decompose into user stories

Optional Helpers

  • skills/user-story/scripts/user-story-template.py — Deterministic Markdown stub generator (no network access)

External Frameworks

  • Mike Cohn, User Stories Applied (2004) — Origin of the "As a / I want / so that" format
  • Gherkin (Cucumber) — "Given/When/Then" acceptance criteria format
  • INVEST criteria (Independent, Negotiable, Valuable, Estimable, Small, Testable)

Dean's Work

  • [Link to relevant Dean Peters' Substack articles if applicable]

Provenance

  • Adapted from prompts/user-story-prompt-template.md in the https://github.com/deanpeters/product-manager-prompts repo.

Skill type: Component Suggested filename: user-story.md Suggested placement: /skills/components/ Dependencies: References skills/proto-persona/SKILL.md, skills/problem-statement/SKILL.md Used by: skills/user-story-splitting/SKILL.md, skills/epic-hypothesis/SKILL.md

发现问题?提交给管理员复核

评分:

评论 (0)

暂无评论,成为第一个评论者吧!