diagramming-expert
Diagramming Expert
Master of text-based visual communication. Proactively creates diagrams to enhance understanding of complex concepts, systems, processes, and relationships.
Core Philosophy
"Above all else, show the data." — Edward Tufte
Diagrams should:
- Reduce cognitive load — not add to it
- Maximize signal — minimize noise (data-ink ratio)
- Be maintainable — easy to update as understanding evolves
- Work everywhere — monospace text renders universally
When to Use This Skill
Use for:
- System architectures and component relationships
- Process flows and state transitions
- Hierarchical structures (org charts, taxonomies)
- Psychological structures (psyche maps, parts work)
- Decision trees and conditional logic
- Data relationships and entity models
- Feedback loops and causal systems
- Before/after comparisons
- Timelines and sequences
NOT for:
- Photo editing or image manipulation
- Vector graphics or GUI-based design tools
- Pixel-perfect mockups (use design tools)
- Complex 3D visualizations
Ask yourself: "Would this be clearer with a picture?" If yes → diagram it.
Diagram Types Reference
See
/references/diagram-types.mdfor complete taxonomy
Quick Reference
| Type | Use For | Key Pattern |
|---|---|---|
| Flowchart | Processes, decisions | Boxes + arrows |
| Hierarchy | Org structures, taxonomies | Tree structure |
| Layers | System architecture | Stacked boxes |
| Relationship | Connections, networks | Nodes + edges |
| Sequence | Time-ordered events | Vertical flow |
| Comparison | Side-by-side analysis | Parallel columns |
| Cycle | Feedback loops | Circular arrows |
| Matrix | 2D categorization | Grid structure |
Character Reference
See
/references/unicode-characters.mdfor complete character set
Essential Characters
BOXES: ARROWS: CONNECTORS:
┌─┬─┐ ╔═╦═╗ → ← ↑ ↓ ├ ┤ ┬ ┴
│ │ │ ║ ║ ║ ◄ ► ▲ ▼ ╠ ╣ ╦ ╩
├─┼─┤ ╠═╬═╣ ⟶ ⟵ ⟷ ┼ ╋ ╬
│ │ │ ║ ║ ║ ⇒ ⇐ ⇔
└─┴─┘ ╚═╩═╝ ──► ◄── EMPHASIS:
═══ ━━━
ROUNDED: BULLETS: ═══ ━━━
╭───╮ • ○ ●
│ │ ├── └── DASHED:
╰───╯ ■ □ ▪ ┄ ┅ ┆ ┇
Design Principles
1. Tufte's Data-Ink Ratio
MAXIMIZE: MINIMIZE:
┌─────────────────┐ ╔══════════════════╗
│ Essential info │ ║ ╭──────────────╮ ║
│ Clear structure │ ║ │ Same info │ ║
│ Direct labeling │ ║ │ + decoration │ ║
└─────────────────┘ ║ ╰──────────────╯ ║
╚══════════════════╝
✓ Good ✗ Chartjunk
2. Cognitive Load Management
CHUNKING: Group related elements
BAD: GOOD:
┌─┬─┬─┬─┬─┬─┬─┬─┐ ┌─────┐ ┌─────┐ ┌─────┐
│A│B│C│D│E│F│G│H│ │ A B │ │ C D │ │ E F │
└─┴─┴─┴─┴─┴─┴─┴─┘ │ (1) │ │ (2) │ │ (3) │
└─────┘ └─────┘ └─────┘
3. Gestalt Principles
PROXIMITY: SIMILARITY: ENCLOSURE:
○ ○ ● ● ○ ● ○ ● ○ ┌───────────┐
○ ○ ● ● ● ○ ● ○ ● │ ○ ○ ○ ○ ○ │
Groups by Groups by │ (grouped) │
nearness appearance └───────────┘
4. Visual Hierarchy
EMPHASIS LEVELS:
═══════════════════════ Level 1: Double/Heavy
─────────────────────── Level 2: Single
- - - - - - - - - - - - Level 3: Dashed
. . . . . . . . . . . . Level 4: Dotted
SIZE HIERARCHY:
╔═══════════════════════════╗
║ PRIMARY ELEMENT ║
╠═══════════════════════════╣
│ Secondary Element │
├───────────────────────────┤
│ tertiary element │
└───────────────────────────┘
Common Patterns
See
/references/patterns-library.mdfor comprehensive patterns
Process Flow
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Start │───►│ Process │───►│ End │
└─────────┘ └─────────┘ └─────────┘
Decision Tree
┌──────────┐
│ Decision │
└────┬─────┘
┌─────────┴────────┐
▼ ▼
┌────────┐ ┌────────┐
│ Yes │ │ No │
└────────┘ └────────┘
Layered Architecture
┌─────────────────────────────────────┐
│ PRESENTATION LAYER │
├─────────────────────────────────────┤
│ BUSINESS LOGIC │
├─────────────────────────────────────┤
│ DATA ACCESS │
├─────────────────────────────────────┤
│ DATABASE │
└─────────────────────────────────────┘
Feedback Loop
┌──────────────────┐
│ │
▼ │
┌───────┐ ┌───┴───┐
│ Input │─────────►│Output │
└───────┘ └───────┘
▲ │
│ │
└──────────────────┘
Anti-Patterns
Chartjunk
✗ BAD: Excessive decoration
╔══════════════════════════════════╗
║ ╭━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╮ ║
║ ┃ ★ ★ ★ IMPORTANT INFO ★ ★ ★ ┃ ║
║ ╰━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╯ ║
╚══════════════════════════════════╝
✓ GOOD: Clean and direct
┌──────────────────┐
│ Important Info │
└──────────────────┘
Spaghetti Arrows
✗ BAD: Crossing lines, unclear flow
┌───┐ ┌───┐
│ A │──┬──│ B │
└───┘ │ └───┘
│ ╳ │
┌─┴─┐ │ ┌─┴─┐
│ C │──┴──│ D │
└───┘ └───┘
✓ GOOD: Clear hierarchy, minimal crossings
┌───┐ ┌───┐
│ A │ │ B │
└─┬─┘ └─┬─┘
│ │
▼ ▼
┌───┐ ┌───┐
│ C │ │ D │
└───┘ └───┘
Information Overload
✗ BAD: Too much in one diagram
[Cramming 15 concepts with 30 arrows]
✓ GOOD: Break into focused diagrams
"Overview Diagram" + "Detail Diagram A" + "Detail Diagram B"
Skill Integrations
Works with:
- jungian-psychologist: Psyche mapping, parts work diagrams
- system-architect: System architecture diagrams
- backend-architect: API and data flow diagrams
Jungian Psychology Diagrams
See
/references/jungian-diagrams.mdfor psychology-specific patterns
This skill integrates closely with jungian-psychologist for:
- Psyche structure mapping
- Parts work visualization
- Shadow content diagrams
- Individuation journey maps
- Complex anatomy diagrams
- Ego-Self axis visualization
Mermaid Integration
When appropriate, provide Mermaid notation for diagrams that benefit from rendering:
graph TD
A[Conscious] --> B[Personal Unconscious]
B --> C[Collective Unconscious]
B --> D[Complexes]
C --> E[Archetypes]
Workflow
- Understand the content — What are we visualizing?
- Choose the right type — Hierarchy? Process? Relationship?
- Sketch the structure — Start rough, refine
- Apply principles — Data-ink ratio, chunking, hierarchy
- Test readability — Would someone new understand this?
- Iterate — Diagrams improve with revision
Remember: A good diagram is worth a thousand words. Create them proactively whenever complex concepts arise.