Validateur Mermaid

VérifiéPrudence

Détecte et corrige automatiquement les erreurs de syntaxe dans les diagrammes Mermaid pour prévenir les erreurs d'analyse lors de la génération de documentation.

Spar Skills Guide Bot
DocumentationDébutant
11/03/2026
Claude CodeCursorCodex
#mermaid#diagrams#syntax-validation#documentation#markdown

Recommandé pour

Synthèse automatique

Cette compétence vérifie et corrige la syntaxe des diagrammes Mermaid intégrés aux fichiers Markdown, afin d'éviter les erreurs d'analyse lors de la génération de documentation.

Points forts

  • Couvre les quatre types de diagrammes les plus courants : C4, séquence, flowchart et ER, avec un mémo de syntaxe pour chacun.
  • Fournit un catalogue d'erreurs fréquentes accompagnées de leur correction exacte (titre C4, flèches de séquence, indentation des sous-graphes, relations ER).
  • Propose une validation automatisée via mermaid-cli et un exemple d'intégration GitHub Actions sur les pull requests.
  • Définit des règles de correction automatique explicites : normalisation de l'indentation, ajout de guillemets, unification des flèches.

Limites

  • La vérification manuelle repose sur grep et une inspection visuelle, sans réel analyseur syntaxique intégré à la compétence.
  • L'exemple CI utilise mmdc sur des fichiers Markdown entiers, ce qui peut échouer ou être peu fiable selon la version de l'outil.
  • Ne traite pas les autres types de diagrammes Mermaid (Gantt, état, classes, pie) et ne couvre pas les thèmes ou configurations.
Quand l'utiliser

À utiliser lorsqu'un fichier de documentation contient des diagrammes Mermaid qui provoquent des erreurs d'analyse ou avant de valider une PR touchant des fichiers Markdown.

Quand l'éviter

À éviter si vous cherchez un validateur programmatique complet pour tous les types de diagrammes Mermaid ou si le projet n'utilise pas Mermaid.

Analyse de sécurité

Prudence
Score qualité88/100

The skill relies on Bash for legitimate Mermaid diagram validation using standard tooling. The commands are non-destructive and scoped to documentation files, but they do involve network package installation and shell execution, warranting a caution rating rather than completely safe.

Points d'attention
  • •Uses Bash to run npm install and mermaid-cli, which involves network downloads and global package installation.
  • •Includes a complex shell one-liner with find -exec sh -c for CI validation, though it is not inherently destructive.
Comment cette analyse est faite

Exemples

Fix architecture diagram parse error
docs/design/architecture.md の C4Context 図がレンダリング時にパースエラーになります。構文を検証して修正してください。
Validate all Mermaid blocks in docs
docs/ 配下の Markdown ファイルに含まれる Mermaid 図をすべて検証し、未閉じの括弧や不正な矢印記法があれば修正して差分を教えてください。
Add CI validation
GitHub Actions で PR 時に Mermaid 図の構文を検証するワークフローを追加してください。mermaid-cli を使ってください。

name: mermaid-validator description: | Mermaid図の構文検証と修正を行うスキル。 architecture.md生成時のパースエラーを防止。 allowed-tools: Bash, Read, Grep, Glob, WebFetch, Edit, Write

Mermaid Validator スキル

目的

Mermaid図の構文エラーを検出し、自動修正を行うことで、ドキュメント生成時のパースエラーを防止する。

対象ファイル

自動検証対象

  • docs/**/architecture.md
  • docs/**/design.md
  • docs/**/sequence.md
  • *.md (Mermaid図を含むすべてのMarkdownファイル)

主な検証ポイント

  1. 構文エラー検出

    • 未閉じの括弧、引用符
    • 無効なキーワード
    • インデントの問題
  2. C4モデル構文検証

    • C4Context, C4Container, C4Component の正しい使用
    • Person(), System(), Rel() の引数チェック
  3. シーケンス図検証

    • participant 宣言の確認
    • 矢印記法(->>, -->>, ->>)の正しい使用
  4. グラフ構文検証

    • ノード定義の正しい記法
    • サブグラフの構文チェック

Mermaid構文クイックリファレンス

C4モデル

C4Context
    title System Context Diagram

    Person(user, "User", "エンドユーザー")
    System(system, "System Name", "システム説明")
    System_Ext(external, "External System", "外部システム")

    Rel(user, system, "Uses", "HTTPS")
    Rel(system, external, "Integrates", "REST/HTTPS")

注意点:

  • C4Context の後に改行が必要
  • title は必須ではないが推奨
  • Rel() の引数は必ず4つ(from, to, label, technology)

シーケンス図

sequenceDiagram
    participant User
    participant Frontend
    participant Backend

    User->>Frontend: リクエスト
    Frontend->>Backend: API呼び出し
    Backend-->>Frontend: レスポンス
    Frontend-->>User: 表示

