workflow-visualizer
Workflow Visualizer
Turn any system description into a beautiful, interactive HTML diagram. Click nodes, hover for details, and see exactly how data flows through your workflow. One self-contained HTML file, no dependencies.
How It Works
When you say "visualize this workflow" or "map out this system", this skill parses your description, identifies every component, and builds an interactive diagram you can open in any browser.
Step 1: Parse the System
Extract these components from the user's description:
| Component | What to Look For | Example |
|---|---|---|
| Triggers | What starts the workflow | "When a new email arrives", "Every morning at 9am" |
| Inputs | Data that enters the system | "Email body", "CSV file", "API response" |
| Processing Steps | Actions that transform data | "Extract key info", "Summarize text", "Filter results" |
| Tools / Services | External tools or APIs used | "Claude", "Zapier", "Google Sheets", "Slack" |
| Decision Points | Conditional branches | "If priority is high", "When amount > $100" |
| Outputs | Final results or deliverables | "Send Slack message", "Update spreadsheet", "Generate report" |
| Loops | Recurring or repeating steps | "Repeat for each item", "Run daily" |
| Data Stores | Where data lives between steps | "Database", "JSON file", "Spreadsheet" |
If the user's description is vague, ask clarifying questions before building.
Step 2: Choose a Layout
Select the layout that best fits the workflow shape:
| Layout | Structure | Best For |
|---|---|---|
| Left-to-Right Flow | Horizontal chain of nodes | Linear processes, pipelines, simple workflows |
| Top-Down Waterfall | Vertical cascade | Sequential steps, decision trees, funnels |
| Hub and Spoke | Central node with radiating connections | One tool that connects to many, API integrations |
| Swimlane | Horizontal lanes per tool/person | Multi-team processes, handoffs between systems |
| Circular | Loop back to start | Recurring workflows, feedback loops, monitoring |
Step 3: Build the Interactive HTML
Generate a single self-contained HTML file with these features:
Node Types and Colors
| Node Type | Background | Border | Icon Style |
|---|---|---|---|
| Trigger | #1e3a5f |
#3B82F6 (blue) |
Lightning bolt, clock, webhook |
| Processing | #1a3d2e |
#10B981 (green) |
Gear, wand, filter |
| Tool / Service | #3d2e1a |
#F59E0B (amber) |
Tool logo or wrench |
| Output | #3d1a1a |
#EF4444 (red) |
Check, send, export |
| Data Store | #1a1a2e |
#6366F1 (indigo) |
Database, folder, file |
| Decision | #2e1a3d |
#A855F7 (purple) |
Question mark, fork |
Node Content
Each node displays:
- Icon (emoji or SVG) at the top
- Label (2-4 words, bold)
- Subtitle (one short line describing what happens)
Connections and Interactivity
Lines: Solid with arrowheads, color matches source node border, optional data label, animated dash on highlight.
Hover: Node scales 1.05x, border glows, tooltip with step description.
Click: Highlights node and direct connections, dims unconnected nodes, click background to reset.
Responsive:
- Diagram scales to fit the viewport
- Works on desktop and tablet screens
- Nodes wrap or scroll on very small screens
Style Defaults
Page bg #0f0f0f, container #161616, header text #ffffff, subtitle #888888, node text #ffffff, connections #444444 (colored when highlighted). System sans-serif font, 12px border radius, 20px node padding, 160px min node width.
Include a header (workflow name + description), the diagram container, and a color-coded legend (Blue=Triggers, Green=Processing, Amber=Tools, Red=Outputs, Indigo=Data Stores, Purple=Decisions). All styles and JS inline, no external dependencies.
Rules
- Every node must be a specific action, not a vague label. "Process data" is bad. "Extract invoice total from PDF" is good
- Connections must show what data flows between nodes. Not just that they connect, but WHAT passes through
- Decision points need labeled branches. "Yes" and "No", or the specific conditions
- No floating nodes. Every node must connect to at least one other node
- Dark background always. Light mode diagrams wash out and look less professional
- Max 20 nodes per diagram. If the workflow is bigger, split into sub-diagrams
- Self-contained HTML. No external CSS, JS, or image dependencies. Must work offline
Example Usage
- "Visualize this workflow: new lead from website form, added to CRM, sales gets Slack notification"
- "Map out this system: Claude writes drafts, Grammarly checks, Google Docs for review"
- "Diagram my workflow: check email, triage urgent vs non-urgent, route to Slack or Notion"
Tips for Best Results
- Describe your workflow step by step in plain language
- Mention every tool or service involved by name
- Include any conditions or branches ("if X then Y, otherwise Z")
- The more detail you give, the more accurate the diagram will be
More from devinschumacher/skills
playwright
Canonical Playwright hub for E2E tests and ad-hoc browser automation. Use when the user explicitly mentions "Playwright", "@playwright/test", "npx playwright", "playwright.config.ts", "PWDEBUG", "trace viewer", or "toHaveScreenshot". Avoid using for generic browser automation unless Playwright is requested, and avoid using for pure web scraping.
43skill-consolidator
Create and maintain first-party custom skills by strategically consolidating overlapping third-party skills. Scans globally installed skills (prefer ~/.agents/skills, or $CODEX_HOME/skills, or ~/.codex/skills) to produce an overlap report, then guides merging into a smaller, linked set inside this repo’s `skills/` directory. Use when asked to "clean up skills", "merge skills", "remove duplicates", "consolidate overlapping skills", "organize my skills", or "create a custom skill from other skills".
17agents-reminder
Reminds the agent to refresh on AGENTS.md guidelines before proceeding with tasks. Use at the start of a session or when unsure about agent policies.
12conventional-commits
Generates git commit messages following Conventional Commits 1.0.0 specification with semantic types (feat, fix, etc.), optional scope, and breaking change annotations. Use when committing code changes or creating commit messages.
3serp-toc
Route SERP org questions to the right repo, docs, and local clone quickly. Use when Codex needs to figure out where to look first across the SERP org, including repo lookup, server or infrastructure questions, secrets or env questions, branch orientation, local path discovery, or deciding whether something belongs in the docs hub versus an owning repo.
1project-status-phase
Advance GitHub project board items through the next truthful status phase using board rules, repo state, linked PRs, and docs. Use when asked to move, triage, reclassify, or advance an issue/card on a project board, or to keep board status aligned with reality.
1