バッチレポートスキル
完了したバッチ処理ジョブの包括的な分析レポートを生成します。
機能
- マニフェスト分析 - 成功、失敗、部分完了をカウント
- タイミング分析 - ステップごとのレイテンシ分析、ボトルネックの特定
- 失敗パターン - 失敗モードの分類と要約
- 品質メトリクス - 品質評価のためのサンプル出力
- Markdownレポート - 人間が読める要約
- エージェント受信箱連携 - プロジェクト受信箱への自動送信
クイックスタート
cd .pi/skills/batch-report
# 抽出バッチのレポートを生成(フォーマットは自動検出)
uv run python report.py analyze /path/to/batch/output
# レポートを生成してエージェント受信箱に送信
uv run python report.py analyze /path/to/batch/output --send-to extractor
# サマリー統計のみ表示
uv run python report.py summary /path/to/batch/output
# スタンドアロンの状態ファイルを分析
uv run python report.py state /path/to/.batch_state.json
# パイプ処理用のJSON出力
uv run python report.py summary /path/to/output --json | jq .success_rate
コマンド
analyze - 完全分析レポート
uv run python report.py analyze /path/to/output \
--output report.md \
--send-to extractor \
--priority high
オプション:
| オプション | 短縮形 | 説明 |
|---|---|---|
--output | -o | 出力ファイルパス(デフォルト: stdout) |
--send-to | -s | レポートをエージェント受信箱プロジェクトに送信 |
--priority | -p | エージェント受信箱の優先度(low/normal/high/critical) |
--sample | -n | 含めるサンプル数(デフォルト: 5) |
--format | -f | バッチフォーマット: extractor, youtube, generic, auto(デフォルト: auto) |
--json | -j | JSON出力。他のツールへのパイプ処理に使用 |
summary - クイック統計のみ
uv run python report.py summary /path/to/output
uv run python report.py summary /path/to/output --json
出力:
Batch: run-2025-12-18_144426-2eb428c
Total: 230 | Success: 180 | Failed: 35 | Partial: 15
Success rate: 78.3%
Avg time: 4.2 min | Slowest: 09_section_summarizer (45%)
JSON出力:
{
"batch": "run-2025-12-18_144426-2eb428c",
"format": "extractor",
"total": 230,
"successful": 180,
"partial": 15,
"failed": 35,
"success_rate": 78.3,
"avg_time_min": 4.2
}
state - スタンドアロン状態ファイルの分析
uv run python report.py state /path/to/.batch_state.json
uv run python report.py state /path/to/.batch_state.json --json
任意のバッチジョブの .batch_state.json ファイルで動作します。
failures - 理由付きで失敗を一覧表示
uv run python report.py failures /path/to/output
uv run python report.py failures /path/to/output --json
レポート形式
# Batch Report: run-2025-12-18_144426-2eb428c
## Summary
- **Total items:** 230
- **Successful:** 180 (78.3%)
- **Failed:** 35 (15.2%)
- **Partial:** 15 (6.5%)
## Timing Analysis
| Step | Avg (s) | Max (s) | % of Total |
|------|---------|---------|------------|
| 09_section_summarizer | 120.5 | 341.0 | 45.2% |
| 05_table_extractor | 65.3 | 105.0 | 24.5% |
...
## Failure Patterns
| Pattern | Count | Example |
|---------|-------|---------|
| Empty text_content | 12 | 047ca6ef... |
| CUDA OOM | 5 | 9497a4e5... |
...
## Recommendations
1. Consider --text-only mode for knowledge extraction
2. Add table confidence threshold before VLM
...
可視化
レポート生成後(特に --json 使用時)、/create-figure で可視化を提案:
# パイプラインステップごとのタイミングウォーターフォール
create-figure metrics --input batch.json --output timing.png --type hbar --title "Step Timing"
# 成功/失敗の分布
create-figure metrics --input batch.json --output results.png --type pie --title "Batch Results"
# 失敗パターンの内訳
create-figure metrics --input batch.json --output failures.png --type bar --title "Failure Patterns"
いつ提案するか: バッチ分析を提示した後、「タイミングの内訳を可視化しますか?」と尋ねます。
対応バッチフォーマット
--format フラグは extractor, youtube, generic, auto(デフォルト)を受け付けます。
自動検出ロジック:
*/manifest.jsonと*/timings_summary.jsonが存在する →extractor.batch_state.jsonの説明に "transcript" が含まれる →youtube.batch_state.jsonが存在する →generic
抽出バッチ
期待するファイル:
*/manifest.json- アイテムごとのマニフェスト*/timings_summary.json- タイミングデータ*/14_report_generator/json_output/final_report.json- 品質メトリクスfailed_urls.txt- 失敗アイテムのリスト
YouTubeトランスクリプトバッチ
期待するファイル:
.batch_state.json- トランスクリプト関連の説明を含む状態ファイル
汎用バッチ
期待するファイル:
.batch_state.json- 完了/失敗カウントを含む状態ファイル*.logファイル(失敗分析用、オプション)
エージェント受信箱との連携
# バグとしてレポートを送信
uv run python report.py analyze /path/to/output \
--send-to extractor \
--priority high
# 送信されたメッセージ: extractor_abc123
依存関係
dependencies = [
"typer",
"rich",
]