注意点:

  • participant 宣言は必須ではないが推奨
  • ->>(同期)、-->>(非同期)、-x(破棄)を区別
  • ラベルに日本語を含む場合、引用符は不要

グラフ(フローチャート)

graph TB
    A[クライアント] --> B[APIゲートウェイ]
    B --> C[バックエンドサービス]
    C --> D[データベース]
    C --> E[外部API]

注意点:

  • graph TB(上から下)、graph LR(左から右)
  • ノードラベルに日本語を含む場合、[] で囲む
  • subgraph はインデント必須

ER図

erDiagram
    USER ||--o{ ORDER : places
    USER {
        string id
        string name
        string email
    }
    ORDER {
        string id
        string userId
        date createdAt
    }

注意点:

  • リレーションシップ記法: ||--o{(1対多)、}o--o{(多対多)
  • フィールド定義は type name の順

検証方法

オンライン検証(推奨)

# Mermaid Live Editorで検証
# https://mermaid.live/

# または、mermaid-cliを使用
npx @mermaid-js/mermaid-cli mmdc -i diagram.mmd -o diagram.svg

手動検証

# Markdownファイル内のMermaid図を抽出
grep -A 50 '```mermaid' architecture.md > extracted-diagrams.txt

# 構文エラーを目視確認
cat extracted-diagrams.txt

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

エラー1: C4モデルでタイトルが不正

誤り:

C4Context
title: System Context Diagram

修正:

C4Context
    title System Context Diagram

エラー2: シーケンス図で矢印記法が不正

誤り:

sequenceDiagram
    User->Frontend: リクエスト

修正:

sequenceDiagram
    User->>Frontend: リクエスト

エラー3: グラフでサブグラフのインデント不足

誤り:

graph TB
subgraph "Production"
A[Pod 1]
end

修正:

graph TB
    subgraph "Production"
        A[Pod 1]
    end

エラー4: ER図でリレーションシップ記法が不正

誤り:

erDiagram
    USER -> ORDER : places

修正:

erDiagram
    USER ||--o{ ORDER : places

自動修正ルール

ルール1: インデント正規化

  • C4モデルの要素をインデント
  • サブグラフをインデント
  • ERDのフィールド定義をインデント

ルール2: 引用符の補完

  • 特殊文字を含むラベルに引用符を追加
  • ただし、日本語のみの場合は不要

ルール3: 矢印記法の統一

  • シーケンス図で ->> に統一(同期呼び出し)
  • 非同期の場合は -->> を使用

CI/CDへの組み込み

GitHub Actions 例

name: Mermaid Validation

on:
  pull_request:
    paths:
      - 'docs/**/*.md'
      - '**/*.md'

jobs:
  validate-mermaid:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      - name: Setup Node.js
        uses: actions/setup-node@v2
        with:
          node-version: '20'

      - name: Validate Mermaid Diagrams
        run: |
          npm install -g @mermaid-js/mermaid-cli
          find . -name "*.md" -exec sh -c '
            grep -l "```mermaid" "$1" && {
              echo "Validating $1"
              mmdc -i "$1" -o /tmp/test.svg || exit 1
            }
          ' _ {} \;

参考資料

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/mermaid-validator-mmlj2nwz/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/mermaid-validator-mmlj2nwz' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/mermaid-validator-mmlj2nwz/download' --output '.skill-downloads/mermaid-validator-mmlj2nwz/SKILL.md.part' && mv '.skill-downloads/mermaid-validator-mmlj2nwz/SKILL.md.part' '.skill-downloads/mermaid-validator-mmlj2nwz/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Outils déclarés par l’auteur (à vérifier dans votre agent) : Bash, Read, Grep, Glob, WebFetch, Edit, Write

Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.

Claude Code
test -f '.skill-downloads/mermaid-validator-mmlj2nwz/SKILL.md' && test -s '.skill-downloads/mermaid-validator-mmlj2nwz/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/mermaid-validator' && cp -R '.skill-downloads/mermaid-validator-mmlj2nwz' '.claude/skills/mermaid-validator'

Cursor
test -f '.skill-downloads/mermaid-validator-mmlj2nwz/SKILL.md' && test -s '.skill-downloads/mermaid-validator-mmlj2nwz/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/mermaid-validator' && cp -R '.skill-downloads/mermaid-validator-mmlj2nwz' '.cursor/skills/mermaid-validator'

Codex
test -f '.skill-downloads/mermaid-validator-mmlj2nwz/SKILL.md' && test -s '.skill-downloads/mermaid-validator-mmlj2nwz/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/mermaid-validator' && cp -R '.skill-downloads/mermaid-validator-mmlj2nwz' '.agents/skills/mermaid-validator'

OpenSkills

OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.

Installation officielle d’OpenSkills
openskills install './.skill-downloads/mermaid-validator-mmlj2nwz'

openskills read 'mermaid-validator-mmlj2nwz'

La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.

Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.

openskills sync

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/mermaid-validator-mmlj2nwz/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires