Claude
Skills
Sign in
โ† Back

story-map

Included with Lifetime
$97 forever

Create a user story map from elicited requirements. Visualizes user journey with backbone activities, walking skeleton, and release slices. Outputs Mermaid diagrams.

General

What this skill does


# Story Map Command

Create user story maps from elicited requirements using Jeff Patton's methodology.

## Usage

```bash
/requirements-elicitation:story-map
/requirements-elicitation:story-map --domain "e-commerce"
/requirements-elicitation:story-map --domain "checkout" --releases 3
/requirements-elicitation:story-map --domain "user-auth" --format mermaid
```

## Arguments

| Argument | Required | Description |
|----------|----------|-------------|
| --domain | No | Domain to map (default: current/most recent) |
| --releases | No | Number of release slices to create (default: 3) |
| --format | No | Output format: `mermaid`, `yaml`, `markdown` (default: `mermaid`) |

## Workflow

### Step 1: Load Synthesized Requirements

Read from `.requirements/{domain}/synthesis/` folder to get the consolidated requirements.

### Step 2: Identify Backbone Activities

Analyze requirements to extract high-level user activities:

```yaml
backbone_extraction:
  approach:
    - Group related requirements by user goal
    - Identify the major "things users do"
    - Order left-to-right by typical sequence
    - Aim for 5-10 backbone activities

  questions:
    - "What does the user do first?"
    - "What activities are essential to complete the journey?"
    - "What is the natural sequence?"
```

### Step 3: Define Walking Skeleton

For each backbone activity, identify the minimum viable implementation:

```yaml
walking_skeleton_criteria:
  - "What's the simplest way to accomplish this activity?"
  - "Can a user complete their goal with just this?"
  - "Is this end-to-end through the system?"
  - "Can we deploy and test this?"
```

### Step 4: Map Requirements to Activities

Place each requirement under the appropriate backbone activity:

```yaml
mapping_rules:
  - Match requirement to the activity it enables
  - Order vertically by priority (highest at top)
  - Flag requirements that span multiple activities
  - Note dependencies between requirements
```

### Step 5: Create Release Slices

Draw horizontal lines to group stories into releases:

```yaml
release_slicing:
  mvp:
    - Walking skeleton stories
    - Critical must-haves (from MoSCoW)
    - "What validates the core value proposition?"

  release_1:
    - High-priority enhancements
    - "Should have" requirements
    - "What improves based on MVP feedback?"

  future:
    - Nice-to-have features
    - "Could have" requirements
    - Edge cases and polish
```

### Step 6: Generate Output

Create the story map in the requested format.

## Output Formats

### Mermaid Diagram (Default)

```mermaid
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#e1f5fe'}}}%%
flowchart TB
    subgraph BB["User Journey (Backbone)"]
        direction LR
        A1["๐Ÿ” Search"] --> A2["๐Ÿ“‹ Browse"] --> A3["๐Ÿ›’ Purchase"] --> A4["๐Ÿ“ฆ Track"]
    end

    subgraph WS["Walking Skeleton (MVP Foundation)"]
        A1 --- S1["Basic keyword search"]
        A2 --- S2["Product list view"]
        A3 --- S3["Cart + checkout"]
        A4 --- S4["Order status page"]
    end

    subgraph R1["Release 1"]
        S1 --- R1A["Filters by category"]
        S1 --- R1B["Sort options"]
        S2 --- R1C["Product detail page"]
        S3 --- R1D["Multiple payment methods"]
        S4 --- R1E["Email notifications"]
    end

    subgraph R2["Release 2"]
        R1A --- R2A["Saved searches"]
        R1C --- R2B["Product comparison"]
        R1D --- R2C["Wishlist"]
        R1E --- R2D["SMS notifications"]
    end

    subgraph R3["Future"]
        R2A --- R3A["AI recommendations"]
        R2B --- R3B["AR preview"]
        R2C --- R3C["One-click buy"]
    end
```

### YAML Export

