research-report について
research-reportは、`/research-deep`が出力したJSONファイルから、目次と項目別の概要を含むMarkdownレポートを作成します。研究ワークフローの結果整理向けで、利用可能なフィールドを調べ、表示する指標を確認してから生成スクリプトを作成します。
主な機能
- 01研究出力ディレクトリのJSONを読み込み
- 02目次向けの要約フィールドを検出
- 03表示する指標を確認
- 04レポートスクリプトの生成と実行
- 05Markdownの概要レポートを出力
活用シーン
- 01深い調査段階の結果を集約
- 02調査項目に選択した指標を追加
- 03研究データのJSONをMarkdownに整理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ julianobarbosa/ claude-code-skills --skill research-reportインストール後、Claude Code で/research-reportを入力して読み込まれたか確認します。
同梱ファイルreferences/report-generation-spec.md
詳細
調査レポート — サマリーレポート
/research-deep が生成した JSON ファイルを読み込み、{topic}/report.md に単一の Markdown レポートを出力します。
トリガー
/research-report
パイプライン内の位置
/research-outline → /research-add-* → /research-deep → ► /research-report ◄
ワークフロー
ステップ 1 — 結果ディレクトリを特定する
現在の作業ディレクトリで */outline.yaml を Glob します。Read で読み込み、topic と execution.output_dir を取得します。
ステップ 2 — 任意のサマリーフィールドを確認する
output_dir 配下のすべての JSON を Read します。目次の列に適した、短い数値またはスカラー値のフィールド候補を収集します。一般的な候補は次のとおりです。
github_starsgoogle_scholar_citesswe_bench_scoreuser_scalevaluationrelease_date
AskUserQuestion:「目次の各項目の横に、どのサマリーフィールドを表示しますか?」と質問します。この実行で見つかったフィールドの動的な一覧を提示します。
AskUserQuestion の質問で選択肢に指定できるのは最大 4 つです。 候補が 4 つを超える場合は、フィールドグループを分けて 2 回質問するか、情報量が多そうな候補を 4 つ選び、ユーザーに確認または変更を求めてください。
ステップ 3 — レポートスクリプトを生成する
{topic}/generate_report.py を書き込みます。スクリプトの動作は references/report-generation-spec.md で定義されています。スクリプトを書く前にこのファイルを読んでください。JSON の構造との互換性、カテゴリ名の多言語マッピング、複雑な値のフォーマット、追加フィールドの収集、不確かな値の除外、目次のフォーマットについて説明されています。
スクリプトをそのまま同梱せず、実行のたびに再生成する理由:トピックごとにフィールドのカテゴリや値の形式が少しずつ異なります。実際に JSON に含まれる内容に合わせてモデルが実行ごとにスクリプトを書けるようにする一方で、仕様によってすべてのスクリプトが同じ最低要件を満たすようにしています。
ステップ 4 — スクリプトを実行する
python {topic}/generate_report.py を実行します。生成された {topic}/report.md が存在し、空でないことを確認し、ユーザーにパスを伝えます。
出力
{topic}/generate_report.py— 実行ごとの変換スクリプト{topic}/report.md— サマリーレポート
注意点
CATEGORY_MAPPINGは 2 か所にあります:生成されたgenerate_report.pyと~/.claude/skills/research-outline/validate_json.pyです。両者の内容が一致していないと、バリデーターが受け入れたカテゴリがレポートで除外されます。fields.yamlにカテゴリを追加する場合は、両方のファイルを更新してください(基準となるマッピングについてはreferences/report-generation-spec.mdを参照してください)。AskUserQuestionで指定できる選択肢は最大 4 つです。ステップ 2 でサマリーフィールドの候補が 4 つを超えた場合は、質問を複数回に分けるか、質問する前に候補を絞り込んでください。黙って 4 つに切り詰めないでください。ユーザーには省かれた項目を知らせる必要があります。- 値に
[uncertain]が含まれている場合と、uncertain配列に含まれている場合は、どちらも除外の条件になります。いずれか一方だけでも十分です。両方を同時に要求しないでください。 - アンカースラッグは Markdown の自動生成結果を使用し、独自にスラッグ化しないでください。 目次リンクの
#xxxが、Markdown レンダラーによって## Item Nameの見出しから生成されるもの(小文字化、スペースをハイフンに変換、大半の句読点を削除)と一致するようにしてください。項目名に通常とは異なる文字が含まれる場合は、安全であることが分かっている見出しテキストでセクションを表示してください。 output_dirが空の場合、/research-deepがまだ実行されていないか、項目の処理が完了していません。空のレポートを生成せず、状況をユーザーに伝えてください。