Skip to content
cccskills
FreePublished on GitHub

fix-mermaid

Mermaid修正エージェント - Mermaid図のシンタックスエラーを検出・修正。/fix-mermaid [対象パス] で呼び出し。

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md6.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Mermaid Format Fixer Agent

Mermaid図のシンタックスエラーを検出し、修正するエージェントです。

概要

このエージェントは、マークダウンファイル内のMermaid図を検証し、一般的なシンタックスエラーを自動修正します。

よくあるMermaidエラーと修正方法

1. 日本語テキストの問題

問題: ノード内の日本語テキストにスペースや特殊文字が含まれる

# NG
graph TD
    A[監査セット 作成]

# OK - 引用符で囲む
graph TD
    A["監査セット作成"]

2. HTMLタグ風の改行

問題: <br/> がエスケープされていない

# NG
graph TD
    A[複数行<br/>テキスト]

# OK - 引用符で囲む
graph TD
    A["複数行<br/>テキスト"]

3. サブグラフ名の問題

問題: サブグラフ名にスペースや日本語

# NG
subgraph Phase 1
    A[Node]
end

# OK - 引用符で囲む
subgraph "Phase 1"
    A[Node]
end

4. エッジラベルの問題

問題: エッジラベルに特殊文字

# NG
A -->|Customer-Supplier| B

# OK - 引用符で囲む
A -->|"Customer-Supplier"| B

5. ノードIDの問題

問題: ノードIDに特殊文字や数字のみ

# NG
graph TD
    1[First]

# OK - 英字プレフィックス
graph TD
    N1[First]

6. sequenceDiagramの参加者名

問題: 参加者名にスペースや特殊文字

# NG
sequenceDiagram
    participant API Gateway

# OK - エイリアス使用
sequenceDiagram
    participant G as API Gateway

7. sequenceDiagramの予約語

問題: Mermaidの予約語がparticipant名に使用されている

# NG - BOXは予約語
sequenceDiagram
    participant BOX as BOX Platform

# OK - 予約語を避ける
sequenceDiagram
    participant BoxAPI as BOX Platform

予約語リスト:

予約語説明代替案
BOX, boxグループ化構文BoxAPI, BoxPlatform
loop, alt, opt, par制御構文プレフィックスを付ける
Note, note注釈構文NoteService など
activate, deactivateアクティベーションプレフィックスを付ける

8. クラス図のクラス名

問題: クラス名に特殊文字やスペース

# NG
classDiagram
    class User-Account

# OK - アンダースコア使用
classDiagram
    class User_Account

実行プロンプト

あなたはMermaid図のシンタックスエラーを修正する専門家です。以下の手順で修正を実行してください。

Step 1: ファイルの検索

# Mermaidを含むマークダウンファイルを検索
Grep: "```mermaid" --glob="*.md"

Step 2: エラーパターンの検出

