AgentSkillsCN

brave-research

当用户要求“调查”、“查询”、“搜索最新信息”、“告诉我关于……的信息”、“搜索……”、“研究”、“查找”、“了解……的相关信息”、“调查新闻”、“搜索图片”时,或者当用户需要进行网络搜索、新闻搜索、图像/视频搜索、内容提取,或使用Brave Search API进行多步骤研究时,应使用此技能。当用户提及“Brave Search”、“网络调查”、“研究”或要求获取任何主题的最新信息时,本技能也会自动激活。

SKILL.md
--- frontmatter
name: brave-research
description: This skill should be used when the user asks to "調査して", "調べて", "検索して", "最新情報を教えて", "search for", "research", "look up", "find information about", "ニュースを調べて", "画像を検索", or needs web search, news search, image/video search, content extraction, or multi-step research using Brave Search API. Also activates when the user mentions "Brave Search", "Web調査", "リサーチ", or asks for up-to-date information on any topic.
allowed-tools: Bash, Read, Write, AskUserQuestion, WebFetch

Brave Research - Web調査スキル

Brave Search API を活用した Web 調査スキル。単発検索から複数クエリの深掘り調査まで対応する。


調査開始前の確認フロー

調査を開始する前に、AskUserQuestion ツールで以下を確認する。

確認項目

項目選択肢説明
調査タイプquick / deepquick: 単発検索、deep: マルチステップ深掘り
検索カテゴリweb / news / images / videos検索対象のタイプ
言語ja / en / auto検索結果の言語
出力形式text / file会話内テキスト or ファイル保存

調査タイプ別の推奨設定

ケースタイプカテゴリ備考
技術調査deepweb複数ソースの交差検証が有効
最新ニュース確認quicknewsfreshness フィルターで鮮度制御
トレンド把握quickwebcount=10 で俯瞰
競合分析deepweb + news複数クエリで多角的に調査
画像リソース探索quickimages参照画像の発見に有効

ツール一覧

ツール説明
search.pyBrave Search API 検索(web/news/images/videos)
extract.pyURL からコンテンツをマークダウン抽出

