agentleFS
UXLanaUXLana/design-skills-pack/skills/flow-capture/SKILL.md

flow-capture

Skill8 starsChanged 27 days agoMITView on GitHub

Map a prototype against its requirements doc as a color-coded flow diagram. Every screen and feature is placed in its Crawl / Walk / Run (or MVP / Phase 2 / Phase 3) phase and marked built, missing, future or unverified, with a legend, and exported as an SVG, a one-page HTML and a print-ready PDF. Use when the user asks "what's built vs. missing?", "map the prototype against the requirements", "make a flow map", "screen map", "prototype map", "maturity map", "crawl walk run diagram", or wants to show stakeholders scope and gaps after a prototype build. Hands rendering to flow-diagram-render. Not for turning sync notes into a decision doc (requirements-to-decision-doc) or rendering a Mermaid file you already have (flow-diagram-render).

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. About 0 are common, 12 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈12

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When documenting what a prototype covers vs.

    line 12
  2. Distinctive:

    When communicating scope and maturity to stakeholders

    line 13
  3. Distinctive:

    When mapping a requirements doc to a visual flow

    line 14
  4. Distinctive:

    When answering "what's built, what's next?"

    line 15
  5. Distinctive:

    After a prototype build finishes

    line 16
  6. Distinctive:

    Every state has a color and a non-color cue (border style or a label suffix), so the map still reads in grayscale and for color-blind …

    line 29
  7. Distinctive:

    Use whatever the user gives you: a pasted doc, a file, or a link.

    line 45
  8. Very specific:

    Start the source with accTitle: (the map's name) and accDescr: (one or two sentences: how many screens are built, missing, unverified, and …

    line 81
  9. Distinctive:

    Every node gets a classDef for its state

    line 82
  10. Distinctive:

    Keep labels SHORT — max 3 words.

    line 85
  11. Very specific:

    Use flowchart TD (top-down) for vertical flow

    line 86
  12. Distinctive:

    No screenshots, no gallery, no tabs — just the map

    line 124
  13. Distinctive:

    Put the outputs next to the requirements doc or in the project folder the user names, not in a scratch folder:

    line 135
  14. Distinctive:

    No screenshot capture and no "what changed since the last map" diff.

    line 185

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

flow-capture

Generate a visual flow map of a product prototype, color-coded by maturity phase (Crawl/Walk/Run). Synthesizes the requirements doc to decide what's built, what's missing, and what's future-phase, records the evidence for each call, then renders a Mermaid flowchart to SVG and PDF.

When to use

  • When documenting what a prototype covers vs. what's missing
  • When communicating scope and maturity to stakeholders
  • When mapping a requirements doc to a visual flow
  • When answering "what's built, what's next?"
  • After a prototype build finishes

What it produces

OutputPurpose
flow-diagram.mmdThe Mermaid source, kept so the map can be re-rendered
flow-diagram.svgRendered flowchart (no JavaScript needed; opens in design tools)
flow-chart.htmlSelf-contained page with the SVG, legend and evidence list
<Project>-Flow-Map.pdfPrint-ready PDF for stakeholders

Color coding

Every state has a color and a non-color cue (border style or a label suffix), so the map still reads in grayscale and for color-blind readers. Border colors are at least 3:1 against white (WCAG 2.2, 1.4.11).

StateMeaningNon-color cueMermaid classDef
Crawl — builtIn the requirements as Crawl and present in the prototypeSolid borderfill:#dcfce7,stroke:#16a34a,color:#1f2937,rx:12,ry:12
Crawl — missingIn the requirements as Crawl, not in the prototypeDashed border + label ends "· not built"fill:#fef9c3,stroke:#a16207,color:#1f2937,stroke-dasharray:5 3,rx:12,ry:12
WalkWalk-phase featureInside the "Walk" subgraphfill:#dbeafe,stroke:#2563eb,color:#1f2937,rx:12,ry:12
RunRun-phase featureInside the "Run" subgraphfill:#fce7f3,stroke:#db2777,color:#1f2937,rx:12,ry:12
UnverifiedCrawl scope, but "built" couldn't be confirmedDotted border + label ends "· unverified"fill:#f1f5f9,stroke:#64748b,color:#1f2937,stroke-dasharray:2 2,rx:12,ry:12

Measured against white: #16a34a 3.30:1, #a16207 4.92:1, #2563eb 5.17:1, #db2777 4.60:1, #64748b 4.76:1. Edge lines use #64748b too. If you change a color, re-check it.

Step-by-step workflow

Step 1: Gather requirements

Use whatever the user gives you: a pasted doc, a file, or a link. If it's a Confluence or Notion link and a connector is available, fetch it; otherwise ask the user to paste or export it. Look for:

  • Phasing table — what's Crawl vs. Walk vs. Run
  • Feature list — every screen, flow, and capability
  • Gap analysis — what exists in the prototype vs. what's missing
  • Out of scope — what to exclude from the diagram
User says: "Map the onboarding prototype using these requirements"
Skill does: Reads the doc, reads the phasing, identifies gaps

Step 2: Classify every screen, with evidence

Map each feature/screen to one of the five states above. "Built" needs evidence; record one of these per Crawl node:

EvidenceMeans
Seen runningYou opened the prototype and reached the screen
In codeA route, page or component for it exists in the prototype repo
Doc onlyOnly the requirements doc's gap summary says it exists
  • Seen running or in code → Crawl — built.
  • Doc only, or you can't reach the prototype or its code → Unverified. Don't promote it to built.
  • In the requirements as Crawl and found nowhere → Crawl — missing.

Cross-reference the Phasing Overview table, the Prototype Gap Summary section (if available), and the actual prototype (running or in code) when you can access it.

Step 3: Build the Mermaid diagram

Structure:

  • Main flow at top — hub-and-spoke from Home/Dashboard
  • Linear flows below — Registration, Checkout, etc.
  • Walk and Run in labeled subgraphs at the bottom
  • Dashed arrows (-.->) connect current screens to future phases

Rules:

  • Start the source with accTitle: (the map's name) and accDescr: (one or two sentences: how many screens are built, missing, unverified, and in Walk/Run). They become the SVG's accessible title and description.
  • Every node gets a classDef for its state
  • Missing and unverified nodes get their label suffix ("· not built", "· unverified")
  • Walk/Run subgraphs use classDef not subgraph styling
  • Keep labels SHORT — max 3 words. No emoji in labels: screen readers read them aloud and they clutter a small map.
  • Use flowchart TD (top-down) for vertical flow

Step 4: Render to SVG (via flow-diagram-render)

Save the source as flow-diagram.mmd and this config as flow-config.json:

{
  "theme": "base",
  "htmlLabels": false,
  "themeVariables": {
    "primaryColor": "#dcfce7",
    "primaryBorderColor": "#16a34a",
    "primaryTextColor": "#1f2937",
    "lineColor": "#64748b",
    "fontSize": "13px",
    "edgeLabelBackground": "#ffffff"
  },
  "flowchart": { "useMaxWidth": false, "curve": "basis", "padding": 8, "nodeSpacing": 30, "rankSpacing": 40 }
}

htmlLabels: false (at the root; the old flowchart.htmlLabels is deprecated) draws labels as SVG text instead of HTML inside <foreignObject>, which Figma-style SVG importers and Inkscape drop. Then render with the pinned CLI from flow-diagram-render:

npx -y @mermaid-js/mermaid-cli@11.17.0 -i flow-diagram.mmd -o flow-diagram.svg -c flow-config.json -b white

Open the SVG outside the browser (or in a design tool) and confirm the labels are there before delivering.

Step 5: Build HTML wrapper

Generate flow-chart.html with:

  • Title and metadata line (source doc and date)
  • Legend: each swatch paired with its state name and its non-color cue
  • Embedded SVG diagram (inline, so its accTitle/accDescr reach assistive tech)
  • An evidence list: each Crawl screen with its state and evidence (seen running / in code / doc only)
  • Source attribution
  • No screenshots, no gallery, no tabs — just the map

Step 6: Export PDF

Render the HTML to PDF with Playwright (page.pdf):

  • A3 landscape, scale: 0.9
  • Tight margins (0.4in)
  • printBackground: true

Step 7: Deliver

Put the outputs next to the requirements doc or in the project folder the user names, not in a scratch folder:

<project-folder>/
  <Project>-Flow-Map.pdf     ← for stakeholders
  flow-chart.html            ← for embedding
  flow-diagram.svg           ← for Confluence/Figma
  flow-diagram.mmd           ← to re-render later

User interaction model

The user does NOT edit Mermaid or JSON. They talk:

User: "Map the onboarding prototype using these requirements"
Skill: Reads the doc, classifies with evidence, renders the diagram

User: "Remove Label Design — another product owns that now"
Skill: Removes node, re-renders

User: "Chat Panel should be Walk, not Crawl"
Skill: Recolors node, re-renders

User: "Add a Product Detail View — it's missing but it's Crawl scope"
Skill: Adds a dashed "· not built" node, re-renders

Integration with other skills

Skill or toolIntegration
flow-diagram-renderRenders the .mmd to SVG/PNG with the pinned Mermaid CLI
Your prototype build stepAfter a build, flow-capture maps what was built
Confluence/Notion requirements pagesProvide the requirements doc to synthesize from
NotionFlow maps can be saved as Notion pages

Requirements document patterns

The skill looks for these patterns in requirements docs:

  • "Crawl / Walk / Run" or "MVP / Phase 2 / Phase 3" — phasing
  • "Prototype Gap Summary" — what's missing
  • "Not in Scope" or "Out of Scope" — what to exclude
  • Feature tables with complexity ratings (S/M/L/XL)
  • Entity models — inform the flow hierarchy
  • User roles — may inform permission-gated screens

Limitations

  • No screenshot capture and no "what changed since the last map" diff.
  • For a FigJam board instead of an SVG, use the Figma MCP's diagram tool directly.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.