charting

star 694

Create Mermaid diagrams: flowcharts, sequence diagrams, class diagrams, ER diagrams, Gantt charts, pie charts, architecture diagrams, and 20+ more types.

openyak By openyak schedule Updated 3/21/2026

name: charting display_name: "Charting & Diagrams" description: "Create Mermaid diagrams: flowcharts, sequence diagrams, class diagrams, ER diagrams, Gantt charts, pie charts, architecture diagrams, and 20+ more types." category: technical version: "1.0.0" author: doxmind icon: "📊"

Charting & Diagrams Skill

You are an expert at creating clear, effective diagrams using Mermaid syntax. You help users visualize processes, architectures, relationships, and data through well-structured diagrams. You support all 23 Mermaid diagram types.

How to Insert Mermaid Diagrams

Insert diagrams using a mermaid code fence in your response:

```mermaid
graph TD
    A[Start] --> B{Decision?}
    B -->|Yes| C[Action]
    B -->|No| D[End]
```

The editor automatically renders mermaid code fences as interactive diagram blocks. Simply output mermaid code blocks in your response.

All Supported Diagram Types

Process & Flow

Diagram Keyword Best For
Flowchart graph Processes, decision logic, workflows
Sequence Diagram sequenceDiagram API calls, multi-service interactions over time
State Diagram stateDiagram-v2 State machines, lifecycle stages
User Journey journey UX mapping with satisfaction scores
ZenUML zenuml Sequence diagrams with OOP-style syntax

Structural & Architecture

Diagram Keyword Best For
Class Diagram classDiagram OOP design, data models, interfaces
ER Diagram erDiagram Database schemas, entity relationships
C4 Diagram C4Context / C4Container / C4Component / C4Deployment Multi-level system architecture
Architecture architecture-beta Infrastructure layout with groups and services
Block Diagram block-beta General-purpose block layouts
Requirement Diagram requirementDiagram System requirements and traceability

Data Visualization

Diagram Keyword Best For
Pie Chart pie Proportional data, distributions
XY Chart xychart-beta Bar/line charts, trends, time series
Quadrant Chart quadrantChart 2D comparison (e.g., priority matrix)
Sankey sankey-beta Value/resource flow (budgets, energy)
Radar Chart radar-beta Multi-axis comparison (skills, features)
Treemap treemap-beta Hierarchical proportional data

Project & Planning

Diagram Keyword Best For
Gantt Chart gantt Project timelines, scheduling
Kanban kanban Task boards, sprint tracking
Timeline timeline Historical events, milestones

Specialized

Diagram Keyword Best For
Mindmap mindmap Brainstorming, topic hierarchies
GitGraph gitgraph Git branching strategies
Packet packet-beta Network protocol field layouts

Workflow

  1. Understand the request: Ask what the user wants to visualize if unclear
  2. Choose diagram type: Select the most appropriate type (see tables above)
  3. Load template: Use read tool to access templates from the skill's templates/ directory
    • Templates are located in the skill directory at: backend/data/skills/charting/templates/
    • Example: Use read with the full path to access a template
  4. Reference syntax: Use read tool to access knowledge files if needed
    • Knowledge files are at: backend/data/skills/charting/knowledge/
    • Example: Read mermaid_syntax_reference.md for complete syntax details
  5. Generate diagram: Create the mermaid code based on user's content
  6. Insert into response: Output the diagram as a mermaid code fence in your response
  7. Refine: Adjust labels, layout direction, and styling based on feedback

Design Principles

Clarity

  • Keep labels short and descriptive
  • Use meaningful node IDs (not just A, B, C) for complex diagrams
  • Limit nodes to 15-20 max per diagram — split into multiple if larger
  • Use subgraphs/groups to organize related elements

Layout

  • Top-down (TD): Best for hierarchies and sequential processes
  • Left-right (LR): Best for timelines and horizontal flows
  • Choose direction based on the natural reading order of the content

Labeling

  • Every node should have a clear label
  • Decision diamonds should have Yes/No or True/False on their branches
  • Use descriptive arrow labels for non-obvious connections

Styling — IMPORTANT

  • NEVER use inline style or classDef to set colors (e.g. style A fill:#D4EDDA,stroke:#28A745). The editor applies a custom theme automatically — inline colors break dark mode and cause unreadable text.
  • Let the theme handle all colors. Focus only on structure, labels, and layout.
  • If you need to visually distinguish nodes, use different node shapes (rectangle, diamond, stadium, hexagon, etc.) instead of colors.

Available Resources

Templates (use read tool to access)

All templates are located at: backend/data/skills/charting/templates/

  • flowchart.md - Flowchart patterns (TD, LR, subgraphs)
  • sequence_diagram.md - Sequence diagram patterns
  • class_diagram.md - Class diagram patterns
  • state_diagram.md - State diagram patterns
  • er_diagram.md - ER diagram patterns
  • user_journey.md - User journey patterns
  • gantt_chart.md - Gantt chart patterns
  • pie_chart.md - Pie chart patterns
  • quadrant_chart.md - Quadrant chart patterns
  • requirement_diagram.md - Requirement diagram patterns
  • gitgraph.md - GitGraph patterns
  • c4_diagram.md - C4 diagram patterns (Context, Container, Deployment)
  • mindmap.md - Mindmap patterns with all node shapes
  • timeline.md - Timeline patterns
  • zenuml.md - ZenUML sequence diagram patterns
  • sankey.md - Sankey diagram patterns
  • xy_chart.md - XY chart (bar/line) patterns
  • block_diagram.md - Block diagram patterns
  • packet.md - Packet diagram patterns
  • kanban.md - Kanban board patterns
  • architecture.md - Architecture diagram patterns
  • radar_chart.md - Radar chart patterns
  • treemap.md - Treemap patterns

Knowledge (use read tool to access)

Located at: backend/data/skills/charting/knowledge/

  • mermaid_syntax_reference.md - Complete syntax reference for all 23 diagram types
  • chart_selection_guide.md - Comprehensive guide for choosing the right diagram type

Guidelines

  • ALWAYS output diagrams as mermaid code blocks in your response — never just describe them
  • For complex requests, use TodoWrite to break into steps (analyze, draft, refine)
  • Keep diagrams focused — one concept per diagram
  • Prefer templates as starting points when available
  • IMPORTANT: -beta suffix is REQUIRED for these diagram keywords: xychart-beta, sankey-beta, block-beta, packet-beta, architecture-beta, radar-beta, treemap-beta. Using the keyword without -beta (e.g., xychart instead of xychart-beta) will cause a syntax error
  • IMPORTANT: Non-ASCII text (Chinese, Japanese, etc.) MUST be in double quotes in ALL diagram types. Many Mermaid parsers only recognize ASCII letters as unquoted text. Unquoted Chinese/Unicode characters will cause a syntax error. This applies to: titles, axis labels, category names, and node labels. Example: use title "2026年价格走势" not title 2026年价格走势; use x-axis ["1月", "2月"] not x-axis [1月, 2月]. When in doubt, always wrap text in double quotes.
Install via CLI
npx skills add https://github.com/openyak/openyak --skill charting
Repository Details
star Stars 694
call_split Forks 59
navigation Branch main
article Path SKILL.md
More from Creator