# Creating Diagrams

> This skill should be used when the user asks to "create a diagram", "draw a flowchart", "visualize the architecture", "show me how X works", "add a diagram to the docs", "create an ASCII diagram", "make a Mermaid chart", or needs visual representation of systems, workflows, data flows, or comparisons. Supports both ASCII (for AI-maintained docs, terminals, code comments) and Mermaid (for rendered markdown).

- Skill: `majiayu000/creating-diagrams` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/creating-diagrams`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/creating-diagrams/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/creating-diagrams

---


# Creating Diagrams

## Use Cases

Architecture docs, workflows, data flows, comparisons, file trees, sequence diagrams, state machines.

## Operations

### Format Selection

| Format      | Best For                                                 | Renders In         |
| ----------- | -------------------------------------------------------- | ------------------ |
| __ASCII__   | AI-maintained docs, terminals, code comments, git diffs  | Everywhere         |
| __Mermaid__ | Complex auto-layout, dependency trees, sequence diagrams | Markdown renderers |
| __Tables__  | Comparisons, feature matrices                            | Markdown           |

__Key tradeoffs:__

* ASCII: works everywhere, clear git diffs, but manual layout is tedious
* Mermaid: auto-layout, parseable (`@mermaid-js/parser`), but requires renderer

### Creating ASCII Diagrams

Reference `references/ascii-patterns.md` for: box diagrams, flows, file trees, decision branches, sequence diagrams, layered architecture.

### Creating Mermaid Diagrams

Reference `references/mermaid-syntax.md` for: flowcharts, sequence diagrams, state diagrams, class diagrams, Gantt charts.

### Adding Mermaid Live Links

Add one-click preview URLs above mermaid code blocks.

```bash
# Pipe diagram to script (run from project with pako installed)
echo 'sequenceDiagram
    A->>B: Hello' | node scripts/mermaid-url.js
```

Add URL on line before code fence for one-click preview.

## CRITICAL

### Right Edge Alignment

__All lines in a boxed diagram must end at the same column.__ Ragged right edges look broken.

__Technique:__

1. Decide width first (e.g., 60 chars)
2. Pad with spaces to hit that width
3. Avoid deep nesting - prefer flat layouts
4. Count characters when unsure

```
WRONG (ragged right edges):
┌───────────────────────────┐
│  Frontend                 │
│  ┌──────┐   ┌───────┐    │
│  │ React│   │ Redux │    │
│  └──────┘   └───────┘│
└───────────────────────────┘
     ↑ inner boxes don't reach right edge

RIGHT (all lines end at same column):
┌──────────────────────────────┐
│  Frontend                    │
│  ┌──────────┐   ┌──────────┐ │
│  │  React   │   │  Redux   │ │
│  └──────────┘   └──────────┘ │
└──────────────────────────────┘
```

## Notes

* Keep within 80-100 columns for terminal compatibility
* Label every box and arrow
* Prefer clarity over detail
* Follow logical flow: left-to-right or top-to-bottom

## Appendix

### Sources

Synthesized from:

* [ascii-visualizer](https://github.com/ArieGoldkin/devPrepAi/tree/main/.claude/skills/ascii-visualizer) by ArieGoldkin
* [Art](https://github.com/vdemeester/home/tree/main/dots/.config/claude/skills/Art) by vdemeester

