/x-research
X (Twitter) のリアルタイム検索を行い、トピックに関するツイートを収集・分析する。 検索結果を構造化レポート(Markdown + JSON + TXT)として出力。 「Xで検索して」「Twitterで調べて」「ツイートを分析」等で発動。
$ npx -y skills add minicoohei/ai-agent-camp --skill x-research --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/x-research
Context preview
The summary Claude sees to decide when to auto-load this skill.
X (Twitter) のリアルタイム検索を行い、トピックに関するツイートを収集・分析する。 検索結果を構造化レポート(Markdown + JSON + TXT)として出力。 「Xで検索して」「Twitterで調べて」「ツイートを分析」等で発動。
SKILL.md
x-research.SKILL.mdname: x-research
version: 1.0.0
author: ai-agent-camp
description: "X (Twitter) のリアルタイム検索を行い、トピックに関するツイートを収集・分析する。 検索結果を構造化レポート(Markdown + JSON + TXT)として出力。 「Xで検索して」「Twitterで調べて」「ツイートを分析」等で発動。"
triggers:
- Xで検索して
- Twitterで調べて
- ツイートを分析
- X上の反応を調べて
- SNSリサーチ
- トレンドを調査
- x-research
- search tweets
dependencies:
- requests>=2.28.0
- python-dotenv>=0.19.0
X Research - X (Twitter) リアルタイム検索・分析
Description
X API v2 Recent Search エンドポイントを使用して、指定トピックに関するリアルタイムのツイートを検索・収集・分析します。 取得したツイートをエンゲージメント順にランキングし、ハッシュタグ分析・時系列分布・共有URL一覧を含む構造化レポートを Markdown + JSON + プレーンテキストの3形式で出力します。
クイックスタート
# 基本的な検索
python skills/x-research/scripts/x_research.py --topic "生成AI"
# 英語で検索、リツイート除外
python skills/x-research/scripts/x_research.py --topic "Claude AI" --lang en --no-retweets
# 直近3日間、関連度順
python skills/x-research/scripts/x_research.py --topic "OpenAI" --days 3 --sort relevancy
Parameters
| Parameter | Required | Default | Description | |-----------|----------|---------|-------------| | --topic, -t | Yes | - | 検索トピック・キーワード | | --query, -q | No | auto | カスタム検索クエリ(topicの代わりに直接指定) | | --lang, -l | No | ja | 言語フィルタ: ja, en, all | | --days, -d | No | 7 | 検索期間(日数、最大7) | | --sort, -s | No | relevancy | ソート: relevancy, recency | | --no-retweets | No | false | リツイートを除外 | | --no-replies | No | false | リプライを除外 | | --media-only | No | false | メディア付きツイートのみ | | --from-user | No | - | 特定ユーザーのツイートのみ | | --min-likes | No | 0 | 最小いいね数(取得後フィルタ) | | --max-results, -m | No | 50 | 1ページあたりの最大取得数(最大100) | | --max-pages | No | 3 | 最大ページ数 | | --top-n | No | 10 | トップツイート表示数 | | --output, -o | No | output/x-research/ | 出力ディレクトリ | | --session | No | auto | セッション名(出力フォルダ名に使用) | | --dry-run | No | false | クエリを表示するだけで実行しない | | --raw-json | No | false | 生APIレスポンスをstderrに出力 |
クエリ構文ガイド
`--query` で直接指定する場合、X API v2 の検索演算子が使えます:
| 演算子 | 例 | 説明 | |--------|-----|------| | キーワード | `生成AI` | 基本キーワード検索 | | "フレーズ" | `"Claude Code"` | 完全一致フレーズ | | from: | `from:OpenAI` | 特定ユーザーの投稿 | | to: | `to:username` | 特定ユーザーへのメンション | | -is:retweet | `-is:retweet` | リツイート除外 | | -is:reply | `-is:reply` | リプライ除外 | | has:media | `has:media` | メディア付きのみ | | has:links | `has:links` | リンク付きのみ | | lang: | `lang:ja` | 言語指定 | | #ハッシュタグ | `#AI` | ハッシュタグ検索 | | OR | `AI OR 人工知能` | OR 検索 | | -keyword | `-広告` | キーワード除外 |
出力フォーマット
3つのファイルが `output/x-research/YYYYMMDD_HHMMSS_{topic}/` に生成されます:
1. **`{topic}_report.md`** - Markdown レポート
- サマリー統計(ツイート数、ユニークユーザー数、いいね合計等)
- トップツイート(エンゲージメント順)
- ハッシュタグ分析
- 時系列分布
- 共有URL一覧
2. **`{topic}_data.json`** - 構造化 JSON
- メタデータ(クエリ、パラメータ、生成日時)
- 統計情報
- 全ツイートデータ(テキスト、メトリクス、著者情報)
3. **`{topic}_raw.txt`** - プレーンテキスト要約
使用例
# 日本語で「生成AI」を検索(デフォルト設定)
python skills/x-research/scripts/x_research.py --topic "生成AI"
# 英語で「Claude」を検索、リツイート・リプライ除外
python skills/x-research/scripts/x_research.py \
--topic "Claude AI" --lang en --no-retweets --no-replies
# 特定ユーザーの投稿を検索
python skills/x-research/scripts/x_research.py \
--topic "AI" --from-user AnthropicAI --lang en
# メディア付きツイートのみ、直近3日間
python skills/x-research/scripts/x_research.py \
--topic "AI art" --media-only --days 3 --lang en
# カスタムクエリで高度な検索
python skills/x-research/scripts/x_research.py \
--query '"Claude Code" OR "Cursor AI" -is:retweet lang:en' --topic "AI IDE"
# dry-run でクエリを確認
python skills/x-research/scripts/x_research.py \
--topic "テスト" --no-retweets --lang ja --dry-run
環境設定
必須: X Bearer Token
# .env に追加
X_BEARER_TOKEN=your_bearer_token_here
取得方法: 1. [X Developer Portal](https://developer.x.com/en/portal/dashboard) にアクセス 2. プロジェクト/アプリを作成 3. Bearer Token を取得 4. `.env` ファイルに `X_BEARER_TOKEN=...` を追加
API制限
| プラン | 検索上限 | 期間 | |--------|----------|------| | Free | 使用不可 | - | | Basic ($100/月) | 60リクエスト/15分 | 直近7日 | | Pro ($5,000/月) | 300リクエスト/15分 | 直近7日 |
出力例
=== 出力完了 ===
Markdown: output/x-research/20260210_053000_生成AI/生成AI_report.md
JSON: output/x-research/20260210_053000_生成AI/生成AI_data.json
Text: output/x-research/20260210_053000_生成AI/生成AI_raw.txt
--- サマリー ---
ツイート数: 30
ユニーク著者: 28
いいね合計: 1,234
リツイート合計: 56
リプライ合計: 12
期間: 2026-02-03 ~ 2026-02-10
依存関係
requests>=2.28.0
python-dotenv>=0.19.0
Read more
name: x-research version: 1.0.0 author: ai-agent-camp description: "X (Twitter) のリアルタイム検索を行い、トピックに関するツイートを収集・分析する。 検索結果を構造化レポート(Markdown + JSON + TXT)として出力。 「Xで検索して」「Twitterで調べて」「ツイートを分析」等で発動。" triggers: - Xで検索して - Twitterで調べて - ツイートを分析 - X上の反応を調べて - SNSリサーチ - トレンドを調査 - x-research - search tweets dependencies: - requests>=2.28.0 - python-dotenv>=0.19.0
X Research - X (Twitter) リアルタイム検索・分析
Description
X API v2 Recent Search エンドポイントを使用して、指定トピックに関するリアルタイムのツイートを検索・収集・分析します。 取得したツイートをエンゲージメント順にランキングし、ハッシュタグ分析・時系列分布・共有URL一覧を含む構造化レポートを Markdown + JSON + プレーンテキストの3形式で出力します。
クイックスタート
# 基本的な検索 python skills/x-research/scripts/x_research.py --topic "生成AI" # 英語で検索、リツイート除外 python skills/x-research/scripts/x_research.py --topic "Claude AI" --lang en --no-retweets # 直近3日間、関連度順 python skills/x-research/scripts/x_research.py --topic "OpenAI" --days 3 --sort relevancy
Parameters
| Parameter | Required | Default | Description | |-----------|----------|---------|-------------| | --topic, -t | Yes | - | 検索トピック・キーワード | | --query, -q | No | auto | カスタム検索クエリ(topicの代わりに直接指定) | | --lang, -l | No | ja | 言語フィルタ: ja, en, all | | --days, -d | No | 7 | 検索期間(日数、最大7) | | --sort, -s | No | relevancy | ソート: relevancy, recency | | --no-retweets | No | false | リツイートを除外 | | --no-replies | No | false | リプライを除外 | | --media-only | No | false | メディア付きツイートのみ | | --from-user | No | - | 特定ユーザーのツイートのみ | | --min-likes | No | 0 | 最小いいね数(取得後フィルタ) | | --max-results, -m | No | 50 | 1ページあたりの最大取得数(最大100) | | --max-pages | No | 3 | 最大ページ数 | | --top-n | No | 10 | トップツイート表示数 | | --output, -o | No | output/x-research/ | 出力ディレクトリ | | --session | No | auto | セッション名(出力フォルダ名に使用) | | --dry-run | No | false | クエリを表示するだけで実行しない | | --raw-json | No | false | 生APIレスポンスをstderrに出力 |
クエリ構文ガイド
`--query` で直接指定する場合、X API v2 の検索演算子が使えます:
| 演算子 | 例 | 説明 | |--------|-----|------| | キーワード | `生成AI` | 基本キーワード検索 | | "フレーズ" | `"Claude Code"` | 完全一致フレーズ | | from: | `from:OpenAI` | 特定ユーザーの投稿 | | to: | `to:username` | 特定ユーザーへのメンション | | -is:retweet | `-is:retweet` | リツイート除外 | | -is:reply | `-is:reply` | リプライ除外 | | has:media | `has:media` | メディア付きのみ | | has:links | `has:links` | リンク付きのみ | | lang: | `lang:ja` | 言語指定 | | #ハッシュタグ | `#AI` | ハッシュタグ検索 | | OR | `AI OR 人工知能` | OR 検索 | | -keyword | `-広告` | キーワード除外 |
出力フォーマット
3つのファイルが `output/x-research/YYYYMMDD_HHMMSS_{topic}/` に生成されます:
1. **`{topic}_report.md`** - Markdown レポート
- サマリー統計(ツイート数、ユニークユーザー数、いいね合計等)
- トップツイート(エンゲージメント順)
- ハッシュタグ分析
- 時系列分布
- 共有URL一覧
2. **`{topic}_data.json`** - 構造化 JSON
- メタデータ(クエリ、パラメータ、生成日時)
- 統計情報
- 全ツイートデータ(テキスト、メトリクス、著者情報)
3. **`{topic}_raw.txt`** - プレーンテキスト要約
使用例
# 日本語で「生成AI」を検索(デフォルト設定) python skills/x-research/scripts/x_research.py --topic "生成AI" # 英語で「Claude」を検索、リツイート・リプライ除外 python skills/x-research/scripts/x_research.py \ --topic "Claude AI" --lang en --no-retweets --no-replies # 特定ユーザーの投稿を検索 python skills/x-research/scripts/x_research.py \ --topic "AI" --from-user AnthropicAI --lang en # メディア付きツイートのみ、直近3日間 python skills/x-research/scripts/x_research.py \ --topic "AI art" --media-only --days 3 --lang en # カスタムクエリで高度な検索 python skills/x-research/scripts/x_research.py \ --query '"Claude Code" OR "Cursor AI" -is:retweet lang:en' --topic "AI IDE" # dry-run でクエリを確認 python skills/x-research/scripts/x_research.py \ --topic "テスト" --no-retweets --lang ja --dry-run
環境設定
必須: X Bearer Token
# .env に追加 X_BEARER_TOKEN=your_bearer_token_here
取得方法: 1. [X Developer Portal](https://developer.x.com/en/portal/dashboard) にアクセス 2. プロジェクト/アプリを作成 3. Bearer Token を取得 4. `.env` ファイルに `X_BEARER_TOKEN=...` を追加
API制限
| プラン | 検索上限 | 期間 | |--------|----------|------| | Free | 使用不可 | - | | Basic ($100/月) | 60リクエスト/15分 | 直近7日 | | Pro ($5,000/月) | 300リクエスト/15分 | 直近7日 |
出力例
=== 出力完了 === Markdown: output/x-research/20260210_053000_生成AI/生成AI_report.md JSON: output/x-research/20260210_053000_生成AI/生成AI_data.json Text: output/x-research/20260210_053000_生成AI/生成AI_raw.txt --- サマリー --- ツイート数: 30 ユニーク著者: 28 いいね合計: 1,234 リツイート合計: 56 リプライ合計: 12 期間: 2026-02-03 ~ 2026-02-10
依存関係
requests>=2.28.0 python-dotenv>=0.19.0
AI Agent Training for Non-Engineers - Complete Guide to Claude Code / Cursor / Codex ### ⚠️ Before you clone Official repository (maintained by the authors): Running AI agents from this repo grants them shell, file-write, and external-API permissions on your
Other skills on ai-agent-camp.
- /ab-test-setup
A/Bテストや実験の設計・実装を支援するスキル。 「A/Bテストを設計して」「スプリットテストしたい」「仮説を立ててテストしたい」「バリアントを比較」等のリクエストで発動。 トラッキング実装は analytics-tracking を参照。
Open skill - /agent-designer
マルチエージェントシステムのアーキテクチャ設計ツールキット。 「エージェントを設計して」「マルチエージェント構成」「エージェントのアーキテクチャ」「オーケストレーション設計」等のリクエストで発動。
Open skill - /analytics-tracking
アナリティクスのトラッキング設定・改善・監査を支援するスキル。 「トラッキングを設定」「GA4を導入」「コンバージョン計測」「イベントトラッキング」「UTMパラメータ」「GTMの設定」等のリクエストで発動。 A/Bテスト計測は ab-test-setup を参照。
Open skill - /article-writer
テーマからアウトライン生成→文体プロファイル適用→Markdown記事出力を行う記事執筆スキル。 挿絵マーカーの自動挿入、style-analyzerプロファイル参照による文体統一に対応。 「記事を書いて」「ブログ作成」「テーマで記事生成」等のリクエストで発動。
Open skill - /banner-creator
各種SNS・広告プラットフォーム向けのバナー/クリエイティブを生成するスキル。 X, Facebook, Instagram, PRTimes, YouTube, LINE, Web広告に対応。 「バナーを作って」「広告画像を生成」「SNS用の画像」「クリエイティブ制作」等のリクエストで発動。
Open skill - /bigquery-auth
GCPプロジェクト単位でBigQuery認証を設定するスキル。 gcloud設定プロファイルで複数プロジェクトを安全に分離管理。 「BigQueryに繋ぎたい」「BQ認証」「gcloud認証」「データ分析の認証設定」等のリクエストで発動。
Open skill

