analyze-system
システム分析エージェント - ユビキタス言語、アクター、ロール、権限、ドメイン-コード対応表を抽出。/analyze-system [対象パス] で呼び出し。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
システム分析エージェント - ユビキタス言語、アクター、ロール、権限、ドメイン-コード対応表を抽出。/analyze-system [対象パス] で呼び出し。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
ScalarDB Analytics設計エージェント - ScalarDB Analyticsを使用した分析基盤の設計。Apache Sparkベースの分析クエリ、マルチDB横断分析を策定。/design-scalardb-analytics [対象パス] で呼び出し。
ScalarDBサイジング見積もりエージェント - Enterprise/OSSエディション別のインフラ構成・Pod数・コストを対話形式で見積もり。/scalardb-sizing-estimator で呼び出し。
DDD評価エージェント - 戦略的設計・戦術的設計の両面からDDD原則への適合度を評価し改善点を特定。/ddd-evaluation [対象パス] で呼び出し。
GraphDB構築エージェント - ユビキタス言語とコード解析結果からRyuGraphデータベースを構築。/build-graph [対象パス] で呼び出し。
ドメインストーリーテリングエージェント - ドメインストーリーの作成、ビジネスプロセスの可視化。/create-domain-story --domain=[ドメイン名] で呼び出し。
API設計エージェント - リファクタリング後のマイクロサービスAPI設計。REST/GraphQL/gRPC/AsyncAPIの仕様書、API Gateway設計、認証・認可設計を策定。/design-api [対象パス] で呼び出し。
| name | analyze-system |
| description | システム分析エージェント - ユビキタス言語、アクター、ロール、権限、ドメイン-コード対応表を抽出。/analyze-system [対象パス] で呼び出し。 |
| user_invocable | true |
既存システムの設計書とコードを分析し、ドメイン理解のための基礎情報を抽出するエージェントです。
このエージェントは以下の中間ファイルを生成します:
推奨(/system-investigation の出力):
reports/before/{project}/technology-stack.md - 技術スタックreports/before/{project}/codebase-structure.md - コードベース構造必須:
重要: このスキルを実行する前に、必ず以下の項目をユーザーに確認してください。
引数で対象パスが指定されていない場合は、AskUserQuestionツールで質問してください:
{
"questions": [{
"question": "調査対象のフォルダパスを指定してください",
"header": "対象フォルダ",
"options": [
{"label": "カレントディレクトリ", "description": "現在のディレクトリ全体を調査"},
{"label": "src/", "description": "srcディレクトリを調査"},
{"label": "パス指定", "description": "カスタムパスを入力"}
],
"multiSelect": false
}]
}
デフォルト出力先: ./reports/(カレントディレクトリ配下)
{
"questions": [{
"question": "レポートの出力先ディレクトリを確認してください",
"header": "出力先",
"options": [
{"label": "./reports/ (推奨)", "description": "カレントディレクトリ配下のreportsフォルダ"},
{"label": "カスタムパス", "description": "別のパスを指定"}
],
"multiSelect": false
}]
}
解析結果は ./reports/01_analysis/ に出力します(カレントディレクトリ配下)。
重要: 各ステップ完了時に即座にファイルを出力してください(最後にまとめて出力しない)。
reports/
├── 00_summary/
│ └── project_metadata.json # Step 1完了時
└── 01_analysis/
├── system-overview.md # Step 3完了時
├── ubiquitous-language.md # Step 4完了時
├── actors-roles-permissions.md # Step 5完了時
└── domain-code-mapping.md # Step 6完了時
大規模コードベースの場合、Task toolのExploreエージェントを並列起動して効率的に情報収集できます。
詳細は .claude/skills/common/sub-agent-patterns.md の「Pattern 1: コードベース探索エージェント」を参照。
あなたは既存システムを分析する専門家エージェントです。以下の手順で分析を実行してください。
まず、出力ディレクトリを作成し、対象ディレクトリの構造を把握します。
# 出力ディレクトリの作成
mkdir -p reports/{00_summary,01_analysis,02_evaluation,03_design,04_stories,05_estimate,06_implementation,07_test-specs,graph/data,graph/visualizations,sizing-estimates}
# Serenaツールを使用
mcp__serena__list_dir で対象ディレクトリをスキャン
mcp__serena__find_file で設計書ファイルを特定(*.md, *.docx, *.xlsx)
このステップ完了時に出力: reports/00_summary/project_metadata.json
{
"project": { "name": "", "version": "", "created_at": "", "updated_at": "" },
"source": { "path": "", "type": "", "languages": [], "frameworks": [] },
"analysis": { "status": "in_progress", "modules_count": 0 }
}
設計書が存在する場合:
# Serenaツールを使用してコード構造を把握
mcp__serena__get_symbols_overview で主要ファイルのシンボル一覧を取得
mcp__serena__find_symbol で重要なクラス/関数を特定
以下の観点でコードを分析:
このステップ完了時に出力: reports/01_analysis/system-overview.md
以下のソースからビジネス用語を収集:
設計書から
コードから
このステップ完了時に出力: reports/01_analysis/ubiquitous-language.md
| カテゴリ | 抽出元 |
|---|---|
| アクター | ユースケース図、認証コード、ロール定義 |
| ロール | 権限設定、ミドルウェア、デコレータ |
| 権限 | 認可ロジック、ポリシー定義 |
このステップ完了時に出力: reports/01_analysis/actors-roles-permissions.md
設計書の概念とコードの対応を以下の形式で整理:
| 設計書の概念 | コード上の表現 | ファイルパス | 備考 |
|-------------|---------------|-------------|------|
| 注文 | Order class | src/domain/order.ts | 集約ルート |
| 顧客 | Customer class | src/domain/customer.ts | エンティティ |
このステップ完了時に出力: reports/01_analysis/domain-code-mapping.md
すべての解析完了後、reports/00_summary/project_metadata.json を更新:
analysis.status を "completed" に変更出力したファイルのMermaid図を検証し、エラーがあれば修正:
/fix-mermaid ./reports/01_analysis
# ユビキタス言語集
## 概要
[プロジェクトの概要説明]
## 用語定義
### コアドメイン
| 用語(日本語) | 用語(英語) | 定義 | 使用箇所 |
|--------------|------------|------|---------|
| 注文 | Order | 顧客が商品を購入する単位 | Order.ts, 注文画面 |
### サブドメイン
[サブドメインごとに同様の表を作成]
## 略語・頭字語
| 略語 | 正式名称 | 説明 |
|-----|---------|------|
## 同義語・類義語マッピング
| 用語A | 用語B | 推奨用語 | 理由 |
|------|------|---------|------|
# アクター・ロール・権限
## アクター一覧
### 人間アクター
| アクター | 説明 | 主な操作 |
|---------|------|---------|
### システムアクター
| システム | 説明 | 連携方法 |
|---------|------|---------|
## ロール定義
| ロール | 説明 | 権限セット | コード参照 |
|-------|------|-----------|-----------|
## 権限マトリックス
| 権限 | 管理者 | 一般ユーザー | ゲスト | 対象リソース |
|------|--------|------------|--------|------------|
## 認証・認可フロー
```mermaid
sequenceDiagram
[認証フローの図]
### 3. domain-code-mapping.md
```markdown
# ドメイン-コード対応表
## マッピング概要
[全体的なマッピング方針の説明]
## ドメイン別マッピング
### [ドメイン名1]
| 概念カテゴリ | 設計書での名称 | コード上の実装 | ファイルパス | 実装パターン |
|------------|--------------|--------------|-------------|-------------|
| エンティティ | 注文 | Order | src/domain/order.ts | DDD Entity |
| 値オブジェクト | 金額 | Money | src/domain/money.ts | Value Object |
| リポジトリ | 注文保存 | OrderRepository | src/repo/order.ts | Repository |
### [ドメイン名2]
[同様の構造]
## 未マッピング項目
### 設計書にあるがコードにない
| 概念 | 設計書での記載箇所 | 考えられる理由 |
|-----|------------------|--------------|
### コードにあるが設計書にない
| クラス/関数 | ファイルパス | 推測されるドメイン |
|------------|-------------|------------------|
# 現行システム概要
## 技術スタック
### フロントエンド
| 技術 | バージョン | 用途 |
|-----|----------|------|
### バックエンド
| 技術 | バージョン | 用途 |
|-----|----------|------|
### データベース
| 技術 | バージョン | 用途 |
|-----|----------|------|
### インフラ
| 技術 | 用途 |
|-----|------|
## アーキテクチャ概要
```mermaid
graph TD
[システム構成図]
| モジュール | 責務 | 依存関係 | ファイル数 |
|---|
| 連携先 | 連携方式 | 用途 | 実装箇所 |
|---|
| 課題 | 深刻度 | 影響範囲 | 推奨対応 |
|---|
## ツール使用ガイドライン
### 優先順位
1. **Serenaツール** - シンボリック解析に最適
- `get_symbols_overview` - ファイル構造把握
- `find_symbol` - 特定シンボル検索
- `find_referencing_symbols` - 参照関係分析
2. **Glob/Grep** - パターンマッチング
- ファイル検索
- 文字列パターン検索
3. **Read** - 詳細確認
- 特定ファイルの内容確認
- 設計書の読み取り
### 効率的な分析のコツ
- 全ファイルを読まず、まずシンボル概要を取得
- 重要なクラス/関数のみ詳細を確認
- 設計書があれば先に読み、コードの目星をつける
- 並列で複数ファイルを分析可能
## エラーハンドリング
- 設計書が見つからない場合 → コードのみから推論(精度低下を警告)
- コードが解析不能な場合 → 対応言語を確認、手動解析を提案
- 大規模コードベースの場合 → サンプリング分析を提案
## 関連スキル
| スキル | 用途 |
|-------|-----|
| `/system-investigation` | コードベース調査(入力) |
| `/ddd-evaluation` | DDD評価(次ステップ) |
| `/evaluate-mmi` | MMI評価(次ステップ) |
| `/data-model-analysis` | データモデル詳細分析(補完) |
| `/build-graph` | ナレッジグラフ構築(出力活用) |