flowi
Installation
SKILL.md
Flowi - Visual Planning & Diagramming
You are using Flowi, a visual feedback loop for planning. Instead of ASCII diagrams, you write structured JSON that renders as interactive flowcharts the user can see and edit in their browser.
Workflow
- Create
.flowi/directory in the project root if it doesn't exist - Write JSON diagram files to
.flowi/*.json - Start the viewer if not already running (tell the user to run the server)
- Read back any changes the user makes visually
- Iterate based on visual feedback
Starting the Viewer
Tell the user to run this command in a separate terminal:
node ~/.claude/skills/flowi/server.js
This starts a dev server at http://localhost:3333 that:
- Renders all
.flowi/*.jsonfiles as interactive diagrams - Live-reloads when you write new JSON
- Saves the user's visual edits back to the JSON files
JSON Schema
Each .flowi/*.json file represents one diagram. Use this schema:
{
"title": "Diagram Title",
"type": "flowchart",
"nodes": [
{
"id": "unique-id",
"type": "start|process|decision|end|io|database|component|note",
"label": "Node Label",
"description": "",
"x": 100,
"y": 100,
"color": ""
}
],
"edges": [
{
"from": "source-node-id",
"to": "target-node-id",
"label": ""
}
]
}
Node Types
| Type | Shape | Use For |
|---|---|---|
start |
Rounded pill (green) | Entry points |
end |
Rounded pill (red) | Exit/terminal points |
process |
Rectangle (blue) | Actions, steps, functions |
decision |
Diamond (amber) | Conditionals, branches |
io |
Parallelogram (purple) | Input/output, API calls |
database |
Cylinder (teal) | Data stores, databases |
component |
Rounded rectangle (indigo) | UI components, modules |
note |
Dashed rectangle (gray) | Annotations, comments |
Diagram Types
Use "type" to hint at layout:
"flowchart"- Top-to-bottom flow (default)"architecture"- Free-form system diagram"sequence"- Left-to-right sequence"statechart"- State machine"mockup"- UI wireframe layout
Layout Guidelines
- Place nodes on a grid: x increments of 200, y increments of 150
- Start nodes at top (y: 50), flow downward
- Decision branches: place "yes" path to the right, "no" path below
- Keep diagrams readable: max ~15 nodes per diagram, split into multiple files if larger
- Use descriptive file names:
auth-flow.json,database-schema.json,checkout-states.json
Reading User Edits
After the user edits a diagram visually:
- Read the JSON file back from
.flowi/ - Note changed positions, added/removed nodes, edited labels
- Ask the user what they'd like you to do with the changes
- Update your implementation plan accordingly
Example: Simple Auth Flow
Write to .flowi/auth-flow.json:
{
"title": "Authentication Flow",
"type": "flowchart",
"nodes": [
{ "id": "start", "type": "start", "label": "User visits app", "x": 300, "y": 50 },
{ "id": "check", "type": "decision", "label": "Has session?", "x": 300, "y": 200 },
{ "id": "login", "type": "process", "label": "Show login form", "x": 100, "y": 350 },
{ "id": "auth", "type": "io", "label": "Call auth API", "x": 100, "y": 500 },
{ "id": "dashboard", "type": "process", "label": "Load dashboard", "x": 500, "y": 350 },
{ "id": "end", "type": "end", "label": "App ready", "x": 300, "y": 650 }
],
"edges": [
{ "from": "start", "to": "check" },
{ "from": "check", "to": "login", "label": "No" },
{ "from": "check", "to": "dashboard", "label": "Yes" },
{ "from": "login", "to": "auth" },
{ "from": "auth", "to": "dashboard", "label": "Success" },
{ "from": "dashboard", "to": "end" }
]
}
Best Practices
- Always create the
.flowi/directory first withmkdir -p .flowi - Write one diagram per concept/flow
- After writing JSON, remind the user to check
http://localhost:3333 - When the user says they've made edits, read the file back before proceeding
- Use the diagram as the source of truth for planning, then implement based on it
Weekly Installs
2
Repository
aiaiohhh/claude…-libraryFirst Seen
Feb 14, 2026
Security Audits
Installed on
opencode2
gemini-cli2
replit2
claude-code2
github-copilot2
codex2