Skip to content
cccskills
FreePublished on GitHub

build-graph

GraphDB構築エージェント - ユビキタス言語とコード解析結果からRyuGraphデータベースを構築。/build-graph [対象パス] で呼び出し。

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md7.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

GraphDB構築エージェント

既存のシステム分析結果とソースコードを解析し、RyuGraph GraphDBにユビキタス言語ベースのナレッジグラフを構築するエージェントです。

目的

このエージェントは以下を実行します:

  1. 分析結果の収集 - /analyze-system の出力(ユビキタス言語、ドメイン-コード対応表等)を収集
  2. コード解析 - Serenaツールでソースコードの構造を解析
  3. グラフ構築 - RyuGraphにノードとリレーションシップを登録
  4. メタデータ保存 - グラフのスキーマ情報と統計を保存

前提条件

  • Python 3.9+
  • ryugraph パッケージ (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_TOEntity → Domainドメインへの所属
DEFINED_INEntity → Fileエンティティのファイル定義
METHOD_DEFINED_INMethod → Fileメソッドのファイル定義
REFERENCESEntity/Method → Entity参照関係
CALLSMethod → Method呼び出し関係
IMPLEMENTSEntity → Entity実装/継承関係
HAS_TERMEntity → UbiquitousTermエンティティの用語関連
METHOD_HAS_TERMMethod → UbiquitousTermメソッドの用語関連
HAS_ROLEActor → Roleロールの保持

実行プロンプト

あなたはGraphDBを構築する専門家エージェントです。以下の手順でRyuGraphデータベースを構築してください。

Step 1: 入力情報の確認

まず、対象ディレクトリと分析結果の有無を確認します。

# 引数から対象パスを取得
TARGET_PATH=$1  # 例: ./src

# 分析結果の存在確認
ls ${TARGET_PATH}/reports/01_analysis/

Step 2: 分析結果の読み込み

分析結果が存在する場合、以下のファイルを読み込みます:

reports/01_analysis/
├── ubiquitous-language.md     # ユビキタス言語
├── domain-code-mapping.md     # ドメイン-コード対応
├── actors-roles-permissions.md # アクター・ロール
└── system-overview.md  # システム概要

重要: Markdownのテーブルをパースして構造化データに変換します。

Step 3: コードベースの解析

Serenaツールを使用してコード構造を取得:

# シンボル概要を取得
mcp__serena__get_symbols_overview で主要ファイルを解析

# クラス/メソッドの詳細を取得
mcp__serena__find_symbol で重要なシンボルを検索

# 参照関係を取得
mcp__serena__find_referencing_symbols で依存関係を分析

Step 4: グラフデータの生成

収集した情報からグラフデータを生成します。

ノードデータ(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

Step 5: RyuGraphデータベースの構築

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

Step 6: 検証クエリの実行

構築したグラフの整合性を確認:

# ノード数の確認
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        # グラフ統計情報

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

ツール使用ガイドライン

優先順位

  1. 分析結果の読み込み - Readツールでマークダウンを解析
  2. Serenaツール - コードのシンボリック解析
  3. Bashツール - Pythonスクリプトの実行

注意事項

  • 大規模プロジェクトでは、主要なディレクトリのみを解析対象にする
  • 外部ライブラリ(node_modules, vendor等)は除外する
  • メソッド/関数の呼び出し関係は、静的解析の限界があることを警告する

エラーハンドリング

  • ryugraphがインストールされていない → pip install ryugraph を提案
  • 分析結果がない → コードのみから構築(精度低下を警告)
  • 対象言語非対応 → 手動でCSVを作成するよう案内

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

システム分析エージェント - ユビキタス言語、アクター、ロール、権限、ドメイン-コード対応表を抽出。/analyze-system [対象パス] で呼び出し。

The English summary is being prepared. Showing the original description.

wfukatsu/refactoring-agent-for-claude-code8Updated Feb 24, 2026

レポートコンパイルエージェント - 分析結果のMarkdownファイルを統合HTMLレポートに変換。/compile-report [出力パス] で呼び出し。

The English summary is being prepared. Showing the original description.

wfukatsu/refactoring-agent-for-claude-code8Updated Feb 24, 2026

ドメインストーリーテリングエージェント - ドメインストーリーの作成、ビジネスプロセスの可視化。/create-domain-story --domain=[ドメイン名] で呼び出し。

The English summary is being prepared. Showing the original description.

wfukatsu/refactoring-agent-for-claude-code8Updated Feb 24, 2026

API設計エージェント - リファクタリング後のマイクロサービスAPI設計。REST/GraphQL/gRPC/AsyncAPIの仕様書、API Gateway設計、認証・認可設計を策定。/design-api [対象パス] で呼び出し。

The English summary is being prepared. Showing the original description.

wfukatsu/refactoring-agent-for-claude-code8Updated Feb 24, 2026

マイクロサービス設計エージェント - ターゲットアーキテクチャ、変換計画、運用計画の策定。/design-microservices [対象パス] で呼び出し。

The English summary is being prepared. Showing the original description.

wfukatsu/refactoring-agent-for-claude-code8Updated Feb 24, 2026

ScalarDB Analytics設計エージェント - ScalarDB Analyticsを使用した分析基盤の設計。Apache Sparkベースの分析クエリ、マルチDB横断分析を策定。/design-scalardb-analytics [対象パス] で呼び出し。

The English summary is being prepared. Showing the original description.

wfukatsu/refactoring-agent-for-claude-code8Updated Feb 24, 2026

See all skills by wfukatsu

Report a problem with this skill