Agent Skills: save-report

コードレビュー・調査・バグ解析などの結果をHTMLドキュメントとして保存するスキル。「レポートを保存して」「結果をまとめて」「HTMLに出力して」「ドキュメントに残して」「保存しておいて」「調査結果をファイルにして」などと言われたときに必ず使用する。会話の内容から種別を自動判定し、output-config.toml に設定された保存先へ番号付きHTMLファイルを生成する。コードレビュー、バグ調査、コード調査、リサーチ結果のどれにでも対応。

UncategorizedID: ntaksh42/agents/save-report

Install this agent skill to your local

pnpm dlx add-skill https://github.com/ntaksh42/env/tree/HEAD/claude/skills/save-report

Skill Files

Browse the full folder contents for save-report.

Download Skill

Loading file tree…

claude/skills/save-report/SKILL.md

Skill Metadata

Name
save-report
Description
コードレビュー・調査・バグ解析などの結果をHTMLドキュメントとして保存するスキル。「レポートを保存して」「結果をまとめて」「HTMLに出力して」「ドキュメントに残して」「保存しておいて」「調査結果をファイルにして」などと言われたときに必ず使用する。会話の内容から種別を自動判定し、output-config.toml に設定された保存先へ番号付きHTMLファイルを生成する。コードレビュー、バグ調査、コード調査、リサーチ結果のどれにでも対応。

save-report

会話中でAgentが出力したレビュー・調査・バグ解析などの回答を、見やすいHTMLドキュメントとしてまとめて保存する。

ワークフロー

1. 種別判定 → 2. 設定読み込み → 3. 番号決定 → 4. HTML生成 → 5. 保存・報告

Step 1: 種別判定

会話の内容とユーザーの発言から、以下のいずれかに分類する。

| 種別キー | ファイル名プレフィックス | 色テーマ | 対象 | |----------|------------------------|----------|------| | review | PR | 青 (#1d4ed8) | コードレビュー、PRレビュー | | bug | bug | 赤 (#dc2626) | バグ調査、不具合解析 | | investigation | investigation | 紫 (#7c3aed) | コード調査、動作調査 | | research | research | シアン (#0891b2) | 技術調査、リサーチ | | security | security | オレンジ (#ea580c) | セキュリティ監査 |

判定できない場合は investigation をデフォルトとする。


Step 2: 設定読み込み

~/.claude/skills/save-report/output-config.toml を読む。

  • output.base_dir: 保存先のルートディレクトリ
  • output.subdirs.<種別キー>: サブディレクトリ名
  • output.prefixes.<種別キー>: ファイル名プレフィックス

保存先 = base_dir / subdirs[種別] / ファイル名


Step 3: 番号決定

番号の取得は以下の優先順で行う:

  1. 会話から抽出: ユーザーが「PR #123」「bug #42」のように番号を言及している場合はその番号を使う
  2. 自動採番: 保存先ディレクトリに既存ファイルがあれば最大番号+1、なければ 001 から開始

番号は3桁ゼロ埋め(例: 001, 042, 123)。

最終的なファイル名: {prefix}{番号}.html(例: PR123.html, bug001.html


Step 4: HTML生成

templates/base.html をベースに、種別ごとの設定を適用してHTMLを組み立てる。

色テーマの適用

| 変数 | review | bug | investigation | research | security | |------|--------|-----|---------------|----------|----------| | ACCENT_COLOR | #1d4ed8 | #dc2626 | #7c3aed | #0891b2 | #ea580c | | ACCENT_LIGHT | #dbeafe | #fee2e2 | #ede9fe | #cffafe | #ffedd5 |

プレースホルダー置換

base.html の以下を置換する:

| プレースホルダー | 内容 | |----------------|------| | {{TITLE}} | ドキュメントタイトル(例: PR123 コードレビュー結果) | | {{ACCENT_COLOR}} | 種別カラー | | {{ACCENT_LIGHT}} | 薄いアクセントカラー | | {{BADGE_LABEL}} | バッジテキスト(例: CODE REVIEW) | | {{SUBTITLE}} | 対象の説明(ブランチ名、調査対象など) | | {{DATE}} | 今日の日付(YYYY-MM-DD) | | {{DOC_ID}} | ファイル名(例: PR123) | | {{SUMMARY_CARDS}} | サマリーカードHTML | | {{MAIN_CONTENT}} | 本文セクションHTML |

種別ごとのセクション構成

review(コードレビュー):

  • 📋 レビュー概要
  • 🔴 重大な指摘(テーブル: 場所 / 問題 / 推奨対応)
  • 🟡 改善提案(テーブル: 場所 / 内容 / 優先度)
  • ✅ 良い点
  • 📝 まとめ・次のアクション

サマリーカード: 対象PR/ブランチ / 指摘件数(重大/軽微の内訳) / 総合評価

bug(バグ調査):

  • 🐛 バグの概要・再現方法
  • 📊 調査結果・ログ
  • 🧩 根本原因
  • 🔧 修正方針(テーブル: 対応内容 / 優先度 / 備考)
  • 📝 まとめ

サマリーカード: バグID / ステータス / 影響範囲

investigation(コード調査):

  • templates/investigation.html のセクション構成に従う
  • 🔍 調査の背景・目的 / 📊 調査結果 / 🧩 原因分析 / 💡 推奨対応 / 📝 まとめ

サマリーカード: 調査対象 / ステータス / 影響範囲

research(リサーチ):

  • 🎯 調査目的 / 📚 調査結果 / ⚖️ 比較・評価 / 💡 結論・推奨 / 📝 参考情報

サマリーカード: 調査テーマ / 調査対象数 / 推奨

security(セキュリティ):

  • 🛡️ 監査概要 / 🔴 脆弱性(テーブル: CVE/種別 / 深刻度 / 対応) / 🟡 リスク / ✅ 問題なし / 📝 まとめ

サマリーカード: 監査対象 / 脆弱性件数 / 最高深刻度

HTMLの品質基準

  • 日本語フォント: 'Segoe UI', 'Meiryo', sans-serif
  • コードは <pre> または <code> タグで囲む
  • テーブルの行が多い場合は最大15行まで表示し、それ以上は折りたたみ(<details>
  • ファイルは完全なHTMLとして自己完結させる(外部CDN不使用)

Step 5: 保存・報告

  1. 保存先ディレクトリが存在しない場合は作成する
  2. HTMLファイルを書き込む
  3. ユーザーに以下を報告する:
✅ 保存しました
ファイル: C:/Users/aksh0/reports/reviews/PR123.html
種別: コードレビュー

重要な注意点

  • 会話内容の忠実な再現: 要約や省略はしない。Agentが出力した内容をそのままHTMLに落とし込む
  • コードブロックの保持: ソースコードや差分は <pre> タグで必ず保持する
  • リンク化: ファイルパス(例: src/auth.rs:42)は <code> タグで装飾する
  • 未判明情報: 会話から読み取れない項目(PR番号など)は「不明」「-」と記載し、推測しない