From aeo-documentation
Craft Mermaid diagrams within Markdown for flowcharts, ERDs, sequence diagrams, state machines, Gantt charts, and mindmaps. Includes validated syntax templates, layout optimization, and cross-platform rendering for GitHub, GitLab, VS Code, and Obsidian. Use when: creating diagrams in markdown files, debugging "diagram not rendering" errors, selecting diagram types for docs, visualizing database schemas or API flows, or fixing Mermaid syntax issues.
npx claudepluginhub aeyeops/aeo-skill-marketplace --plugin aeo-documentationThis skill uses the workspace's default tool permissions.
Create diagrams using fenced code blocks:
references/architecture.mdreferences/block.mdreferences/c4.mdreferences/class.mdreferences/erd.mdreferences/flowchart.mdreferences/gantt.mdreferences/gitgraph.mdreferences/journey.mdreferences/kanban.mdreferences/layout.mdreferences/mindmap.mdreferences/packet.mdreferences/pie.mdreferences/platforms.mdreferences/quadrant.mdreferences/radar.mdreferences/requirement.mdreferences/sankey.mdreferences/selection-guide.mdGenerates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Create diagrams using fenced code blocks:
```mermaid
flowchart TB
A[Start] --> B[End]
```
| Diagram Type | Load this file |
|---|---|
| Flowchart - processes, workflows | flowchart.md |
| Sequence - API interactions | sequence.md |
| Class - OOP structures | class.md |
| State - lifecycles, FSM | state.md |
| ERD - database schemas | erd.md |
| Gantt - project timelines | gantt.md |
| Diagram Type | Load this file |
|---|---|
| Pie - proportional data | pie.md |
| Quadrant - priority matrix | quadrant.md |
| Radar - multi-dimensional | radar.md |
| XY Chart - line/bar graphs | xychart.md |
| Sankey - flow quantities | sankey.md |
| Treemap - hierarchical data | treemap.md |
| Diagram Type | Load this file |
|---|---|
| C4 - architecture (Context/Container/Component) | c4.md |
| Architecture - cloud/infra | architecture.md |
| Block - manual layouts | block.md |
| Mindmap - brainstorming | mindmap.md |
| Timeline - chronological events | timeline.md |
| Journey - user workflows | journey.md |
| GitGraph - branching | gitgraph.md |
| Kanban - task boards | kanban.md |
| ZenUML - code-like sequence | zenuml.md |
| Requirement - SysML | requirement.md |
| Packet - network protocols | packet.md |
| When you need... | Load this file |
|---|---|
| Which diagram to use? | selection-guide.md |
| Layout/width problems | layout.md |
| Styling and themes | styling.md |
| Platform compatibility | platforms.md |
| Core syntax rules | syntax.md |
| Copy-paste templates | templates.md |
| Scenario | Diagram | Keyword |
|---|---|---|
| Database tables | ERD | erDiagram |
| API calls | Sequence | sequenceDiagram |
| Process steps | Flowchart | flowchart TB |
| Status lifecycle | State | stateDiagram-v2 |
| Project schedule | Gantt | gantt |
| Brainstorm | Mindmap | mindmap |
| Architecture | Flowchart+subgraphs | flowchart TB |
| Git workflow | GitGraph | gitGraph |
| Task board | Kanban | kanban |
flowchart TB
Start[Start] --> Check{Valid?}
Check -->|Yes| Process[Process]
Check -->|No| Error[Error]
Process --> Done[Done]
Error --> Done
flowchart TB
subgraph Frontend
UI[Web App]
end
subgraph Backend
API[API Server]
DB[(Database)]
end
UI --> API --> DB
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE_ITEM : contains
CUSTOMER {
int id PK
string name
string email UK
}
ORDER {
int id PK
int customer_id FK
date created_at
}
sequenceDiagram
participant C as Client
participant A as API
participant D as Database
C->>+A: POST /users
A->>+D: INSERT user
D-->>-A: user_id
A-->>-C: 201 Created
stateDiagram-v2
[*] --> Draft
Draft --> Pending: Submit
Pending --> Approved: Approve
Pending --> Rejected: Reject
Approved --> [*]
Rejected --> Draft: Revise
mindmap
root((Project))
Backend
API
Database
Frontend
React
CSS
DevOps
CI/CD
Monitoring
[end], (end), or "end" (reserved word)[]{}() needs double quotes: A["text [with] brackets"]A---oB parsed as circle edge; use A--- oB or A---OBA1, userAuth, not user-auth or step.1 (hyphens/dots break parsing)%%{init: {'theme': 'dark'}}%% for all diagrams; provides color differentiation and consistent appearancestyle NodeID fill:#hex lines because themes provide consistent colors across diagramsControl rendering with %%{init: ...}%% at the start of the diagram:
For diagrams with many edge crossings or complex layouts:
%%{init: {'flowchart': {'defaultRenderer': 'elk'}}}%%
flowchart TB
A --> B & C & D
B & C --> E
D --> E
%%{init: {'theme': 'neutral', 'flowchart': {'defaultRenderer': 'elk', 'htmlLabels': false}}}%%
flowchart TB
A[Start] --> B[Process]
| Option | Values | Use Case |
|---|---|---|
theme | neutral, default, dark, forest | Print: neutral. Dark mode: dark |
defaultRenderer | dagre (default), elk | ELK for complex layouts |
htmlLabels | true/false | false for markdown in labels |
curve | basis, linear, cardinal | Edge curve style |
| Problem | Solution |
|---|---|
| Diagram not rendering | Check for lowercase "end" - capitalize or quote it |
| Diagram too wide / PDF overflow | Change LR to TB for letter-size output |
| "Parse error" on node | Quote text containing brackets: ["my [label]"] |
| Node ID parse error | Use alphanumeric only - no hyphens, dots, or special chars |
| Unexpected edge style | Node ID starts with o/x - add space or capitalize |
| Subgraph direction ignored | External connections override - restructure links |
| GitHub not rendering | Check for unsupported features (ELK, some beta charts) |
| Edge crossings messy | Add %%{init: {'flowchart': {'defaultRenderer': 'elk'}}}%% |
| Emoji/symbols missing | Replace with ASCII text - not all renderers support Unicode |
| Poor contrast or inconsistent colors | Use %%{init: {'theme': 'dark'}}%% for all diagrams |
| Inline style declarations | Remove style X fill:#hex lines - use theme directive instead |
| Platform differences | See platforms.md |