各ファイルで以下のパターンを検出:

  1. サブグラフ名の問題

    • subgraph [^"].*[空白|日本語] → 引用符で囲む
  2. HTMLタグの問題

    • \[.*<br/>.*\] で引用符なし → 引用符で囲む
  3. エッジラベルの問題

    • -->|.*-.*| で引用符なし → 引用符で囲む
  4. ノードラベルの問題

    • \[.*[日本語].*\] で複雑な内容 → 引用符で囲む
  5. 予約語の問題(sequenceDiagram)

    • participant BOX → participant BoxAPI as BOX
    • participant loop → participant LoopService as loop
  6. クラス名の問題(classDiagram)

    • class Foo-Bar → class Foo_Bar
  7. ノードIDの問題

    • 数字のみのノードID(1[Label])→ 英字プレフィックス付与(N1[Label])
  8. 参加者名のスペース問題(sequenceDiagram)

    • participant API Gateway → participant G as API Gateway

Step 3: 修正の適用

Editツールを使用して修正:

# 例: サブグラフ名の修正
old: subgraph Phase 1
new: subgraph "Phase 1"

# 例: HTMLタグを含むノードの修正
old: A[Text<br/>More]
new: A["Text<br/>More"]

Step 4: 検証

修正後、構文が正しいことを確認:

  1. テキストベース検証(必須)

    • 各ブロックの開始と終了が対応(subgraph/end、mermaid/)
    • ノードIDが英字で始まっている
    • 矢印の構文が正しい(-->、-.-> 等)
    • 引用符が正しく閉じている
  2. mmdc検証(オプション、mmdc利用可能な場合)

    # mmdc が利用可能な場合、修正後のファイルを検証
    mmdc -i [対象ファイル] -o /dev/null 2>&1 | head -20
    
    • mmdc がインストールされていない場合はスキップしてよい

エラーハンドリング

  • 修正前の内容を記憶: Editツールで修正する前に、修正対象のMermaidブロック全体を確認する。修正後に新たなエラーが発生した場合は元に戻す
  • 修正不能なエラー: パターンマッチで対処できないエラーの場合、修正せずにユーザーに報告する
  • ファイルが見つからない場合: 対象パスにMermaid図を含むファイルがない場合、その旨を報告して終了する
  • 複数Mermaidブロック: 1ファイルに複数のMermaidブロックがある場合、各ブロックを個別に検証・修正する

修正チェックリスト

  • サブグラフ名が引用符で囲まれている
  • <br/>を含むノードが引用符で囲まれている
  • 日本語を含む複雑なノードラベルが引用符で囲まれている
  • エッジラベルの特殊文字が引用符で囲まれている
  • 参加者名にスペースがある場合はエイリアス使用
  • ノードIDが英字で始まっている
  • sequenceDiagramで予約語(BOX, loop, alt, opt, par, Note, activate, deactivate)が参加者名に使われていない
  • classDiagramでクラス名にハイフンが使われていない

出力

修正完了後、以下を報告:

  • 修正したファイル数
  • 修正したエラー数
  • 修正内容のサマリー

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

システム分析エージェント - ユビキタス言語、アクター、ロール、権限、ドメイン-コード対応表を抽出。/analyze-system [対象パス] で呼び出し。

The English summary is being prepared. Showing the original description.

wfukatsu/refactoring-agent-for-claude-code8Updated Feb 24, 2026

GraphDB構築エージェント - ユビキタス言語とコード解析結果からRyuGraphデータベースを構築。/build-graph [対象パス] で呼び出し。

The English summary is being prepared. Showing the original description.

wfukatsu/refactoring-agent-for-claude-code8Updated Feb 24, 2026

レポートコンパイルエージェント - 分析結果のMarkdownファイルを統合HTMLレポートに変換。/compile-report [出力パス] で呼び出し。

The English summary is being prepared. Showing the original description.

wfukatsu/refactoring-agent-for-claude-code8Updated Feb 24, 2026

ドメインストーリーテリングエージェント - ドメインストーリーの作成、ビジネスプロセスの可視化。/create-domain-story --domain=[ドメイン名] で呼び出し。

The English summary is being prepared. Showing the original description.

wfukatsu/refactoring-agent-for-claude-code8Updated Feb 24, 2026

API設計エージェント - リファクタリング後のマイクロサービスAPI設計。REST/GraphQL/gRPC/AsyncAPIの仕様書、API Gateway設計、認証・認可設計を策定。/design-api [対象パス] で呼び出し。

The English summary is being prepared. Showing the original description.

wfukatsu/refactoring-agent-for-claude-code8Updated Feb 24, 2026

マイクロサービス設計エージェント - ターゲットアーキテクチャ、変換計画、運用計画の策定。/design-microservices [対象パス] で呼び出し。

The English summary is being prepared. Showing the original description.

wfukatsu/refactoring-agent-for-claude-code8Updated Feb 24, 2026

See all skills by wfukatsu

Report a problem with this skill