---
name: compile-report
description: レポートコンパイルエージェント - 分析結果のMarkdownファイルを統合HTMLレポートに変換。/compile-report [出力パス] で呼び出し。
user_invocable: true
---
# Report Compiler Agent
分析結果のMarkdownファイルを統合HTMLレポートに変換するエージェントです。
## 目的
このエージェントは以下の機能を提供します:
1. **Markdownの自動検出・統合** - 各ディレクトリ内のすべてのMarkdownファイルを動的に検出し統合
2. **Mermaid図のレンダリング** - Mermaid図をインライン埋め込み
3. **GraphDB可視化** - D3.jsインタラクティブグラフを埋め込み
4. **目次生成** - 自動的にサイドバー目次を生成
5. **スタイリング** - プロフェッショナルなスタイルを適用(ライト/ダークテーマ)
6. **レスポンシブ** - モバイル/印刷対応
7. **重複除去** - ファイル名の命名規則が異なる重複ファイルを自動的に除去
## 前提条件
- Python 3.9+
- markdown パッケージ
- pymdown-extensions パッケージ
- (オプション)mermaid-cli(Mermaid図の検証用)
## 実行プロンプト
あなたはレポートをコンパイルする専門家エージェントです。以下の手順でHTMLレポートを生成してください。
### Step 1: 環境確認
```bash
# 必要なパッケージの確認
source .venv/bin/activate
pip install markdown pymdown-extensions
```
### Step 2: Mermaid図の検証(推奨)
レポート生成前にMermaid図の構文エラーをチェックします。
```bash
# mmdc がインストールされている場合
/fix-mermaid ./reports
```
**注意: Mermaidの予約語問題**
以下の単語はMermaidのsequenceDiagramで予約語として解釈されるため、participant名として使用しないでください:
| 予約語 | 代替案 |
|-------|-------|
| `BOX` | `BoxAPI`, `BoxPlatform`, `BoxWebhook` |
| `box` | 同上 |
**例:**
```mermaid
# NG
participant BOX as BOX Platform
# OK
participant BoxPlatform as BOX Platform
```
### Step 3: レポートコンパイルスクリプトの実行
```bash
source .venv/bin/activate && python scripts/compile_report.py \
--input-dir ./reports \
--output ./reports/00_summary/full-report.html \
--title "リファクタリング分析レポート"
```
### Step 4: 出力形式
#### 統合HTMLレポート
```html
リファクタリング分析レポート
```
### Step 5: コマンドオプション
| オプション | 説明 | デフォルト |
|-----------|------|----------|
| `--input-dir` | 入力ディレクトリ | ./reports |
| `--output` | 出力HTMLファイル | ./reports/00_summary/full-report.html |
| `--title` | レポートタイトル | リファクタリング分析レポート |
| `--theme` | テーマ (light/dark) | light |
## 機能詳細
### Markdownファイルの自動検出
スクリプトは各レポートディレクトリ(`00_summary`, `01_analysis`, `02_evaluation`, など)から自動的にすべてのMarkdownファイルを検出します。
**動作:**
1. 優先ファイルリストに従って順序を決定
2. ディレクトリ内の他のMarkdownファイルを自動検出
3. ファイル名の命名規則の違い(`target-architecture.md` vs `target_architecture.md`)による重複を自動除去
4. サブディレクトリ(`visualizations/`など)も検索対象
**対応するファイル構造:**
```
reports/
├── 00_summary/ # エグゼクティブサマリー
├── 01_analysis/ # システム分析(全ファイル自動検出)
├── 02_evaluation/ # MMI評価
├── 03_design/ # 設計(API、ScalarDB含む全ファイル)
├── 04_stories/ # ドメインストーリー(個別ストーリー含む)
├── 05_estimate/ # コスト試算
└── graph/ # ナレッジグラフ(サブディレクトリ含む)
```
### GraphDB可視化の統合
`reports/graph/visualizations/graph.html`が存在する場合、自動的にインタラクティブグラフをレポートに埋め込みます。
**機能:**
- ノードのドラッグ移動
- マウスホイールでズーム
- ノードホバーで詳細表示(名前、タイプ、グループ)
- ノード検索
- 凡例表示(Domain/Entity/Term)
**前提:**
- `/build-graph` でGraphDBが構築済み
- `/visualize-graph` で可視化ファイルが生成済み
### Mermaid図のレンダリング
Markdownファイル内の```mermaid```ブロックを自動的に``に変換し、Mermaid.jsでレンダリングします。
**対応図:**
- flowchart / graph
- sequenceDiagram
- classDiagram
- stateDiagram
- erDiagram
- gantt
- xychart-beta
**非対応:**
- radarChart(xychart-betaで代替)
## 出力ファイル
```
reports/
└── 00_summary/
└── full-report.html # 統合HTMLレポート (約450KB)
```
## 使用例
### 例1: 基本的なコンパイル
```bash
/compile-report
```
### 例2: カスタムタイトルとダークテーマ
```bash
/compile-report --title "My Project Report" --theme dark
```
### 例3: ブラウザで開く
```bash
open reports/00_summary/full-report.html
```
## トラブルシューティング
### Mermaid図が表示されない
1. ブラウザのコンソールでエラーを確認
2. `/fix-mermaid`で構文エラーをチェック
3. 予約語(BOX等)を使用していないか確認
### GraphDBビューアが表示されない
1. `reports/graph/visualizations/graph.html`の存在を確認
2. `/visualize-graph`を実行してファイルを生成
### 日本語が文字化けする
1. HTMLファイルがUTF-8で保存されているか確認
2. ブラウザのエンコーディング設定を確認
## 関連スキル
- `/render-mermaid` - Mermaid図を画像に変換
- `/fix-mermaid` - Mermaid図のシンタックスエラーを修正
- `/visualize-graph` - GraphDBを可視化
- `/build-graph` - GraphDBを構築