```yaml
story_map:
  title: "E-commerce Platform"
  domain: "e-commerce"
  created: "2025-12-26"
  source_synthesis: "SYN-20251226-120000.yaml"

  backbone:
    - id: search
      name: "Search Products"
      walking_skeleton: "Basic keyword search"
      emoji: "๐Ÿ”"

    - id: browse
      name: "Browse Catalog"
      walking_skeleton: "Product list view"
      emoji: "๐Ÿ“‹"

    - id: purchase
      name: "Purchase"
      walking_skeleton: "Cart + checkout"
      emoji: "๐Ÿ›’"

    - id: track
      name: "Track Order"
      walking_skeleton: "Order status page"
      emoji: "๐Ÿ“ฆ"

  releases:
    - name: "MVP"
      value_statement: "Users can find and purchase products online"
      stories:
        - activity: search
          items: ["Basic keyword search"]
        - activity: browse
          items: ["Product list view"]
        - activity: purchase
          items: ["Cart + checkout"]
        - activity: track
          items: ["Order status page"]

    - name: "Release 1"
      value_statement: "Users can find products faster with better options"
      stories:
        - activity: search
          items: ["Filters by category", "Sort options"]
        - activity: browse
          items: ["Product detail page"]
        - activity: purchase
          items: ["Multiple payment methods"]
        - activity: track
          items: ["Email notifications"]

    - name: "Release 2"
      value_statement: "Users can shop more efficiently"
      stories:
        - activity: search
          items: ["Saved searches"]
        - activity: browse
          items: ["Product comparison"]
        - activity: purchase
          items: ["Wishlist"]
        - activity: track
          items: ["SMS notifications"]
```

### Markdown Export

```markdown
# Story Map: E-commerce Platform

## Backbone (User Journey)

| Search | Browse | Purchase | Track |
|--------|--------|----------|-------|
| ๐Ÿ” Find products | ๐Ÿ“‹ Explore catalog | ๐Ÿ›’ Buy items | ๐Ÿ“ฆ Follow orders |

## MVP (Walking Skeleton)

| Search | Browse | Purchase | Track |
|--------|--------|----------|-------|
| Basic keyword search | Product list view | Cart + checkout | Order status page |

## Release 1

| Search | Browse | Purchase | Track |
|--------|--------|----------|-------|
| Filters by category | Product detail page | Multiple payment methods | Email notifications |
| Sort options | | | |

## Release 2

| Search | Browse | Purchase | Track |
|--------|--------|----------|-------|
| Saved searches | Product comparison | Wishlist | SMS notifications |
```

## Example Session

```text
/requirements-elicitation:story-map --domain "inventory-management" --format mermaid

Loading synthesis: .requirements/inventory-management/synthesis/SYN-20251226-143000.yaml
Requirements found: 28

Analyzing user journey...
Identified backbone activities: 5
  1. Monitor Stock
  2. Reorder Items
  3. Receive Shipments
  4. Manage Locations
  5. Generate Reports

Creating walking skeleton...
  - Monitor Stock โ†’ "View current stock levels"
  - Reorder Items โ†’ "Create purchase order"
  - Receive Shipments โ†’ "Mark items received"
  - Manage Locations โ†’ "View warehouse list"
  - Generate Reports โ†’ "Basic stock report"

Mapping 28 requirements to activities...
  - Monitor Stock: 8 stories
  - Reorder Items: 7 stories
  - Receive Shipments: 5 stories
  - Manage Locations: 4 stories
  - Generate Reports: 4 stories

Creating release slices...
  - MVP: 5 stories (walking skeleton)
  - Release 1: 12 stories
  - Release 2: 8 stories
  - Future: 3 stories

Generating Mermaid diagram...

[Mermaid diagram output]

Saved to: .requirements/inventory-management/story-map/
  - story-map.mmd (Mermaid source)
  - story-map.yaml (Structured data)
```

## Output Locations

```yaml
output_locations:
  mermaid: ".requirements/{domain}/story-map/story-map.mmd"
  yaml: ".requirements/{domain}/story-map/story-map.yaml"
  markdown: ".requirements/{domain}/story-map/story-map.md"
```

## Integration with Other Commands

### After Elicitation

```bash
# Elicit requirements first
/requirements-elicitation:discover "inventory management"

# Then create story map
/requirements-elicitation:story-map --domain "inventory-management"
```

### Before Export

```bash
# Create story map for prioritization
/requirements-elicitation:story-map --domain "checkout"

# Use story 

Related in General