All skills
Skillintermediate

Flowchart

Claude Code Knowledge Pack7/10/2026

Overview

Flowchart

Back to Style Guide โ€” Read the style guide first for emoji, color, and accessibility rules.

Syntax keyword: flowchart Best for: Sequential processes, workflows, decision logic, troubleshooting trees When NOT to use: Complex timing between actors (use Sequence), state machines (use State)


Exemplar Diagram

flowchart TB
    accTitle: Feature Development Lifecycle
    accDescr: End-to-end feature flow from idea through design, build, test, review, and release with a revision loop on failed reviews

    idea([๐Ÿ’ก Feature idea]) --> spec[๐Ÿ“‹ Write spec]
    spec --> design[๐ŸŽจ Design solution]
    design --> build[๐Ÿ”ง Implement]
    build --> test[๐Ÿงช Run tests]
    test --> review{๐Ÿ” Review passed?}
    review -->|Yes| release[๐Ÿš€ Release to prod]
    review -->|No| revise[โœ๏ธ Revise code]
    revise --> test
    release --> monitor([๐Ÿ“Š Monitor metrics])

    classDef start fill:#ede9fe,stroke:#7c3aed,stroke-width:2px,color:#3b0764
    classDef process fill:#dbeafe,stroke:#2563eb,stroke-width:2px,color:#1e3a5f
    classDef decision fill:#fef9c3,stroke:#ca8a04,stroke-width:2px,color:#713f12
    classDef success fill:#dcfce7,stroke:#16a34a,stroke-width:2px,color:#14532d

    class idea,monitor start
    class spec,design,build,test,revise process
    class review decision
    class release success

Tips

  • Use TB (top-to-bottom) for processes, LR (left-to-right) for pipelines
  • Rounded rectangles ([text]) for start/end, diamonds {text} for decisions
  • Max 10 nodes โ€” split larger flows into "Phase 1" / "Phase 2" diagrams
  • Max 3 decision points per diagram
  • Edge labels should be 1โ€“4 words: -->|Yes|, -->|All green|
  • Use classDef for semantic coloring โ€” decisions in amber, success in green, actions in blue

Subgraph Pattern

When you need grouped stages:

flowchart TB
    accTitle: CI/CD Pipeline Stages
    accDescr: Three-stage pipeline grouping code quality checks, testing, and deployment into distinct phases

    trigger([โšก Push to main])

    subgraph quality ["๐Ÿ” Code Quality"]
        lint[๐Ÿ“ Lint code] --> format[โš™๏ธ Check formatting]
    end

    subgraph testing ["๐Ÿงช Testing"]
        unit[๐Ÿงช Unit tests] --> integration[๐Ÿ”— Integration tests]
    end

    subgraph deploy ["๐Ÿš€ Deployment"]
        build[๐Ÿ“ฆ Build artifacts] --> ship[โ˜๏ธ Deploy to staging]
    end

    trigger --> quality
    quality --> testing
    testing --> deploy
    deploy --> done([โœ… Pipeline complete])

    classDef trigger_style fill:#ede9fe,stroke:#7c3aed,stroke-width:2px,color:#3b0764
    classDef success fill:#dcfce7,stroke:#16a34a,stroke-width:2px,color:#14532d

    class trigger trigger_style
    class done success

Template

flowchart TB
    accTitle: Your Title Here (3-8 words)
    accDescr: One or two sentences explaining what this diagram shows and what insight the reader gains

    start([๐Ÿ Starting point]) --> step1[โš™๏ธ First action]
    step1 --> decision{๐Ÿ” Check condition?}
    decision -->|Yes| step2[โœ… Positive path]
    decision -->|No| step3[๐Ÿ”ง Alternative path]
    step2 --> done([๐Ÿ Complete])
    step3 --> done

Complex Example

