Skip to content
Automation
Skill

/mermaid-diagram

Use when the user asks for a flowchart, architecture diagram, sequence diagram, ER diagram, state machine, gantt chart, or any visual that fits Mermaid syntax. Hope Agent's chat renders Mermaid blocks natively, so the diagram appears inline.

From plugin
hope-agent
1.9k30 skills

Claude Code

$ npx -y skills add shiwenwen/hope-agent --skill mermaid-diagram --agent claude-code

SKILL.md

mermaid-diagram.SKILL.md
name: mermaid-diagram
description: Use when the user asks for a flowchart, architecture diagram, sequence diagram, ER diagram, state machine, gantt chart, or any visual that fits Mermaid syntax. Hope Agent's chat renders Mermaid blocks natively, so the diagram appears inline.
version: 1.0.0
author: Hope Agent
license: MIT
metadata:
  hermes:
    tags: [office, diagram, visualization, mermaid, architecture]
    related_skills: []

Mermaid Diagram

When to Use

Trigger phrases: "draw a diagram", "flowchart for …", "sequence diagram", "architecture diagram", "ER diagram", "state machine", "gantt chart", "画一个流程图", "画个架构图".

**Mermaid is rendered natively** in Hope Agent chat (via Streamdown). Just emit a fenced ```mermaid block — the user sees the rendered SVG, no setup.

For diagrams Mermaid can't express (organic shapes, custom illustrations, hand-drawn style) consider drawing-tool skills (e.g. `excalidraw` from Hermes Agent or `drawio` from Anthropic marketplace) — those need to be installed via Quick Import.

Pick the Right Diagram Type

| Intent | Mermaid type | Use when | |--------|--------------|----------| | Step-by-step process | `flowchart` | Decisions, branching, "if X then Y" | | Time-ordered messages between actors | `sequenceDiagram` | API call traces, distributed protocols | | State transitions of a single entity | `stateDiagram-v2` | UI state machines, workflow engines | | Data model relationships | `erDiagram` | Database schema, entity relationships | | Project schedule / timeline | `gantt` | Roadmaps, sprints | | Pie / distribution | `pie` | Quick share-of-X visualization | | Tree hierarchy (org chart, decomposition) | `flowchart TD` with subgraphs | Org / breakdown trees | | Class hierarchy with methods | `classDiagram` | OO design, type relationships | | User journey (steps + sentiment) | `journey` | UX flows |

If unsure, default to `flowchart`. It's the most flexible.

Templates

Flowchart (top-down)

flowchart TD
    Start([Start]) --> Decision{Condition?}
    Decision -->|Yes| ActionA[Do A]
    Decision -->|No| ActionB[Do B]
    ActionA --> End([End])
    ActionB --> End

Sequence Diagram

sequenceDiagram
    participant U as User
    participant W as Web Server
    participant DB as Database

    U->>W: HTTP GET /api/items
    W->>DB: SELECT * FROM items
    DB-->>W: rows
    W-->>U: JSON response

    Note over U,DB: Round trip < 50ms

State Diagram

stateDiagram-v2
    [*] --> Idle
    Idle --> Loading: fetch()
    Loading --> Success: 200 OK
    Loading --> Error: 4xx / 5xx
    Success --> Idle: reset()
    Error --> Idle: retry()
    Error --> [*]: give up

ER Diagram

erDiagram
    USER ||--o{ ORDER : places
    ORDER ||--|{ ORDER_ITEM : contains
    PRODUCT ||--o{ ORDER_ITEM : "ordered as"
    USER {
        string id PK
        string email UK
        string name
    }
    ORDER {
        string id PK
        string user_id FK
        datetime created_at
    }

Gantt

gantt
    title Q3 Roadmap
    dateFormat  YYYY-MM-DD
    section Auth
    Refactor middleware     :done,    a1, 2026-04-01, 2026-04-15
    OAuth migration         :active,  a2, 2026-04-15, 30d
    section Dashboard
    Search MVP              :         d1, 2026-05-01, 14d
    Analytics rewrite       :         d2, after d1, 21d

Architecture (flowchart with subgraphs)

flowchart LR
    subgraph Frontend
        UI[React SPA]
    end
    subgraph Backend
        API[REST API]
        WS[WebSocket Hub]
    end
    subgraph Storage
        DB[(PostgreSQL)]
        Cache[(Redis)]
    end

    UI -->|HTTPS| API
    UI -->|WSS| WS
    API --> DB
    API --> Cache
    WS --> Cache

Workflow

1. **Clarify intent** — if the user just says "diagram", ask via `ask_user_question`:

  • What's the diagram showing? (process / structure / relationships / timeline)
  • Who's the audience? (engineers / execs / customers)
  • Level of detail? (high-level overview / fine-grained)

2. **Pick the simplest type that fits** — flowchart > sequence > state. Don't reach for `classDiagram` if a flowchart works.

3. **Sketch nodes first, edges second** — list the entities (boxes), then connect them. Avoid dense edge spaghetti.

4. **Iterate small** — start with 5-7 nodes. Add detail only after the user confirms the structure.

5. **Verify renderability** — if you reference Mermaid syntax that's iffy (e.g. classDiagram with annotations), keep it minimal. The user will see if it doesn't render.

Style Rules

  • **One concept per diagram** — if you're tempted to add a second flow, split into two diagrams
  • **Consistent shape vocabulary**:
  • `[Square]` = process / action
  • `(Round)` = entity / data
  • `{Diamond}` = decision
  • `([Stadium])` = start / end
  • `[(Cylinder)]` = database / storage
  • `((Circle))` = external system
  • **Direction**: `TD` (top-down) for hierarchies, `LR` (left-right) for pipelines / data flows
  • **Labels short** — node labels ≤ 4 words. Detail goes in surrounding prose.
  • **Use `Note over`** in sequence diagrams to explain non-obvious behavior, not for narration

Multi-Diagram Output

When asked for "a few diagrams" or "show me the system from different angles", output 2-3 separate ```mermaid blocks with prose between them explaining what each shows.

