Community研究&データ分析github.com

Reddit Research Skill

Arctic Shift アーカイブAPIを介したRedditリサーチ — サブレディット分析、エンゲージメント指標、ユーザーアクティビティ、削除/削除済み投稿の復旧、トーン評価、ルール、トピック発見。

Reddit Research Skill とは?

このスキルは、Arctic Shift API を唯一の信頼できるデータソースとして利用し、Redditの包括的なリサーチを実行します。分析、エンゲージメント指標の計算、ユーザーアクティビティの調査、削除/削除済み投稿の復旧、トーン評価、サブレディットのルールとトピック発見が可能です。reddit.com への直接アクセスは環境レベルでブロックされており、curl、WebFetch、WebSearch、Playwright はいずれも機能しません。そのため、このスキルは回答できない質問がある場合、Web検索で代用せず、その旨を明確に伝えます。Arctic Shift がカバーできない質問(ライブランキング、現在の購読者数、ログインユーザー限定の情報など)については、誠実に「利用不可」と報告し、代わりに Hacker News Algolia、Lobsters、Stack Exchange などの代替ソースをラベル付きで提供します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Jibbithy/claude-code-skills/tree/HEAD/skills/reddit-research

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Reddit Research Skill は何をしますか?

最も信頼性の高い方法を通じた包括的なRedditリサーチルーティング。どのツールが機能し、どのツールが機能せず、それぞれをいつ使用するかを正確に把握しています。

トリガー

/reddit-research analyze r/homelab engagement
/reddit-research what subs does u/example_user post in
/reddit-research find deleted posts in r/SUBNAME
/reddit-research discover subreddits about topic X
search reddit for discussions about X
check reddit metrics for these subreddits

メソッドランキング — 1つのルートのみ動作、残りは使用不可

2026-09-19 再テスト済み。Arctic Shift のみが動作するソースです。それ以外はすべてブロックされています。 以下のはしごは優雅なフォールバックチェーンではありません。4つのステップのうち3つは消失しており、重要な障害モードは、動作しないステップをWeb検索で静かに代替し、その結果をRedditデータとして提示することです。

ルートステータス (2026-09-19)エビデンス
Arctic Shift API動作 — 唯一のソースcurl .../api/posts/search?subreddit=selfhosted → 200, 完全な投稿オブジェクト
reddit.com .json (curl経由)使用不可 — 403ハーネスレベルのブロック。ブラウザのUser-Agentでも回避不可
reddit.com 上の WebFetch / WebSearch使用不可WebSearch が 400 domains not accessible を返す
old.reddit.com 上の Playwright利用不可Playwright MCP サーバーが必要だが、接続に頻繁に失敗する

Arctic Shift — 主要かつ事実上唯一のルート

  • ベース: https://arctic-shift.photon-reddit.com/api
  • プレーンな curl。認証不要、ブラウザ不要、プルーフオブワーク不要。
  • 削除済み、削除済み、スパムフィルターされた投稿を参照可能 — 他のルートではできない唯一の機能。

履歴調査、メトリクス、ユーザーアクティビティ、ルール、トーン、削除復旧など、すべてに使用します。

実行を静かに台無しにする4つの注意点。すべてライブコールで確認済み。

  1. パラメータ名が直感的でなく、間違った推測はハードエラーを引き起こします。 /posts/search では全文検索が title= または selftext=、/comments/search では body= です。q は {"error":"Unknown query parameter: 'q'"} を返します。sort は asc/desc のみを受け付けます。
  2. 1秒以内に {"error":"Timeout. Maybe slow down a bit"} が返った場合はレート制限であり、遅いクエリではありません。 ペースを調整しない4回の呼び出しでトリガーされます。より長い -m や狭いウィンドウで再試行しても効果はありません。呼び出しの間隔を約4秒空け、そのエラーが発生した場合は指数関数的にバックオフします(8→120秒)。
  3. エラーが発生すると、レスポンスは {"data":null,...} になります。 json.data.length に直接アクセスするコードは、レート制限エラーを報告せずに例外をスローします。data にアクセスする前に null チェックを行い、error が設定されている場合はそれを表面化させます。
  4. 約36時間未満の新しい投稿は hide_score:true と score:1 を持ちます — メトリクスを計算する前にこれらを除外しないと、数値が虚偽になります。スコアによるソートはありません。広く取得し、クライアントサイドでソートします。

Redditが本当に答えられない場合

質問がライブランキング、現在の購読者数、またはログインユーザー限定のビューを必要とする場合、Arctic Shift はそれを提供できず、他に利用可能なものはありません。それを成果物に明記してください。 ワークフローがゼロのセンチメントを返し、「何も見つかりませんでした」と読まれるのを許さないでください — この診断が行われる前に、2回の事前調査ランで206のエージェントがRedditデータを生成せずに消費されました。