A 20+ node e-commerce order pipeline organized into 5 subgraphs, each representing a processing phase. Subgraphs connect through internal nodes, decision points route orders to exception handling, and color classes distinguish phases at a glance.

flowchart TB
    accTitle: E-Commerce Order Processing Pipeline
    accDescr: Full order lifecycle from intake through fulfillment, shipping, and notification with exception handling paths for payment failures, stockouts, and delivery issues

    order_in([๐Ÿ“ฅ New order]) --> validate_pay{๐Ÿ’ฐ Payment valid?}

    subgraph intake ["๐Ÿ“ฅ Order Intake"]
        validate_pay -->|Yes| check_fraud{๐Ÿ” Fraud check}
        validate_pay -->|No| pay_fail[โŒ Payment **declined**]
        check_fraud -->|Clear| check_stock{๐Ÿ“ฆ In stock?}
        check_fraud -->|Flagged| manual_review[๐Ÿ” Manual **review**]
        manual_review --> check_stock
    end

    subgraph fulfill ["๐Ÿ“ฆ Fulfillment"]
        pick[๐Ÿ“‹ **Pick** items] --> pack[๐Ÿ“ฆ Pack order]
        pack --> label[๐Ÿท๏ธ Generate **shipping** label]
    end

    subgraph ship ["๐Ÿšš Shipping"]
        handoff[๐Ÿšš Carrier **handoff**] --> transit[๐Ÿ“ In transit]
        transit --> deliver{โœ… Delivered?}
    end

    subgraph notify ["๐Ÿ“ค Notifications"]
        confirm_email[๐Ÿ“ง Order **confirmed**]
        ship_update[๐Ÿ“ง Shipping **update**]
        deliver_email[๐Ÿ“ง Delivery **confirmed**]
    end

    subgraph exception ["โš ๏ธ Exception Handling"]
        pay_fail --> retry_pay[๐Ÿ”„ Retry payment]
        retry_pay --> validate_pay
        out_of_stock[๐Ÿ“ฆ **Backorder** created]
        deliver_fail[๐Ÿ”„ **Reattempt** delivery]
    end

    check_stock -->|Yes| pick
    check_stock -->|No| out_of_stock
    label --> handoff
    deliver -->|Yes| deliver_email
    deliver -->|No| deliver_fail
    deliver_fail --> transit

    check_stock -->|Yes| confirm_email
    handoff --> ship_update
    deliver_email --> complete([โœ… Order **complete**])

    classDef intake_style fill:#dbeafe,stroke:#2563eb,stroke-width:2px,color:#1e3a5f
    classDef fulfill_style fill:#ede9fe,stroke:#7c3aed,stroke-width:2px,color:#3b0764
    classDef ship_style fill:#dcfce7,stroke:#16a34a,stroke-width:2px,color:#14532d
    classDef warn_style fill:#fef9c3,stroke:#ca8a04,stroke-width:2px,color:#713f12
    classDef danger_style fill:#fee2e2,stroke:#dc2626,stroke-width:2px,color:#7f1d1d

    class validate_pay,check_fraud,check_stock,manual_review intake_style
    class pick,pack,label fulfill_style
    class handoff,transit,deliver ship_style
    class confirm_email,ship_update,deliver_email warn_style
    class pay_fail,retry_pay,out_of_stock,deliver_fail danger_style

Why this works

  • 5 subgraphs map to real business phases โ€” intake, fulfillment, shipping, notification, and exceptions are how operations teams actually think about orders
  • Exception handling is its own subgraph โ€” not scattered across phases. Agents and readers can see all failure paths in one place
  • Color classes reinforce structure โ€” blue for intake, purple for fulfillment, green for shipping, amber for notifications, red for exceptions. Even without reading labels, the color pattern tells you which phase you're looking at
  • Decisions route between subgraphs โ€” the diamonds ({Payment valid?}, {In stock?}, {Delivered?}) are the points where flow branches, and each branch leads to a clearly-labeled destination