Here's the system at three levels:

**1. High-level data flow:**
\`\`\`mermaid
flowchart LR
    ...
\`\`\`

**2. Login sequence (zoom into auth):**
\`\`\`mermaid
sequenceDiagram
    ...
\`\`\`

**3. Database relationships:**
\`\`\`mermaid
erDiagram
    ...
\`\`\`

Common Pitfalls

| Mistake | Fix | |---|---| | Single diagram with 30+ nodes | Split into 2-3 diagrams by concern | | Mixing types (flowchart with class fields) | Pick one type; for hybrid views, do multi-diagram | | All boxes look the same | Use shape vocabulary (decision = diamond, etc.) | | Long node labels | Move detail to prose; keep nod

Read more
@shiwenwen
Ships withhope-agent

🦭 A cross-device desktop AI agent with memory, autonomous goals, dynamic workflows, and headless deployment | 会记忆、能持续推进目标、会动态编排多 Agent 的跨端桌面 AI 助手,也可服务化常驻 NAS / 云端

Stars on GitHub

Momentum

stars in total
1.9k
Star history of shiwenwen/hope-agent on GitHub, a chart by star-history.com

Other skills on hope-agent.

email-draft

email-draft

Use when the user asks to draft, polish, translate, or reply to an email. Produces a clean draft with subject line, greeting,…

feishu

feishu

Use when the user mentions 飞书 / Feishu / Lark workspace operations: docx (云文档) read/write, bitable (多维表格) records / views /…

ha-browser

ha-browser

Hope Agent browser automation — the standard `status → tabs → snapshot → act` loop, stale-ref recovery rules, and what to do when…

ha-code-review

ha-code-review

Hope-native review of uncommitted, staged, commit, branch, or PR changes: discover concrete regressions, independently verify…

ha-coding-common

ha-coding-common

Hope-native baseline for implementing, fixing, refactoring, and maintaining code: inspect the repository first, protect user…

ha-coding-plan

ha-coding-plan

Hope-native implementation planning for non-trivial code changes: ground the plan in repository evidence, order dependencies,…

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n12d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about mermaid-diagram.

Which coding agents can use mermaid-diagram?
mermaid-diagram installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.