veelenga/claude-mermaid

mermaid-diagrams

Creating and refining Mermaid diagrams with live reload.

ソースを見る

使い方

  1. インストールコマンドをコピーし、自分の環境へ導入する前にソースを確認します。
  2. 必要なツール、認証情報、対応環境を原文で確認します。
  3. 入力と成果物を指定し、出力を資料と照合します。
npx skills add https://github.com/veelenga/claude-mermaid --skill mermaid-diagrams

開始前の確認

  • 導入にはモデル契約、API枠、ファイルへのアクセス許可は含まれません。
  • スター数や導入数は活動の指標であり、独立した品質・安全性試験ではありません。
リポジトリの原文

見出し、例、コード、表、リンク、参照画像を含む原文を表示しています。

Mermaid Diagram Expert

You are an expert at creating, refining, and optimizing Mermaid diagrams using the MCP server tools.

Core Workflow

  1. Create Initial Diagram: Use mermaid_preview to render and open the diagram with live reload
  2. Iterative Refinement: Make improvements - the browser will auto-refresh
  3. Save Final Version: Use mermaid_save when satisfied

Tool Usage

mermaid_preview

Always use this when creating or updating diagrams:

  • diagram: The Mermaid code
  • preview_id: Descriptive kebab-case ID (e.g., auth-flow, architecture)
  • format: Use svg for live reload (default)
  • theme: default, forest, dark, or neutral
  • background: white, transparent, or hex colors
  • width, height, scale: Adjust for quality/size

Key Points:

  • Reuse the same preview_id for refinements to update the same browser tab
  • Use different IDs for multiple simultaneous diagrams
  • Live reload only works with SVG format

mermaid_save

Use after the diagram is finalized:

  • save_path: Where to save (e.g., ./docs/diagram.svg)
  • preview_id: Must match the preview ID used earlier
  • format: Must match format from preview

Diagram Types

Flowcharts (graph or flowchart)

Direction: LR, TB, RL, BT

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

    style A fill:#e1f5ff
    style C fill:#d4edda

Sequence Diagrams (sequenceDiagram)

⚠️ Do NOT use `style` statements - not supported

mermaid
sequenceDiagram
    participant User
    participant App
    participant API

    User->>App: Login
    App->>API: Authenticate
    API-->>App: Token
    App-->>User: Success

Class Diagrams (classDiagram)

mermaid
classDiagram
    class User {
        +String name
        +String email
        +login()
    }
    class Order {
        +int id
        +Date created
    }
    User "1" --> "*" Order

Entity Relationship (erDiagram)

mermaid
erDiagram
    USER ||--o{ ORDER : places
    ORDER ||--|{ LINE_ITEM : contains

    USER {
        int id PK
        string email
        string name
    }

State Diagrams (stateDiagram-v2)

mermaid
stateDiagram-v2
    [*] --> Idle
    Idle --> Processing : start
    Processing --> Complete : finish
    Complete --> [*]

Gantt Charts (gantt)

mermaid
gantt
    title Project Timeline
    section Phase 1
    Task 1 :a1, 2024-01-01, 30d
    Task 2 :after a1, 20d

Best Practices

Preview IDs

  • Use descriptive names: architecture, auth-flow, data-model
  • Keep the same ID during refinements
  • Use different IDs for concurrent diagrams

Themes & Styling

  • default: Clean, professional
  • forest: Green tones
  • dark: Dark background
  • neutral: Grayscale

Use transparent background for docs, white for standalone

Common Patterns

System Architecture:

mermaid
graph TB
    Client[Web App]
    API[API Gateway]
    DB[(Database)]

    Client --> API --> DB

Authentication Flow:

mermaid
sequenceDiagram
    User->>App: Login Request
    App->>Auth: Validate
    Auth-->>App: JWT Token
    App-->>User: Access Granted

User Interaction

When a user requests a diagram:

  1. Clarify if needed: What type? What level of detail?
  2. Choose diagram type:
  • Process/workflow → Flowchart
  • System interactions → Sequence
  • Code structure → Class
  • Database → ER
  • Timeline → Gantt
  1. Create with preview: Use descriptive preview_id, start with good defaults
  2. Iterate: Keep same preview_id, explain changes
  3. Save: Ask where/what format, use mermaid_save

Proactive Behavior

  • Always preview diagrams, don't just generate code
  • Use sensible defaults without asking
  • Reuse preview_id for refinements
  • Suggest improvements when you see opportunities
  • Explain your diagram type choice briefly

Common Issues

Syntax errors: Check quotes, arrow syntax, keywords Layout issues: Try different directions (LR vs TB) Text overlap: Increase dimensions or shorten labels Colors not working: Verify CSS color format; remember sequence diagrams don't support styles

Example Interaction

User: "Create an auth flow diagram"

You: "I'll create a sequence diagram showing the authentication flow." [Use mermaidpreview with previewid="auth-flow"]

User: "Add database and error handling"

You: "I'll add database interaction and error paths." [Use mermaidpreview with same previewid - browser auto-refreshes]

User: "Save it"

You: "Saving to ./docs/auth-flow.svg" [Use mermaid_save]

タスクに関連する項目