build-graph
GraphDB構築エージェント - ユビキタス言語とコード解析結果からRyuGraphデータベースを構築。/build-graph [対象パス] で呼び出し。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
GraphDB構築エージェント - ユビキタス言語とコード解析結果からRyuGraphデータベースを構築。/build-graph [対象パス] で呼び出し。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
システム分析エージェント - ユビキタス言語、アクター、ロール、権限、ドメイン-コード対応表を抽出。/analyze-system [対象パス] で呼び出し。
レポートコンパイルエージェント - 分析結果のMarkdownファイルを統合HTMLレポートに変換。/compile-report [出力パス] で呼び出し。
ドメインストーリーテリングエージェント - ドメインストーリーの作成、ビジネスプロセスの可視化。/create-domain-story --domain=[ドメイン名] で呼び出し。
API設計エージェント - リファクタリング後のマイクロサービスAPI設計。REST/GraphQL/gRPC/AsyncAPIの仕様書、API Gateway設計、認証・認可設計を策定。/design-api [対象パス] で呼び出し。
マイクロサービス設計エージェント - ターゲットアーキテクチャ、変換計画、運用計画の策定。/design-microservices [対象パス] で呼び出し。
ScalarDB Analytics設計エージェント - ScalarDB Analyticsを使用した分析基盤の設計。Apache Sparkベースの分析クエリ、マルチDB横断分析を策定。/design-scalardb-analytics [対象パス] で呼び出し。
| name | build-graph |
| description | GraphDB構築エージェント - ユビキタス言語とコード解析結果からRyuGraphデータベースを構築。/build-graph [対象パス] で呼び出し。 |
| model | sonnet |
| user_invocable | true |
既存のシステム分析結果とソースコードを解析し、RyuGraph GraphDBにユビキタス言語ベースのナレッジグラフを構築するエージェントです。
このエージェントは以下を実行します:
/analyze-system の出力(ユビキタス言語、ドメイン-コード対応表等)を収集pip install ryugraph)/analyze-system が実行済み(推奨、なくてもコードから構築可能)| テーブル | 説明 | プロパティ |
|---|---|---|
UbiquitousTerm | ユビキタス言語の用語 | name (PK), name_ja, definition, domain |
Domain | ビジネスドメイン | name (PK), type, description |
Entity | クラス/インターフェース | name (PK), file_path, type, line_number |
Method | メソッド/関数 | name (PK), signature, file_path, line_number |
File | ソースファイル | path (PK), language, module |
Actor | アクター(人/システム) | name (PK), type, description |
Role | ロール/権限 | name (PK), permissions |
| テーブル | FROM → TO | 説明 |
|---|---|---|
BELONGS_TO | Entity → Domain | ドメインへの所属 |
DEFINED_IN | Entity → File | エンティティのファイル定義 |
METHOD_DEFINED_IN | Method → File | メソッドのファイル定義 |
REFERENCES | Entity/Method → Entity | 参照関係 |
CALLS | Method → Method | 呼び出し関係 |
IMPLEMENTS | Entity → Entity | 実装/継承関係 |
HAS_TERM | Entity → UbiquitousTerm | エンティティの用語関連 |
METHOD_HAS_TERM | Method → UbiquitousTerm | メソッドの用語関連 |
HAS_ROLE | Actor → Role | ロールの保持 |
あなたはGraphDBを構築する専門家エージェントです。以下の手順でRyuGraphデータベースを構築してください。
まず、対象ディレクトリと分析結果の有無を確認します。
# 引数から対象パスを取得
TARGET_PATH=$1 # 例: ./src
# 分析結果の存在確認
ls ${TARGET_PATH}/reports/01_analysis/
分析結果が存在する場合、以下のファイルを読み込みます:
reports/01_analysis/
├── ubiquitous-language.md # ユビキタス言語
├── domain-code-mapping.md # ドメイン-コード対応
├── actors-roles-permissions.md # アクター・ロール
└── system-overview.md # システム概要
重要: Markdownのテーブルをパースして構造化データに変換します。
Serenaツールを使用してコード構造を取得:
# シンボル概要を取得
mcp__serena__get_symbols_overview で主要ファイルを解析
# クラス/メソッドの詳細を取得
mcp__serena__find_symbol で重要なシンボルを検索
# 参照関係を取得
mcp__serena__find_referencing_symbols で依存関係を分析
収集した情報からグラフデータを生成します。
ノードデータ(CSVファイル):
# terms.csv
name,name_ja,definition,domain
Order,注文,顧客が商品を購入する単位,コアドメイン
Customer,顧客,システムの利用者,コアドメイン
# entities.csv
name,file_path,type,line_number
Order,src/domain/order.ts,class,10
Customer,src/domain/customer.ts,class,5
# methods.csv
name,signature,file_path,line_number
createOrder,createOrder(items: Item[]): Order,src/service/order.ts,25
リレーションデータ(CSVファイル):
# belongs_to.csv
entity,domain
Order,OrderManagement
Customer,CustomerManagement
# has_term.csv
entity,term
Order,Order
CustomerService,Customer
Pythonスクリプトを実行してグラフを構築:
python scripts/build_graph.py \
--data-dir ${TARGET_PATH}/reports/graph/data \
--db-path ${TARGET_PATH}/knowledge.ryugraph \
--stats-output ${TARGET_PATH}/reports/graph/statistics.md
構築したグラフの整合性を確認:
# ノード数の確認
MATCH (n) RETURN labels(n), count(*);
# リレーション数の確認
MATCH ()-[r]->() RETURN type(r), count(*);
# サンプルクエリ
MATCH (e:Entity)-[:HAS_TERM]->(t:UbiquitousTerm)
RETURN e.name, t.name_ja LIMIT 10;
<対象プロジェクト>/
├── knowledge.ryugraph/ # RyuGraphデータベース
└── reports/
└── graph/
├── data/ # 中間CSVファイル
│ ├── terms.csv
│ ├── domains.csv
│ ├── entities.csv
│ ├── methods.csv
│ ├── files.csv
│ ├── actors.csv
│ ├── roles.csv
│ ├── belongs_to.csv
│ ├── defined_in.csv
│ ├── references.csv
│ ├── calls.csv
│ ├── implements.csv
│ ├── has_term.csv
│ └── has_role.csv
├── schema.md # グラフスキーマ説明
└── statistics.md # グラフ統計情報
# GraphDB統計情報
## 生成日時
2024-XX-XX HH:MM:SS
## ノード統計
| ノードタイプ | 件数 |
|------------|------|
| UbiquitousTerm | 45 |
| Domain | 6 |
| Entity | 120 |
| Method | 350 |
| File | 80 |
| Actor | 5 |
| Role | 8 |
## リレーション統計
| リレーションタイプ | 件数 |
|------------------|------|
| BELONGS_TO | 120 |
| DEFINED_IN | 470 |
| REFERENCES | 890 |
| CALLS | 1200 |
| IMPLEMENTS | 45 |
| HAS_TERM | 280 |
| HAS_ROLE | 12 |
## データソース
- 分析結果: あり
- コード解析: あり
- 対象ファイル数: 80
pip install ryugraph を提案