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.
À 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.
À é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é
PrudenceThe 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.
- •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.
Exemples
docs/design/architecture.md の C4Context 図がレンダリング時にパースエラーになります。構文を検証して修正してください。docs/ 配下の Markdown ファイルに含まれる Mermaid 図をすべて検証し、未閉じの括弧や不正な矢印記法があれば修正して差分を教えてください。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.mddocs/**/design.mddocs/**/sequence.md*.md(Mermaid図を含むすべてのMarkdownファイル)
主な検証ポイント
-
構文エラー検出
- 未閉じの括弧、引用符
- 無効なキーワード
- インデントの問題
-
C4モデル構文検証
C4Context,C4Container,C4Componentの正しい使用Person(),System(),Rel()の引数チェック
-
シーケンス図検証
participant宣言の確認- 矢印記法(
->>,-->>,->>)の正しい使用
-
グラフ構文検証
- ノード定義の正しい記法
- サブグラフの構文チェック
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 annexesCe 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.mdDepuis 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’OpenSkillsopenskills 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 syncMode 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.
Rédaction de docs Supabase
Documentation
Rédigez, éditez et révisez le contenu de la documentation Supabase : guides, tutoriels, références et partiels. Suivez les guides de style et les règles de validation MDX/TOML.
Créer un enregistrement de décision d'architecture
Documentation
Créer un nouveau ADR avec numérotation séquentielle, l'enregistrer dans le graphe AgentDB et le lier aux ADR associés.
Mise à jour de plan avec recherche approfondie
Documentation
Met à jour un document de plan en lançant des sous-agents en parallèle pour analyser un sujet sur tous les passes du compilateur, puis consolide les résultats.