mermaid-diagrams
Mermaid構文を使用してソフトウェア図を作成するための包括的なガイドです。クラス図(ドメインモデリング、オブジェクト指向設計)、シーケンス図(アプリケーションフロー、API連携、コード実行)、フローチャート(プロセス、アルゴリズム、ユーザージャーニー)、ER図(データベーススキーマ)、C4アーキテクチャ図、状態遷移図、gitグラフ、円グラフ、ガントチャートなど、あらゆる種類の図の作成・可視化・ドキュメント化が必要な場面で活用できます。「図にして」「可視化して」「モデル化して」「フローを見せて」といったリクエストや、システムアーキテクチャ・データベース設計・コード構造・フローの説明時にトリガーされます。
description の原文を見る
Comprehensive guide for creating software diagrams using Mermaid syntax. Use when users need to create, visualize, or document software through diagrams including class diagrams (domain modeling, object-oriented design), sequence diagrams (application flows, API interactions, code execution), flowcharts (processes, algorithms, user journeys), entity relationship diagrams (database schemas), C4 architecture diagrams (system context, containers, components), state diagrams, git graphs, pie charts, gantt charts, or any other diagram type. Triggers include requests to "diagram", "visualize", "model", "map out", "show the flow", or when explaining system architecture, database design, code structure, or user/application flows.
SKILL.md 本文
Mermaid ダイアグラミング
Mermaid のテキストベースの構文を使用して、プロフェッショナルなソフトウェアダイアグラムを作成します。Mermaid はシンプルなテキスト定義からダイアグラムをレンダリングするため、ダイアグラムをバージョン管理可能にし、更新が容易で、コードと共に保守できます。
コア構文構造
すべての Mermaid ダイアグラムは次のパターンに従います:
diagramType
definition content
主な原則:
- 最初の行でダイアグラムの種類を宣言します (
classDiagram、sequenceDiagram、flowchartなど) - コメントには
%%を使用します - 改行とインデントは可読性を向上させますが、必須ではありません
- 不明な単語はダイアグラムを破壊します。パラメータはサイレントに失敗します
ダイアグラムタイプ選択ガイド
適切なダイアグラムタイプを選択してください:
-
クラスダイアグラム - ドメインモデリング、OOP設計、エンティティ関係
- ドメイン駆動設計のドキュメンテーション
- オブジェクト指向クラス構造
- エンティティ関係と依存関係
-
シーケンスダイアグラム - 時系列インタラクション、メッセージフロー
- API リクエスト/レスポンスフロー
- ユーザー認証フロー
- システムコンポーネント間のインタラクション
- メソッド呼び出しシーケンス
-
フローチャート - プロセス、アルゴリズム、決定木
- ユーザージャーニーとワークフロー
- ビジネスプロセス
- アルゴリズムロジック
- デプロイメントパイプライン
-
エンティティリレーションシップダイアグラム (ERD) - データベーススキーマ
- テーブル関係
- データモデリング
- スキーマ設計
-
C4 ダイアグラム - 複数レベルでのソフトウェアアーキテクチャ
- システムコンテキスト (システムとユーザー)
- コンテナ (アプリケーション、データベース、サービス)
- コンポーネント (内部構造)
- コード (クラス/インターフェースレベル)
-
ステートダイアグラム - ステートマシン、ライフサイクルの状態
-
Git グラフ - バージョン管理のブランチング戦略
-
ガントチャート - プロジェクトタイムライン、スケジューリング
-
円グラフ/棒グラフ - データ可視化
クイックスタート例
クラスダイアグラム (ドメインモデル)
classDiagram
Title -- Genre
Title *-- Season
Title *-- Review
User --> Review : creates
class Title {
+string name
+int releaseYear
+play()
}
class Genre {
+string name
+getTopTitles()
}
シーケンスダイアグラム (API フロー)
sequenceDiagram
participant User
participant API
participant Database
User->>API: POST /login
API->>Database: Query credentials
Database-->>API: Return user data
alt Valid credentials
API-->>User: 200 OK + JWT token
else Invalid credentials
API-->>User: 401 Unauthorized
end
フローチャート (ユーザージャーニー)
flowchart TD
Start([User visits site]) --> Auth{Authenticated?}
Auth -->|No| Login[Show login page]
Auth -->|Yes| Dashboard[Show dashboard]
Login --> Creds[Enter credentials]
Creds --> Validate{Valid?}
Validate -->|Yes| Dashboard
Validate -->|No| Error[Show error]
Error --> Login
ERD (データベーススキーマ)
erDiagram
USER ||--o{ ORDER : places
ORDER ||--|{ LINE_ITEM : contains
PRODUCT ||--o{ LINE_ITEM : includes
USER {
int id PK
string email UK
string name
datetime created_at
}
ORDER {
int id PK
int user_id FK
decimal total
datetime created_at
}
詳細リファレンス
特定のダイアグラムタイプについての詳しいガイダンスは、以下を参照してください:
references/class-diagrams.md- ドメインモデリング、関係 (関連、合成、集約、継承)、多重度、メソッド/プロパティreferences/sequence-diagrams.md- アクター、参加者、メッセージ (同期/非同期)、アクティベーション、ループ、alt/opt/par ブロック、ノートreferences/flowcharts.md- ノード形状、接続、判定ロジック、サブグラフ、スタイリングreferences/erd-diagrams.md- エンティティ、関係、カーディナリティ、キー、属性references/c4-diagrams.md- システムコンテキスト、コンテナ、コンポーネントダイアグラム、境界references/architecture-diagrams.md- クラウドサービス、インフラストラクチャ、CI/CD デプロイreferences/advanced-features.md- テーマ、スタイリング、設定、レイアウトオプション
ベストプラクティス
- シンプルなものから始める - コアエンティティ/コンポーネントから始めて、詳細を段階的に追加します
- 意味のある名前を使用する - 明確なラベルはダイアグラムを自己説明的にします
- 広範にコメントする -
%%コメントを使用して複雑な関係を説明します - フォーカスを保つ - 1 つのダイアグラムに 1 つの概念。大きなダイアグラムは複数のフォーカスされたビューに分割します
- バージョン管理 -
.mmdファイルをコードと共に保存して、簡単に更新できます - コンテキストを追加する - タイトルとノートを含めてダイアグラムの目的を説明します
- 反復する - 理解が進むにつれてダイアグラムを洗練させます
設定とテーマ
フロントマターを使用してダイアグラムを設定します:
---
config:
theme: base
themeVariables:
primaryColor: "#ff6b6b"
---
flowchart LR
A --> B
利用可能なテーマ: default, forest, dark, neutral, base
レイアウトオプション:
layout: dagre(デフォルト) - クラシックバランスレイアウトlayout: elk- 複雑なダイアグラム用の高度なレイアウト (統合が必要)
ルックオプション:
look: classic- 従来の Mermaid スタイルlook: handDrawn- スケッチのような外観
エクスポートとレンダリング
ネイティブサポート:
- GitHub/GitLab - Markdown で自動的にレンダリング
- VS Code - Markdown Mermaid 拡張機能
- Notion, Obsidian, Confluence - ビルトインサポート
エクスポートオプション:
- Mermaid Live Editor - PNG/SVG エクスポート機能付きのオンラインエディター
- Mermaid CLI -
npm install -g @mermaid-js/mermaid-cliその後mmdc -i input.mmd -o output.png - Docker -
docker run --rm -v $(pwd):/data minlag/mermaid-cli -i /data/input.mmd -o /data/output.png
よくある落とし穴
- 破壊文字 - コメント内で
{}を避ける。特殊文字には適切なエスケープシーケンスを使用します - 構文エラー - スペルミスはダイアグラムを破壊します。Mermaid Live で構文を検証します
- 過度な複雑さ - 複雑なダイアグラムは複数のフォーカスされたビューに分割します
- 関係の欠落 - エンティティ間のすべての重要な接続をドキュメント化します
ダイアグラムを作成すべき時
常にダイアグラムを作成する場合:
- 新しいプロジェクトまたはフィーチャーを開始する場合
- 複雑なシステムをドキュメント化する場合
- アーキテクチャの決定を説明する場合
- データベーススキーマを設計する場合
- リファクタリングの取り組みを計画する場合
- 新しいチームメンバーをオンボーディングする場合
ダイアグラムを使用して:
- 技術的な決定について関係者を一致させる
- ドメインモデルを協力的にドキュメント化する
- データフローとシステムインタラクションを可視化する
- コーディング前に計画する
- コードとともに進化するリビングドキュメンテーションを作成する
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- softaworks
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/softaworks/agent-toolkit / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。