story-mapping
Build a user story map (Jeff Patton). Horizontal backbone of user activities, vertical sub-stories by priority, release slices cutting across. Produces narrative ordering, walking-skeleton first slice, and 2-3 subsequent releases. Reveals gaps in flow + over-detail in certain steps.
What this skill does
# Story Mapping
You build a user story map in Jeff Patton's format: a **horizontal narrative backbone** of user activities left-to-right, **vertical sub-stories / tasks** below each activity ordered by priority, and **horizontal release slices** that cut across the map indicating what ships in each release.
Distinct from:
- Backlog (flat list, hides narrative)
- `user-journey-management` (strategic journey with emotions)
- `user-flow-diagramming` (UI-task-level)
Story mapping lives between journey and backlog.
## Core rules
- **Backbone is narrative, left-to-right**: reads as "user does X, then Y, then Z"
- **Backbone is activities** (big steps), not features
- **Below each activity: tasks**, which decompose into user stories
- **Priority within a column**: top = must-have, bottom = nice-to-have
- **Release slices are horizontal cuts**: walking skeleton first, then thickening
- **Walking skeleton is end-to-end minimum**: connects backbone from start to finish, thin but complete
- **No fabricated activities**: work from user research / supplied journey / elicitation
## Input handling
| Dimension | Required | Default |
|---|---|---|
| **Product / initiative** | Yes | — |
| **User type / persona** | Yes | — |
| **Journey source** | No | Elicit activities |
| **Release count target** | No | 3 (walking skeleton + 2 thickening) |
## Phase 1 — Setup
```
**Product / initiative**: [name]
**User**: [persona or role]
**Journey source**: [existing journey map / user research / elicitation]
**Release count**: [N, default 3]
```
Ask render mode per `diagram-rendering` mixin and output path (default: `/documentation/[case]/story-mapping/`).
## Phase 2 — Backbone: user activities
Activities are the **big verbs** in the user's journey — high-level chunks of what the user does.
Examples for an e-commerce purchase journey:
- Discover → Choose → Decide → Buy → Receive → Use → Support
Examples for a SaaS onboarding:
- Learn about tool → Sign up → Set up account → Do first task → Invite team → Get results
Rules:
- 4–10 activities (fewer = too coarse, more = probably mixing levels)
- Verb-led from user perspective
- Narrative flows left-to-right chronologically
- No activities hidden — if the user does it, it's on the map
## Phase 3 — Tasks per activity
Below each activity, list the **tasks** the user performs in that activity.
Example under "Choose":
- Browse categories
- Search by keyword
- Filter results
- Compare products
- Read reviews
- Save to wishlist
Rules:
- Each task is a concrete user action
- 3–7 tasks per activity typical
- Organized top-to-bottom by priority (most-important at top)
## Phase 4 — User stories per task
Each task may decompose into user stories (the actual development work):
Example task "Filter results" →
- As a shopper, I can filter by price range
- As a shopper, I can filter by brand
- As a shopper, I can filter by rating
- As a shopper, I can combine multiple filters
- As a shopper, I can save my filter preset
Rules:
- User-story format (As a [role], I want [capability], so I can [outcome])
- Top-to-bottom priority within task column
- Each story goes to `user-story-generator` or existing backlog for full AC + estimation
## Phase 5 — Release slicing
Horizontal lines cut across the map defining what ships when. Each slice selects some subset of stories per task column.
### Walking skeleton (Release 1)
**Minimum end-to-end flow**: one story per task (the top priority), connecting the whole backbone. Thin — user can do each activity, barely.
Purpose: prove the end-to-end flow works. Deliver value early even if shallow.
### Thickening releases (Release 2, 3, ...)
Each subsequent release picks more stories per task column, strengthening coverage.
Example:
- **R1 (Walking skeleton)**: Top 1 story per task column → user can do each activity minimally
- **R2 (Depth)**: Top 2–3 stories per task column → richer experience in most-important tasks
- **R3 (Polish)**: Remaining stories → edge cases, advanced features, power-user capability
Rules:
- Walking skeleton is horizontal — reaches end of backbone
- Never slice vertical (all of Activity 1 then all of Activity 2) — that's a waterfall map, not a story map
- Slices are explicit: every story is in Rx or "parked"
## Phase 6 — Gap detection
The map reveals:
- **Narrative gaps**: activities with obvious missing steps (e.g., "Decide" has no "Compare options" task)
- **Over-detail**: one column with 15 tasks while others have 3 — probably conflating activity with task
- **Orphan stories**: stories that don't fit any task — either task missing or story out of scope
- **Under-prioritization**: story columns where top story isn't the most-valuable — re-order
- **Walking-skeleton infeasibility**: if top-row stories don't connect end-to-end, flow is broken
Flag each explicitly.
## Phase 7 — Annotation overlays
Optional annotations:
- **Persona variants**: some tasks only apply to specific personas
- **Platform**: some stories web-only / mobile-only
- **Risk**: high-risk stories flagged
- **Dependencies**: cross-task dependencies noted
## Phase 8 — Diagrams
### Story map (Mermaid flowchart with columns)
```mermaid
flowchart TB
subgraph A1["Discover"]
A1T1[Browse category]
A1T2[Search]
end
subgraph A2["Choose"]
A2T1[Compare]
A2T2[Read reviews]
end
subgraph A3["Buy"]
A3T1[Add to cart]
A3T2[Checkout]
end
subgraph A4["Receive"]
A4T1[Track]
A4T2[Unbox]
end
A1 --> A2 --> A3 --> A4
subgraph R1["Release 1 (walking skeleton)"]
A1T1
A2T1
A3T2
A4T1
end
```
Simpler alternative: markdown-table story map where columns = activities, rows = priority tiers, cells = tasks/stories.
## Phase 9 — Diagram rendering
Per `diagram-rendering` mixin. File names:
- `story-map.mmd` / `.png`
- `release-slicing.md` (table)
## Phase 10 — Report assembly and approval
```markdown
# Story Map: [Product / Initiative]
**Date**: [date]
**User**: [persona / role]
**Backbone activities**: [N]
**Total tasks**: [N]
**Total stories**: [N]
**Releases planned**: [N]
## Scope
[Product, user, journey source, release target]
## Backbone
[Horizontal activity sequence]
## Tasks per Activity
[Table: Activity → Tasks (prioritized)]
## Stories per Task
[Full story list grouped by task, prioritized within task]
## Release Slicing
### Walking Skeleton (R1)
[Minimum end-to-end stories]
### Release 2: Depth
[Additional stories per task]
### Release 3+: Polish
[Remaining stories]
## Gap Detection
[Narrative gaps / over-detail / orphans / walking-skeleton issues]
## Annotations
[Persona / platform / risk / dependency overlays]
## Diagrams
[Story map flowchart + release table]
## Next Steps
[Feed walking-skeleton stories into backlog / sprint planning / user-story-generator]
## Assumptions & Limitations
[Elicitation gaps, persona assumptions]
```
Present for user approval. Save only after confirmation.
## Generation + planning rules
- Backbone narrative-led
- 4–10 activities
- Tasks per activity (3–7)
- Stories user-story format
- Walking skeleton end-to-end
- Releases horizontal not vertical
- No fabricated activities
## Failure behavior
| Situation | Behavior |
|---|---|
| No product / user | Interview mode (§7) |
| Activities too feature-like ("Login page" as activity) | Recast as user activity ("Authenticate") |
| Over-detail in one column | Flag; activity may need splitting |
| Walking skeleton breaks (tasks don't connect) | Flag; revisit activity order or task priorities |
| User wants linear backlog | Fine, but flag value of map format for narrative + release planning |
| mmdc failure | See `diagram-rendering` mixin |
| Out-of-scope ("estimate + plan sprints") | "Mapping only. Estimation in `story-point-estimation` / sprint planning in backlog tooling." |
## Self-check
```
[] Product + user declared
[] Backbone is narrative-ordered user activities (4–10)
[] Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.