Text to diagram
Portable, standalone Zo Computer skills you can install, reuse, and share.
npx -y skills add thevibethinker/vibe-thinker-skills --skill text-to-diagramAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Transform text corpora (articles, docs, ideas, decisions) into Excalidraw-ready diagrams through a Socratic dialogue process. Analyzes content for visualizable concepts, engages in clarifying dialogue, then generates hybrid output (Mermaid for flowcharts, raw Excalidraw JSON for other diagram types). Designed for collaborative visual thinking and communication.
SKILL.md
6.1 KB, as published. Nobody here has run it
Text-to-Diagram Skill
Transform text into Excalidraw diagrams through structured Socratic dialogue.
Philosophy
This skill treats diagram generation as a collaborative sense-making process, not a one-shot transformation. The AI:
- Studies the corpus to identify what's visualizable
- Engages in Socratic dialogue to clarify your intent
- Surfaces conceptual gaps or ambiguities
- Only generates output after systematic completion
When to Use
- Articles/docs → Visual summaries or concept breakdowns
- Your ideas → Sketched-out thinking aids
- Difficult decisions → Decision trees, tradeoff matrices, comparison charts
- Meeting notes → Process flows, relationship maps
- Complex systems → Architecture diagrams, state machines
Workflow Phases
Phase 1: Analysis
AI reads the corpus and identifies:
- Visualizable concepts (processes, hierarchies, relationships, comparisons, timelines)
- Diagram type recommendations
- Entities, relationships, and flows
Output: Analysis summary + diagram candidates
Phase 2: Socratic Clarification
AI asks clarifying questions:
- "What's the primary audience for this diagram?"
- "Should X be shown as a process or a hierarchy?"
- "I see A and B as related — is that causal, temporal, or categorical?"
- "What level of detail do you want?"
Goal: Ensure the diagram serves your actual intent
Phase 3: Gap Filling
AI surfaces uncertainties:
- "The text doesn't specify whether X happens before or after Y"
- "There are three possible interpretations of this relationship"
- "This concept is mentioned but never defined — should we include it?"
Goal: Fill conceptual holes before rendering
Phase 4: Generation
Only after phases 1-3 are complete:
- Generate Mermaid code (for flowcharts — native Excalidraw rendering)
- Generate Excalidraw JSON (for other diagram types — full hand-drawn aesthetic)
- Provide import instructions
Invocation
Interactive Mode (Recommended)
Simply tell Zo:
"Run the text-to-diagram skill on this document"
"Diagram this article for me"
"Turn these meeting notes into a visual"
Zo will:
- Read the corpus (file, pasted text, or URL)
- Run analysis
- Begin Socratic dialogue
- Generate output after completion
Script Mode
For batch processing or automation:
python3 Skills/text-to-diagram/scripts/analyze.py --input <file> --output <dir>
Output Formats
Mermaid (.mmd)
Best for: Flowcharts only (native hand-drawn rendering in Excalidraw)
flowchart TD
A[Input] --> B{Decision}
B -->|Yes| C[Action 1]
B -->|No| D[Action 2]
To use: Paste into Excalidraw's Mermaid tab
Excalidraw JSON (.excalidraw)
Best for: Everything else (mindmaps, ER diagrams, custom layouts, comparisons)
- Full control over positioning, styling, colors
- Native hand-drawn aesthetic for all shapes
- Direct import into Excalidraw
To use: File → Open in Excalidraw
Diagram Type Selection
| Content Pattern | Diagram Type | Format |
|---|---|---|
| Steps, processes, workflows | Flowchart | Mermaid |
| Decisions with branches | Decision Tree | Mermaid |
| Cause → Effect chains | Causal Flow | Mermaid |
| Hierarchies, taxonomies | Tree / Mindmap | Excalidraw JSON |
| Entity relationships | ER-style | Excalidraw JSON |
| Comparisons, tradeoffs | Matrix / Quadrant | Excalidraw JSON |
| Timelines, sequences | Timeline | Excalidraw JSON |
| System components | Architecture | Excalidraw JSON |
| States and transitions | State Diagram | Excalidraw JSON |
Aesthetic Defaults
All diagrams default to a neutral dark Excalidraw aesthetic. Adjust as needed for the project or brand:
- Background:
#0f1115(or transparent) - Stroke:
#f5f5f5or muted grays - Fill: Minimal, dark tones
- Font: Excalidraw hand-drawn (Virgil)
- Theme: Dark mode
Examples
Example 1: Article → Concept Map
Input: A long article about AI agents Analysis: "I found 4 key concepts: autonomy, tool use, memory, and planning. They form a hierarchy with 'agent' at the root." Socratic: "Should this emphasize the relationships between concepts, or the hierarchy?" Output: Excalidraw JSON mindmap
Example 2: Decision → Tradeoff Matrix
Input: "I'm deciding between staying at my job, starting a company, or joining a startup" Analysis: "This is a comparison of 3 options across multiple criteria" Socratic: "What criteria matter most? Risk tolerance? Financial upside? Learning?" Output: Excalidraw JSON quadrant chart or comparison matrix
Example 3: Process Doc → Flowchart
Input: A document describing an onboarding workflow Analysis: "I found a 7-step sequential process with 2 decision points" Socratic: "Should exceptions and error cases be shown, or just the happy path?" Output: Mermaid flowchart
Technical Notes
Mermaid Limitations in Excalidraw
Only flowcharts render natively. Other Mermaid types (sequence, class, ER, gantt) become rasterized images — defeating the hand-drawn aesthetic. That's why we use raw Excalidraw JSON for non-flowchart diagrams.
Excalidraw JSON Schema
Elements include: rectangle, ellipse, diamond, arrow, line, text, freedraw
Each element has:
id,type,x,y,width,heightstrokeColor,fillColor,backgroundColorstrokeWidth,roughness(0=smooth, 2=sketchy)- For arrows:
startBinding,endBinding(to connect shapes)
References
- Mermaid syntax:
references/mermaid-syntax.md - Excalidraw JSON schema:
references/excalidraw-schema.md - Diagram type taxonomy:
references/diagram-taxonomy.md