.claude/skills/visualize-graph/SKILL.md
GraphDB可視化エージェント - RyuGraphデータベースの内容をMermaid/DOT/HTML形式で可視化。/visualize-graph [出力パス] で呼び出し。
npx skillsauth add wfukatsu/architecture-redesign-agent visualize-graphInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
RyuGraphデータベースの内容を可視化し、Mermaid図やインタラクティブHTMLとして出力するエージェントです。
このエージェントは以下の機能を提供します:
結果は reports/graph/visualizations/ に出力します。
重要: 各ステップ完了時に即座にファイルを出力してください。
あなたはGraphDBを可視化する専門家エージェントです。以下の手順で可視化を実行してください。
# データベースの存在確認
ls -la knowledge.ryugraph
# ryugraph がインストールされているか確認
source .venv/bin/activate && python -c "import ryugraph; print('OK')"
可視化スクリプトを実行してグラフを生成します:
source .venv/bin/activate && python scripts/visualize_graph.py \
--db-path ./knowledge.ryugraph \
--output-dir ./reports/graph/visualizations \
--format all
graph LR
subgraph "Identity Domain"
User[User]
UserService[UserService]
end
subgraph "Audit Domain"
AuditSet[AuditSet]
AuditSetService[AuditSetService]
end
User -->|BELONGS_TO| Identity
AuditSet -->|BELONGS_TO| Audit
AuditSetService -->|REFERENCES| AuditSet
digraph G {
rankdir=LR;
node [shape=box];
subgraph cluster_identity {
label="Identity Domain";
User;
UserService;
}
User -> Identity [label="BELONGS_TO"];
}
flowchart TD
subgraph OrderProcessing["注文処理"]
Start(["開始"]) --> ValidateOrder["注文検証"]
ValidateOrder --> CheckInventory["在庫確認"]
CheckInventory --> IsHighValue{"高額判定"}
IsHighValue -->|"< 100,000円"| ProcessPayment["決済処理"]
IsHighValue -->|">= 100,000円"| ApprovalRequired["承認必要"]
ApprovalRequired --> ManagerApproval["マネージャー承認"]
ManagerApproval -->|"承認"| ProcessPayment
ManagerApproval -->|"却下"| OrderRejected["注文却下"]
ProcessPayment --> SendConfirmation["確認送信"]
SendConfirmation --> End(["終了"])
OrderRejected --> End
end
Customer(("顧客")) -.->|"実行"| ValidateOrder
SalesManager(("営業マネージャー")) -.->|"実行"| ManagerApproval
System(("システム")) -.->|"実行"| ProcessPayment
System -.->|"実行"| SendConfirmation
sequenceDiagram
participant O as OrderSaga
participant I as InventoryService
participant P as PaymentService
participant N as NotificationService
O->>I: ReserveInventory
activate I
I-->>O: Reserved
deactivate I
O->>P: ProcessPayment
activate P
alt 成功
P-->>O: PaymentCompleted
deactivate P
O->>N: SendConfirmation
N-->>O: Sent
else 失敗
P-->>O: PaymentFailed
deactivate P
O->>I: ReleaseInventory
I-->>O: Released
end
D3.jsを使用したフォースレイアウトグラフ。ノードのドラッグ、ズーム、検索機能を提供。
特定のデータのみを可視化:
# ドメインでフィルタ
python scripts/visualize_graph.py --domain Audit
# ノードタイプでフィルタ
python scripts/visualize_graph.py --node-type Entity
# リレーションタイプでフィルタ
python scripts/visualize_graph.py --rel-type BELONGS_TO
# 深さ制限
python scripts/visualize_graph.py --max-depth 2
# プロセスフロー可視化
python scripts/visualize_graph.py --process OrderProcessing --format flowchart
# システムプロセス(Saga)可視化
python scripts/visualize_graph.py --saga OrderSaga --format sequence
# Mermaid → PNG/SVG
mmdc -i graph.mmd -o graph.png
mmdc -i graph.mmd -o graph.svg
# DOT → PNG/SVG (Graphviz)
dot -Tpng graph.dot -o graph.png
dot -Tsvg graph.dot -o graph.svg
| オプション | 説明 | デフォルト |
|-----------|------|----------|
| --db-path | RyuGraphデータベースパス | ./knowledge.ryugraph |
| --output-dir | 出力ディレクトリ | ./reports/graph/visualizations |
| --format | 出力形式 (mermaid/dot/html/all/flowchart/sequence) | all |
| --domain | フィルタするドメイン | なし(全て) |
| --node-type | フィルタするノードタイプ | なし(全て) |
| --rel-type | フィルタするリレーションタイプ | なし(全て) |
| --max-nodes | 最大ノード数 | 100 |
| --max-depth | 最大深さ | なし |
| --layout | レイアウト (LR/TB/RL/BT) | LR |
| --process | 可視化するビジネスプロセス名 | なし |
| --saga | 可視化するSaga名 | なし |
| --show-actors | プロセス図にアクターを表示 | false |
| --show-compensations | Saga図に補償フローを表示 | true |
出力したMermaid図を検証し、エラーがあれば修正:
/fix-mermaid ./reports/graph/visualizations
reports/graph/visualizations/
├── graph.mmd # Mermaid形式(全体)
├── graph.dot # DOT形式(Graphviz)
├── graph.html # インタラクティブHTML
├── graph.png # PNG画像(mmdc使用時)
├── graph.svg # SVG画像
├── domain-audit.mmd # ドメイン別Mermaid
├── domain-identity.mmd
├── processes/ # プロセス可視化
│ ├── business-processes.mmd # ビジネスプロセス一覧
│ ├── order-processing-flow.mmd # 注文処理フローチャート
│ ├── approval-workflow-flow.mmd # 承認ワークフロー
│ ├── system-processes.mmd # システムプロセス一覧
│ ├── order-saga-sequence.mmd # 注文Sagaシーケンス図
│ └── saga-compensation.mmd # Saga補償フロー
├── actors/ # アクター関連
│ ├── actor-activity-map.mmd # アクター-アクティビティ対応
│ └── role-process-matrix.md # ロール-プロセスマトリクス
└── summary.md # 可視化サマリー
/visualize-graph ./reports/graph/visualizations
/visualize-graph --domain Audit
/visualize-graph --node-type Entity --rel-type REFERENCES
/visualize-graph --process OrderProcessing --format flowchart --show-actors
生成される図:
/visualize-graph --saga OrderSaga --format sequence --show-compensations
生成される図:
/visualize-graph --node-type BusinessProcess,SystemProcess,Activity --format all
/visualize-graph --rel-type PERFORMS --format mermaid --layout TB
/build-graph - GraphDBを構築/query-graph - GraphDBを探索/render-mermaid - Mermaid図を画像に変換tools
インタラクティブワークフロー選択 - 実行したい処理を段階的に選択して実行。/workflow で呼び出し。
tools
システム調査エージェント - コードベースの構造・技術スタック・問題点・DDD適合性を調査。/system-investigation [対象パス] で呼び出し。
databases
ScalarDBエディション選定エージェント - 対話形式で最適なScalarDBエディション(OSS/Enterprise Standard/Premium)を選定。/select-scalardb-edition で呼び出し。
testing
セキュリティ分析エージェント - 既存システムのセキュリティ状況を分析し、OWASP Top 10対応状況とゼロトラスト準備状況を評価。/security-analysis [対象パス] で呼び出し。