user-story-mapping

Create a user story map that lays out activities, steps, tasks, and release slices. Use when planning a workflow, backlog, or MVP around the user journey.

By deanpeters · 2,339 installs

npx skills add deanpeters/product-manager-skills --skill user-story-mapping

Source repository · Upstream listing

Purpose Visualize the user journey by creating a hierarchical map that breaks down high level activities into steps and tasks, organized left to right as a narrative flow. Use this to build shared understanding across product, design, and engineering, prioritize features based on user workflows, and identify gaps or opportunities in the user experience. This is not a backlog—it's a strategic artifact that shows how users accomplish their goals, which then informs what to build. Input Works best with: The product or user workflow being mapped. Also useful: The primary user, the end to end narrative as you understand it, existing backlog items to place, and release goals. 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 whose journey you're mapping and what they're trying to get done, then builds backbone → tasks → slices. Example invocation: Story map for our expense reporting flow, from receipt capture to reimbursement, with an MVP slice for the pilot. Key Concepts The Jeff Patton Story Mapping Framework Invented by Jeff Patton, story mapping organizes work into a 2D structure: Horizontal axis (left to right): User journey over time Backbone: High level activities the user performs Steps: Specific actions within each activity Tasks: Detailed work required to complete each step Vertical axis (top to bottom): Priority and releases Top rows: Essential tasks (MVP / Release 1) Lower rows: Nice to have tasks (Future releases) Story Map Structure Why This Works User centric: Organizes work around user goals, not engineering modules Shared understanding: Product, design, engineering all see the same journey Prioritization clarity: Top tasks = MVP, lower tasks = future iterations Gap identification: Missing steps or tasks become obvious Release planning: Draw horizontal "release lines" to define scope Anti Patterns (What This Is NOT) Not a Gantt chart: This isn't project management—it's user journey visualization Not a feature list: Activities aren't features—they're user behaviors Not static: Story maps evolve as you learn more about users When to Use This Kicking off a new product or major feature Aligning stakeholders on user workflow Prioritizing backlog based on user needs Identifying MVP vs. future releases Onboarding new team members to the product vision When NOT to Use This For trivial features (don't map what you already understand) When user workflows are constantly changing (map stabilizes workflows) As a replacement for user stories (the map informs stories, doesn't replace them) Application Step 1: Define the Context Use template.md for the full fill in structure. Segment Who are you building for? Quality checks: Specific: Not "users" but "enterprise IT admins" or "freelance designers" Persona Provide details about the persona within this segment (reference skills/proto persona/SKILL.md ). Example: "Sarah, 35 year old freelance graphic designer, manages 5 10 client projects at once, struggles with invoicing and payment tracking, wants to spend less time on admin and more time designing" Step 2: Define the Narrative What is the user trying to accomplish? Frame this as a Jobs to be Done statement (reference skills/jobs to be done/SKILL.md ). Quality checks: Outcome focused: Not "use the product" but "deliver a client project on time and get paid" One sentence: If it takes more than one sentence, the scope may be too broad Step 3: Identify Activities (Backbone) List 3 5 high level activities the persona engages in to fulfill the narrative. These form the backbone of your map. Quality checks: Sequential: Activities happen in order (left to right) User actions: Describe what the user does , not what the product provides 3 5 activities: Too few = oversimplified, too many = overwhelming Step 4: Break Activities into Steps For each activity, list 3 5 steps that detail how the activity is carried out. Quality checks: Actionable: Each step is something the user does Observable: You could watch someone perform this step Logical sequence: Steps follow a natural order Step 5: Break Steps into Tasks For each step, list 5 7 tasks that must be completed. Quality checks: Granular: Tasks are small, specific actions User facing or behind the scenes: Include both (e.g., "Send email" and "Receive confirmation") Prioritizable: You'll prioritize tasks vertically (top = essential, bottom = nice to have) Step 6: Prioritize Vertically Arrange tasks top to bottom by priority: Top rows: MVP / Release 1 (must have) Middle rows: Release 2 (important but not critical) Bottom rows: Future / Nice to have Draw horizontal "release lines" to demarcate scope. Step 7: Identify Gaps and Opportunities Review the map and ask: Are there missing steps or tasks? Are there pain points we're not addressing? Are there opportunities to delight users? Do all activities flow logically? Examples See examples/sample.md for a full story map example. Common Pitfalls Pitfall 1: Activities Are Features, Not User Behaviors Symptom: "Activity 1: Use the dashboard. Activity 2: Generate reports." Consequence: You've mapped the product, not the user journey. Fix: Reframe as user actions: "Activity 1: Monitor project progress. Activity 2: Summarize work for stakeholders." Pitfall 2: Too Many Activities Symptom: 10+ activities across the backbone Consequence: Map becomes overwhelming and loses focus. Fix: Consolidate. If you have 10 activities, you're likely mixing activities with steps. Aim for 3 5 high level activities. Pitfall 3: Tasks Are Too Vague Symptom: "Task 1: Do the thing" Consequence: Can't prioritize or estimate vague tasks. Fix: Be specific: "Task 1: Enter client email address in the 'Bill To' field." Pitfall 4: Ignoring Vertical Prioritization Symptom: All tasks at the same level—no MVP vs. future releases defined Consequence: No clarity on what to build first. Fix: Explicitly prioritize. Draw release lines. Force hard choices about what's MVP. Pitfall 5: Mapping in Isolation Symptom: PM creates the map alone, then presents it to the team Consequence: No shared ownership or understanding. Fix: Map collaboratively. Run a story mapping workshop with product, design, and engineering. References Related Skills skills/proto persona/SKILL.md — Defines the persona for the story map skills/jobs to be done/SKILL.md — Informs the narrative and activities skills/user story/SKILL.md — Tasks from the map become user stories skills/problem statement/SKILL.md — Problem statement frames the narrative External Frameworks Jeff Patton, User Story Mapping (2014) — Origin of the story mapping technique Teresa Torres, Continuous Discovery Habits (2021) — Opportunity solution trees (complementary to story maps) Dean's Work User Story Mapping Prompt (adapted from Jeff Patton's methodology) Provenance Adapted from prompts/user story mapping.md in the https://github.com/deanpeters/product manager prompts repo. Skill type: Component Suggested filename: user story mapping.md Suggested placement: /skills/components/ Dependencies: References skills/proto persona/SKILL.md , skills/jobs to be done/SKILL.md , skills/user story/SKILL.md , skills/problem statement/SKILL.md