以下の代替手段は動作確認済みで、「実践者がXについて何と言っているか」に対する正直なフォールバックです。ただし、ソースがRedditではないことを明記してください。

  • Hacker News (最良の代替): https://hn.algolia.com/api/v1/search?query=<terms>&tags=story (または &tags=comment)、次に https://hn.algolia.com/api/v1/items/<objectID> で完全なコメントツリーを取得。すべての引用にそのコメントIDを含め、再取得して文字列が存在することを確認します。
  • Lobsters: https://lobste.rs/search?q=<terms>&what=stories&order=relevance
  • Stack Exchange: https://api.stackexchange.com/2.3/search/advanced?order=desc&sort=votes&q=<terms>&site=stackoverflow

動作しないメソッド — 決して試行しないこと

メソッド理由結果
curl / WebFetch to reddit.com (任意のパス、.json含む)ハーネスレベルのブロック。ブラウザのUser-Agentでも回避不可403
site:reddit.com または allowed_domains:["reddit.com"] を使用した WebSearchドメインが許可されていない400 domains not accessible
curl 経由の Reddit RSS (.rss)特異的にブロック403
トークンなしの oauth.reddit.comHTMLにリダイレクト301 → HTML
redlib / safereddit / libreddit ミラーAnubis プルーフオブワークインタースティシャル、JSが必要チャレンジページ、投稿0件
api.pullpush.io (Pushshiftの後継)ダウン502
old.reddit.com の前面にある r.jina.ai プロキシプロキシは200を返すが、Reddit自身の403をラップ403ボディ

これらの再発見にランを浪費しないでください。Arctic Shift が答えられなければ、ここにあるものは何も答えられません。


API リファレンス

エンドポイント、レスポンスフィールド、および両方のソースの注意点: references/api.md。呼び出しを構築する前に読んでください。エンドポイントを記憶から再構築しないでください。

エンゲージメントメトリクス

4つのメトリクス (Arctic Shiftデータから計算)

メトリクス計算式測定内容
コメント/アップ vote 比 (cmtRatio)avgCmts / avgScore議論の深さ
アップ vote 比upvote_ratio フィールド (0-1)コミュニティの承認
投稿あたりの平均コメント数sum(num_comments) / countアクティビティレベル
投稿あたりの平均スコアsum(score) / countリーチ/可視性

計算

const posts = data.data.filter(p => !p.hide_score && p.score > 1);
const avgScore = posts.reduce((s, p) => s + p.score, 0) / posts.length;
const avgCmts = posts.reduce((s, p) => s + p.num_comments, 0) / posts.length;
const cmtRatio = avgCmts / avgScore;
const avgUpvoteRatio = posts.reduce((s, p) => s + p.upvote_ratio, 0) / posts.length;

議論の深さのティア

ティアしきい値意味
S>= 0.70非常に会話的
A>= 0.25活発な議論
B>= 0.10 または avg cmts >= 10中程度、関与する価値あり
C0.05-0.10主に受動的 / リーチサブ
D< 0.05低エンゲージメント
Eavg cmts < 1死んでいるか、厳格にゲートされている

トーン評価

すでに取得した投稿データから評価します(追加の呼び出しは不要):

  1. link_flair_text の値 — テーマデー、カテゴリ、明示的な指標
  2. タイトルのパターン — 言語スタイル、規範
  3. トップスコア投稿の selftext — 文化シグナル
  4. スコア分布 — コミュニティが実際に報酬を与えるもの

取得した投稿をクライアントサイドでスコア順にソートします。上位10〜20件がコミュニティの価値観を明らかにします。


標準ワークフロー

繰り返し発生するリクエストごとに最小限の呼び出しレシピ — サブレディットの調査、ユーザーの調査、スレッドの検索、サブの発見、一括チェック、削除された投稿の復旧、シャドウバンの検出: references/workflows.md。

決定フローチャート

Redditデータが必要ですか?
|
+-- 履歴投稿、コメント、メトリクス、ユーザーアクティビティ、ルール、削除コンテンツ?
|     --> Arctic Shift。これがこのスキルが実際に答えられるすべての質問です。
|
+-- ライブランキング、現在の購読者数、またはログインユーザー限定のビュー?
|     --> 利用不可。reddit.com は curl と WebFetch に対して403、WebSearch は
|         ドメインを拒否、Playwright は通常ダウンしている MCP サーバーが必要。
|         成果物にその旨を明記してください。Web検索を静かに代替しないでください。
|
+-- シャドウバンチェック?
|     --> 同じ理由で利用不可(/user/NAME/about.json が必要でした)。
|
+-- 「実践者がXについて何と言っているか」、Redditが手段に過ぎなかった場合?
|     --> HN Algolia / Lobsters / Stack Exchange、Redditではないとラベル付け。
|
+-- 投稿、コメント、DM、モデレーターメール?
      --> リサーチツールでは不可能。Redditの公式インターフェースを使用してください。

正直なギャップルール: このスキルが答えられない質問は、その理由とともに回答不可能として報告されます。ゼロのRedditデータを返し、理由を述べないランは「何も見つかりませんでした」と読まれますが、それは異なる誤った主張です。


スコープの境界

  • このスキルは読み取り専用のリサーチです。投稿、コメント、書き込み操作は行いません。
  • タスクに投稿やアカウント操作が必要な場合は、Redditのインターフェースまたは認証されたクライアントを通じて行う必要があることをユーザーに伝えてください。

関連スキル