research-outline について
research-outline は、トピック別の調査を始めるスキルです。調査対象とフィールド定義を作成し、後続の詳細調査やレポート作成で使うファイルに保存します。
主な機能
- 01モデルの知識から調査対象を作成
- 02調査フィールドの定義を提案
- 03調査エージェントで最新情報を補足
- 04outline.yaml と fields.yaml を生成
活用シーン
- 01構造化された調査プロジェクトの開始
- 02詳細調査に使う観点の定義
- 03Markdown 調査レポートの入力準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ julianobarbosa/ claude-code-skills --skill research-outlineインストール後、Claude Code で/research-outlineを入力して読み込まれたか確認します。
同梱ファイルvalidate_json.py
詳細
リサーチ — 予備調査
リサーチプロジェクトを初期設定します。/research-deep と /research-report が使用するアウトライン(項目+実行設定)とフィールドスキーマ(リサーチの観点)を作成します。
トリガー
/research-outline <topic>
パイプラインの仕様
このスキルは、4 ステップのパイプラインのエントリーポイントです。
/research-outline <topic> # this skill — produces outline.yaml + fields.yaml
├─ /research-add-items # optional — append more research objects
├─ /research-add-fields # optional — append more research dimensions
├─ /research-deep # fan-out per-item deep research → results/*.json
└─ /research-report # summarise results into a markdown report
出力レイアウト:
{current_working_directory}/{topic_slug}/
├── outline.yaml # items list + execution config
└── fields.yaml # field definitions
ワークフロー
ステップ 1 — モデルの知識から初期フレームワークを作成する
トピックに基づいて、モデルがすでに持っている知識を使い、次の内容を下書きします。
- その分野における主要なリサーチ対象(項目)のリスト
- 推奨するリサーチフィールドのフレームワーク
下書きを {step1_output} として提示し、AskUserQuestion で次の点を確認します。
- 項目を追加または削除する必要がありますか?
- フィールドのフレームワークは、知りたい内容に合っていますか?
ステップ 2 — ウェブ検索で補足する
AskUserQuestion で対象期間を確認します(例:過去 6 か月、2024 年以降、期間の制限なし)。
この時点で取得するパラメーター:
{topic}— ユーザーのリサーチトピック{YYYY-MM-DD}— 今日の日付{step1_output}— ステップ 1 の全出力{time_range}— ユーザーが選択した期間
Task ツールを使い、subagent_type: general-purpose(またはプロジェクトに登録されているリサーチサブエージェント)で、バックグラウンドのリサーチエージェントを 1 つ起動します。
以下のプロンプトをテンプレートどおりに使用する理由: サブエージェントは会話のコンテキストを引き継がず、分離された環境で実行されます。そのプロンプトには、すべてのパラメーターを明示的に含める必要があります。また、「supplement」と「add」のようなわずかな表現の違いによって、検索の積極性が微妙に変わります。このテンプレートは安定した仕様として扱い、結果を実行間で比較できるように、{xxx} 変数を置き換えて残りはそのままにしてください。
プロンプトテンプレート(変数を置き換え、構造は維持してください):
## Task
Research topic: {topic}
Current date: {YYYY-MM-DD}
Based on the following initial framework, supplement latest items and recommended research fields.
## Existing Framework
{step1_output}
## Goals
1. Verify if existing items are missing important objects
2. Supplement items based on missing objects
3. Continue searching for {topic} related items within {time_range} and supplement
4. Supplement new fields
## Output Requirements
Return structured results directly (do not write files):
### Supplementary Items
- item_name: Brief explanation (why it should be added)
...
### Recommended Supplementary Fields
- field_name: Field description (why this dimension is needed)
...
### Sources
- [Source1](url1)
- [Source2](url2)
実行例(topic = "AI Coding History"):
## Task
Research topic: AI Coding History
Current date: 2025-12-30
Based on the following initial framework, supplement latest items and recommended research fields.
## Existing Framework
### Items List
1. GitHub Copilot: Developed by Microsoft/GitHub, first mainstream AI coding assistant
2. Cursor: AI-first IDE, based on VSCode
...
### Field Framework
- Basic Info: name, release_date, company
- Technical Features: underlying_model, context_window
...
## Goals
1. Verify if existing items are missing important objects
2. Supplement items based on missing objects
3. Continue searching for AI Coding History related items within since 2024 and supplement
4. Supplement new fields
## Output Requirements
[as above]
ステップ 3 — 既存のフィールドについてユーザーに確認する
AskUserQuestion で、統合する既存のフィールド定義ファイルがあるか確認します。ある場合は Read で読み込み、フィールドセットに組み込みます。
ステップ 4 — アウトラインを生成する(2 つのファイル)
{step1_output}、サブエージェントの {step2_output}、およびユーザーから提供されたフィールドを統合します。次の 2 つのファイルを書き込みます。
outline.yaml — 項目+実行設定:
topic: <research topic>
items:
- name: <item>
category: <optional>
description: <optional>
execution:
batch_size: <parallel agents — confirm with AskUserQuestion>
items_per_agent: <items per agent — confirm with AskUserQuestion>
output_dir: ./results # default
fields.yaml — フィールド定義:
field_categories:
- category: <name>
fields:
- name: <field_name>
description: <what to capture>
detail_level: brief | moderate | detailed
required: false # optional; validator checks required fields are present
uncertain: [] # reserved — auto-filled during /research-deep
detail_level は brief → moderate → detailed の順に詳細度が上がります。uncertain 配列は /research-deep が入力するため、ここでは空のままにします。
ステップ 5 — 保存して確認する
./{topic_slug}/を作成するoutline.yamlとfields.yamlを保存する- 次に進む前に、両方をユーザーに提示して確認してもらう
後続コマンド
/research-add-items— リサーチ対象を追加する/research-add-fields— フィールド定義を追加する/research-deep— 並列の詳細リサーチを開始する/research-report— 結果を要約する
注意点
{topic_slug}は通常、トピックを kebab-case にしたスラッグです(例:AI Coding History→ai-coding-history)。後続スキルは*/outline.yamlを自動で検索するため、ディレクトリ名はファイルシステムで使用でき、かつ一意であれば十分です。- ステップ 2 のサブエージェント用プロンプトテンプレートは、提案ではなく仕様です。
/research-deepと/research-reportは、ここで作成されるスキーマが安定していることを前提としています。テンプレートを場当たり的に書き換えると、後続スキルが適切に表示できないフィールドを受け取る可能性があります。 - フィールドの
required: trueは、詳細調査フェーズの検証(validate_json.py)で適用されます。必須フィールドが欠けていると、バリデーターでエラーになります。必要な場合にだけ使ってください。必須にしすぎると、レポートに不要な情報が増えます。 fields.yamlのuncertain配列は、後続処理用に予約されています。 このスキルでは何も追加しないでください。/research-deepが項目ごとに入力します。