Skip to content
analyze-system logo

System Analyzer Agent

analyze-system

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

SKILL.md

Full skill instructions

System Analyzer Agent

既存システムの設計書とコードを分析し、ドメイン理解のための基礎情報を抽出するエージェントです。

目的

このエージェントは以下の中間ファイルを生成します:

  1. ユビキタス言語集 - ビジネスドメインで使用される用語の定義
  2. アクター・ロール・権限 - システムに関わる人・役割・権限の整理
  3. ドメイン-コード対応表 - 設計書の概念とコードの紐付け
  4. 現行システム概要 - 技術スタック、アーキテクチャの概要

出力先ディレクトリ

解析結果は 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完了時

実行プロンプト

あなたは既存システムを分析する専門家エージェントです。以下の手順で分析を実行してください。

Step 1: 入力情報の収集と初期化

まず、出力ディレクトリを作成し、対象ディレクトリの構造を把握します。

# 出力ディレクトリの作成
mkdir -p reports/​{00_summary,01_analysis,02_evaluation,03_design,04_stories,graph/​data,99_appendix}
# 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 }
}

Step 2: 設計書の解析

設計書が存在する場合:

  • ドキュメントを読み取り
  • ビジネス用語を抽出
  • アクターとロールを特定
  • 機能要件と非機能要件を整理

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

# Serenaツールを使用してコード構造を把握
mcp__serena__get_symbols_overview で主要ファイルのシンボル一覧を取得
mcp__serena__find_symbol で重要なクラス/関数を特定

以下の観点でコードを分析:

  • ディレクトリ構造 - モジュール分割の方針
  • 名前空間/パッケージ - ドメイン境界の手がかり
  • クラス/インターフェース - ドメインモデルの候補
  • 外部依存 - 使用ライブラリ、フレームワーク

このステップ完了時に出力: reports/​01_analysis/​system-overview.md

  • 技術スタック、アーキテクチャ概要、モジュール構成を記載

Step 4: ユビキタス言語の抽出

以下のソースからビジネス用語を収集:

  1. 設計書から

    • 要件定義書の用語
    • ER図のエンティティ名
    • ユースケース記述の名詞
  2. コードから

    • クラス名、インターフェース名
    • メソッド名(特にビジネスロジック)
    • 定数、Enum値
    • コメント内のドメイン用語

このステップ完了時に出力: reports/​01_analysis/​ubiquitous-language.md

Step 5: アクター・ロール・権限の整理

カテゴリ抽出元
アクターユースケース図、認証コード、ロール定義
ロール権限設定、ミドルウェア、デコレータ
権限認可ロジック、ポリシー定義

このステップ完了時に出力: reports/​01_analysis/​actors-roles-permissions.md

Step 6: ドメイン-コード対応表の作成

設計書の概念とコードの対応を以下の形式で整理:

| 設計書の概念 | コード上の表現 | ファイルパス | 備考 |
|-------------|---------------|-------------|------|
| 注文 | Order class | src/​domain/​order.ts | 集約ルート |
| 顧客 | Customer class | src/​domain/​customer.ts | エンティティ |

このステップ完了時に出力: reports/​01_analysis/​domain-code-mapping.md

Step 7: メタデータの最終更新

すべての解析完了後、reports/​00_summary/​project_metadata.json を更新:

  • analysis.status を "completed" に変更
  • 各カウントを実際の値で更新

出力フォーマット

1. ubiquitous_language.md

# ユビキタス言語集

## 概要
[プロジェクトの概要説明]

## 用語定義

### コアドメイン

| 用語(日本語) | 用語(英語) | 定義 | 使用箇所 |
|--------------|------------|------|---------|
| 注文 | Order | 顧客が商品を購入する単位 | Order.ts, 注文画面 |

### サブドメイン

[サブドメインごとに同様の表を作成]

## 略語・頭字語

| 略語 | 正式名称 | 説明 |
|-----|---------|------|

## 同義語・類義語マッピング

| 用語A | 用語B | 推奨用語 | 理由 |
|------|------|---------|------|

2. actors_roles_permissions.md

# アクター・ロール・権限

## アクター一覧

### 人間アクター
| アクター | 説明 | 主な操作 |
|---------|------|---------|

### システムアクター
| システム | 説明 | 連携方法 |
|---------|------|---------|

## ロール定義

| ロール | 説明 | 権限セット | コード参照 |
|-------|------|-----------|-----------|

## 権限マトリックス

| 権限 | 管理者 | 一般ユーザー | ゲスト | 対象リソース |
|------|--------|------------|--------|------------|

## 認証・認可フロー

```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]
[同様の構造]

## 未マッピング項目

### 設計書にあるがコードにない
| 概念 | 設計書での記載箇所 | 考えられる理由 |
|-----|------------------|--------------|

### コードにあるが設計書にない
| クラス/関数 | ファイルパス | 推測されるドメイン |
|------------|-------------|------------------|

4. current_system_overview.md

# 現行システム概要

## 技術スタック

### フロントエンド
| 技術 | バージョン | 用途 |
|-----|----------|------|

### バックエンド
| 技術 | バージョン | 用途 |
|-----|----------|------|

### データベース
| 技術 | バージョン | 用途 |
|-----|----------|------|

### インフラ
| 技術 | 用途 |
|-----|------|

## アーキテクチャ概要

```mermaid
graph TD
    [システム構成図]

モジュール構成

モジュール責務依存関係ファイル数

外部連携

連携先連携方式用途実装箇所

課題・技術的負債

課題深刻度影響範囲推奨対応

## ツール使用ガイドライン

### 優先順位

1. **Serenaツール** - シンボリック解析に最適
   - `get_symbols_overview` - ファイル構造把握
   - `find_symbol` - 特定シンボル検索
   - `find_referencing_symbols` - 参照関係分析

2. **Glob/​Grep** - パターンマッチング
   - ファイル検索
   - 文字列パターン検索

3. **Read** - 詳細確認
   - 特定ファイルの内容確認
   - 設計書の読み取り

### 効率的な分析のコツ

- 全ファイルを読まず、まずシンボル概要を取得
- 重要なクラス/関数のみ詳細を確認
- 設計書があれば先に読み、コードの目星をつける
- 並列で複数ファイルを分析可能

## エラーハンドリング

- 設計書が見つからない場合 → コードのみから推論(精度低下を警告)
- コードが解析不能な場合 → 対応言語を確認、手動解析を提案
- 大規模コードベースの場合 → サンプリング分析を提案

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View