前提条件

  1. uv: curl -LsSf https://astral.sh/uv/install.sh | sh でインストール
  2. BRAVE_API_KEY: 環境変数に Brave Search API キーを設定(https://brave.com/search/api/ で取得)

APIキー未設定時のフォールバック

BRAVE_API_KEY が未設定の場合、search.py は取得手順と料金情報を含むガイダンスを出力する。この場合、以下の手順で対応する:

  1. search.py の出力(API キー取得手順)をユーザーに提示する
  2. 代替手段として Claude Code 内蔵の WebSearch ツールを使用して検索を実行する
  3. WebSearch の結果を brave-research と同じフォーマット(タイトル、URL、スニペット)で整理して提示する
  4. コンテンツ抽出が必要な場合は WebFetch ツールで代替する

WebSearch/WebFetch は API キー不要で即座に使用可能。ただし Brave Search API と比較して検索演算子(site:, filetype: 等)や鮮度フィルター、画像・動画検索には対応していない点をユーザーに伝える。


1. search.py - Brave Search API 検索

bash
uv run --with requests ${CLAUDE_PLUGIN_ROOT}/scripts/search.py "クエリ" [オプション]

オプション

オプション説明デフォルト
-t, --type検索タイプ (web, news, images, videos)web
-c, --count結果件数 (1-20)5
-l, --lang検索言語 (ja, en, 等) ※jajp等は自動変換なし
--country国コード (JP, US, 等)なし
--freshness鮮度フィルター (pd:24h, pw:1週, pm:1月, py:1年)なし
--offsetページネーション開始位置0
-o, --output結果をファイルに保存なし
--summaryAI要約キーを取得(web検索のみ)なし

bash
# 基本的なWeb検索
uv run --with requests ${CLAUDE_PLUGIN_ROOT}/scripts/search.py "Claude Code plugin development"

# 日本語ニュース検索(直近1週間)
uv run --with requests ${CLAUDE_PLUGIN_ROOT}/scripts/search.py "AI開発ツール" -t news --freshness pw -l ja

# 画像検索
uv run --with requests ${CLAUDE_PLUGIN_ROOT}/scripts/search.py "system architecture diagram" -t images -c 10

# 結果をファイルに保存
uv run --with requests ${CLAUDE_PLUGIN_ROOT}/scripts/search.py "MCP server best practices" -c 10 -o results.md

# 検索演算子の活用
uv run --with requests ${CLAUDE_PLUGIN_ROOT}/scripts/search.py "site:github.com MCP server brave search"

検索演算子

Brave Search はネイティブ検索演算子をサポートする:

演算子説明
site:特定ドメインに限定site:github.com MCP
-site:特定ドメインを除外-site:reddit.com AI
filetype:ファイルタイプ指定filetype:pdf AI whitepaper
intitle:タイトル内検索intitle:"best practices"
"..."完全一致フレーズ"Claude Code plugin"
before:日付以前before:2026-01-01 AI
after:日付以降after:2025-06-01 MCP

2. extract.py - コンテンツ抽出

bash
uv run --with requests --with readability-lxml --with lxml_html_clean ${CLAUDE_PLUGIN_ROOT}/scripts/extract.py "URL" [オプション]

オプション

オプション説明デフォルト
-o, --output抽出結果をファイルに保存なし
--max-length最大文字数5000

bash
# URLからコンテンツを抽出
uv run --with requests --with readability-lxml --with lxml_html_clean ${CLAUDE_PLUGIN_ROOT}/scripts/extract.py "https://example.com/article"

# ファイルに保存
uv run --with requests --with readability-lxml --with lxml_html_clean ${CLAUDE_PLUGIN_ROOT}/scripts/extract.py "https://example.com/article" -o article.md

ワークフロー例

Quick Search: 単発技術調査

bash
# 1. Web検索で概要把握
uv run --with requests ${CLAUDE_PLUGIN_ROOT}/scripts/search.py "Brave Search API rate limits pricing" -c 5

# 2. 有用な結果のコンテンツを抽出
uv run --with requests --with readability-lxml --with lxml_html_clean ${CLAUDE_PLUGIN_ROOT}/scripts/extract.py "https://brave.com/search/api/"

Deep Research: マルチステップ調査

bash
# Phase 1: 広範な検索で主要ソースを特定
uv run --with requests ${CLAUDE_PLUGIN_ROOT}/scripts/search.py "MCP server architecture best practices 2026" -c 10

# Phase 2: 特定トピックの深掘り
uv run --with requests ${CLAUDE_PLUGIN_ROOT}/scripts/search.py "MCP server security authentication patterns" -c 5
uv run --with requests ${CLAUDE_PLUGIN_ROOT}/scripts/search.py "MCP server performance optimization" -c 5

# Phase 3: 主要ソースのコンテンツ抽出
uv run --with requests --with readability-lxml --with lxml_html_clean ${CLAUDE_PLUGIN_ROOT}/scripts/extract.py "https://source1.com/article"
uv run --with requests --with readability-lxml --with lxml_html_clean ${CLAUDE_PLUGIN_ROOT}/scripts/extract.py "https://source2.com/article"

# Phase 4: レポートファイルに結果を統合
# → Claude が検索結果とコンテンツを統合し、構造化レポートを生成

Deep Research プロセス

マルチステップ深掘り調査の標準プロセス:

1. Planning(計画)

  • ユーザーの調査目的を分析し、サブトピックに分解
  • 各サブトピックに最適な検索クエリを設計

2. Execution(実行)

  • 各サブトピックを順次検索
  • 有望な結果のコンテンツを抽出
  • 情報の矛盾や不足を記録

3. Verification(検証)

  • 複数ソースの情報を交差検証
  • 情報の鮮度と信頼性を評価
  • 不足があれば追加検索を実行

4. Synthesis(統合)

  • 全情報を構造化レポートにまとめる
  • 引用リンクを付与
  • 調査の限界と注意点を記載

コスト最適化

Brave API プラン月間クエリQPS価格
Free AI2,0001無料
Base AI20,000+20$5/1K件
Pro AI無制限50$9/1K件

コスト節約のヒント

  • Quick Search(count=5)で概要把握 → 必要時のみ Deep Research
  • --freshness フィルターで不要な結果を除外
  • site: 演算子で信頼性の高いソースに限定
  • 同一トピックの再検索を避け、前回結果を参照

ファイル構成

code
brave-research/
├── .claude-plugin/
│   └── plugin.json
├── skills/
│   └── brave-research/
│       └── SKILL.md            # このドキュメント
├── commands/
│   ├── search.md               # /brave-research:search コマンド
│   └── research.md             # /brave-research:research コマンド
├── scripts/
│   ├── search.py               # Brave Search API 検索
│   └── extract.py              # URL コンテンツ抽出
└── README.md