reddit-insights
Reddit上の膨大な議論から、人々の不満や意見、ビジネスアイデアの検証、ニッチな発見、感情分析などを行い、市場調査や商品開発に役立つ情報を効率的に見つけ出すSkill。
📜 元の英語説明(参考)
Semantic search across Reddit to find pain points, validate ideas, discover niches, and analyze sentiment. Use when a user asks to research Reddit, find Reddit discussions about a topic, analyze Reddit sentiment, discover what people complain about on Reddit, validate a business idea on Reddit, find pain points in a subreddit, or mine Reddit for product insights.
🇯🇵 日本人クリエイター向け解説
Reddit上の膨大な議論から、人々の不満や意見、ビジネスアイデアの検証、ニッチな発見、感情分析などを行い、市場調査や商品開発に役立つ情報を効率的に見つけ出すSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o reddit-insights.zip https://jpskill.com/download/15329.zip && unzip -o reddit-insights.zip && rm reddit-insights.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/15329.zip -OutFile "$d\reddit-insights.zip"; Expand-Archive "$d\reddit-insights.zip" -DestinationPath $d -Force; ri "$d\reddit-insights.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
reddit-insights.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
reddit-insightsフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Reddit Insights
概要
Reddit全体でセマンティックな調査を行い、実用的な洞察を抽出します。議論を検索し、感情のパターンを分析し、繰り返される問題点を特定し、製品のアイデアを検証し、ニッチな機会を発見します。Redditの公開JSON APIを使用して、認証を必要とせずに投稿やコメントにアクセスします。
手順
ユーザーからRedditで洞察を得るための調査を依頼された場合は、次の手順に従ってください。
ステップ 1: 調査範囲を定義する
ユーザーに以下を確認します。
- Topic/query: 調査する主題、製品、またはアイデア
- Subreddits (オプション): 焦点を当てる特定のsubreddit、または広範な検索
- Time range: 最近(週/月)または過去(年/すべて)
- Research goal: 問題点、感情、アイデアの検証、競合分析、またはトレンドの発見
- Output format: サマリーレポート、生データ、または構造化された分析
ステップ 2: 公開JSON API経由でRedditデータを取得する
認証なしでRedditの公開JSONエンドポイントにアクセスします。
import requests
import time
HEADERS = {"User-Agent": "research-bot/1.2.0"}
def search_reddit(query, subreddit=None, sort="relevance", time_filter="year", limit=100):
"""Search Reddit posts via public JSON API."""
if subreddit:
url = f"https://www.reddit.com/r/{subreddit}/search.json"
params = {"q": query, "sort": sort, "t": time_filter,
"limit": min(limit, 100), "restrict_sr": "on"}
else:
url = "https://www.reddit.com/search.json"
params = {"q": query, "sort": sort, "t": time_filter,
"limit": min(limit, 100)}
response = requests.get(url, headers=HEADERS, params=params, timeout=30)
response.raise_for_status()
time.sleep(1) # Rate limiting
data = response.json()
posts = []
for child in data["data"]["children"]:
post = child["data"]
posts.append({
"title": post["title"],
"selftext": post.get("selftext", ""),
"subreddit": post["subreddit"],
"score": post["score"],
"num_comments": post["num_comments"],
"url": f"https://reddit.com{post['permalink']}",
"created_utc": post["created_utc"],
})
return posts
def get_post_comments(permalink, limit=200):
"""Fetch comments for a specific post."""
url = f"https://www.reddit.com{permalink}.json"
params = {"limit": limit, "sort": "top"}
response = requests.get(url, headers=HEADERS, params=params, timeout=30)
response.raise_for_status()
time.sleep(1)
comments = []
data = response.json()
if len(data) > 1:
for child in data[1]["data"]["children"]:
if child["kind"] == "t1":
c = child["data"]
comments.append({
"body": c["body"],
"score": c["score"],
"author": c.get("author", "[deleted]"),
})
return comments
ステップ 3: コンテンツを分析する
収集された投稿とコメントを処理して、洞察を抽出します。
問題点の抽出:
- "I wish"、"frustrated with"、"hate that"、"switched from"、"biggest problem"のようなフレーズを検索します
- 繰り返される不満をテーマ別にグループ化します
- 各問題点の頻度と賛成票の重みをカウントします
感情分析:
- 投稿/コメントを肯定、否定、中立、または混合として分類します
- 時間経過に伴う感情の傾向を追跡します
- 二極化するトピックを特定します
アイデアの検証:
- 同様のソリューションに関する既存の議論を見つけます
- "someone should build"または"is there a tool that"の投稿を探します
- 需要の兆候を評価します: 賛成票、コメントのエンゲージメント、質問の頻度
競合分析:
- 競合製品名を検索します
- 賞賛と批判のパターンを分析します
- ユーザーが言及する機能のギャップを特定します
ステップ 4: 調査レポートをまとめる
出力を実用的なレポートとして構成します。
# Reddit Research Report: [Topic]
## Research Parameters
- Query: [search terms used]
- Subreddits: [list of subreddits searched]
- Time range: [period]
- Posts analyzed: [count]
- Comments analyzed: [count]
## Key Findings
### Top Pain Points
1. **[Pain point 1]** (mentioned 23 times, avg score: 45)
- Example: "[quoted user comment]"
- Subreddits: r/subreddit1, r/subreddit2
2. **[Pain point 2]** (mentioned 18 times, avg score: 32)
- Example: "[quoted user comment]"
### Sentiment Overview
- Positive: 35% | Neutral: 40% | Negative: 25%
- Most positive aspect: [topic]
- Most negative aspect: [topic]
### Opportunity Signals
- [Unmet need identified from discussions]
- [Feature request pattern observed]
- [Gap in existing solutions mentioned]
### Notable Discussions
1. [Post title](url) - [X] upvotes, [Y] comments
Summary: [brief takeaway]
## Recommendations
- [Actionable recommendation 1]
- [Actionable recommendation 2]
- [Actionable recommendation 3]
ステップ 5: レポートを保存する
cat > reddit_research_[topic].md << 'EOF'
[compiled report]
EOF
例
例 1: SaaSのアイデアを検証する
User request: 「Redditを調査して、中小規模のエージェンシー向けのより優れたプロジェクト管理ツールが必要かどうかを確認してください。」
Research approach:
- 検索クエリ: "project management agency"、"PM tool freelancer"、"manage client projects"
- ターゲットsubreddit: r/agency、r/freelance、r/smallbusiness、r/projectmanagement
- 探すもの: 既存のツールに関する不満、機能の要望リスト、"what do you use"のスレッド
- 分析: 不満の頻度、否定的に言及されているツール、満たされていないニーズ
Key findings format:
Pain Points Found:
1. "Asana/Monday are too complex for a 5-person team" (seen 15 times)
2. "No good tool combines project tracking with client invoicing" (seen 9 times)
3. "Switching between 4 tools to manage one project" (seen 12 times)
Validation Signal: MODERATE-STRONG
- Clear demand exists, but space is crowded
- Differentiation opportunity: simplicity + invoicing integration
例 2: 製品の発売に関する感情を分析する
(原文はここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Reddit Insights
Overview
Perform semantic research across Reddit to extract actionable insights. Search for discussions, analyze sentiment patterns, identify recurring pain points, validate product ideas, and discover niche opportunities. Uses Reddit's public JSON API to access posts and comments without requiring authentication.
Instructions
When a user asks you to research Reddit for insights, follow these steps:
Step 1: Define the research scope
Clarify with the user:
- Topic/query: What subject, product, or idea to research
- Subreddits (optional): Specific subreddits to focus on, or search broadly
- Time range: Recent (week/month) or historical (year/all)
- Research goal: Pain points, sentiment, idea validation, competitor analysis, or trend discovery
- Output format: Summary report, raw data, or structured analysis
Step 2: Fetch Reddit data via public JSON API
Access Reddit's public JSON endpoints without authentication:
import requests
import time
HEADERS = {"User-Agent": "research-bot/1.2.0"}
def search_reddit(query, subreddit=None, sort="relevance", time_filter="year", limit=100):
"""Search Reddit posts via public JSON API."""
if subreddit:
url = f"https://www.reddit.com/r/{subreddit}/search.json"
params = {"q": query, "sort": sort, "t": time_filter,
"limit": min(limit, 100), "restrict_sr": "on"}
else:
url = "https://www.reddit.com/search.json"
params = {"q": query, "sort": sort, "t": time_filter,
"limit": min(limit, 100)}
response = requests.get(url, headers=HEADERS, params=params, timeout=30)
response.raise_for_status()
time.sleep(1) # Rate limiting
data = response.json()
posts = []
for child in data["data"]["children"]:
post = child["data"]
posts.append({
"title": post["title"],
"selftext": post.get("selftext", ""),
"subreddit": post["subreddit"],
"score": post["score"],
"num_comments": post["num_comments"],
"url": f"https://reddit.com{post['permalink']}",
"created_utc": post["created_utc"],
})
return posts
def get_post_comments(permalink, limit=200):
"""Fetch comments for a specific post."""
url = f"https://www.reddit.com{permalink}.json"
params = {"limit": limit, "sort": "top"}
response = requests.get(url, headers=HEADERS, params=params, timeout=30)
response.raise_for_status()
time.sleep(1)
comments = []
data = response.json()
if len(data) > 1:
for child in data[1]["data"]["children"]:
if child["kind"] == "t1":
c = child["data"]
comments.append({
"body": c["body"],
"score": c["score"],
"author": c.get("author", "[deleted]"),
})
return comments
Step 3: Analyze the content
Process the collected posts and comments to extract insights:
Pain point extraction:
- Search for phrases like "I wish", "frustrated with", "hate that", "switched from", "biggest problem"
- Group recurring complaints by theme
- Count frequency and upvote weight of each pain point
Sentiment analysis:
- Categorize posts/comments as positive, negative, neutral, or mixed
- Track sentiment trends over time
- Identify polarizing topics
Idea validation:
- Find existing discussions about similar solutions
- Look for "someone should build" or "is there a tool that" posts
- Assess demand signals: upvotes, comment engagement, frequency of asks
Competitive analysis:
- Search for competitor product names
- Analyze praise and criticism patterns
- Identify feature gaps users mention
Step 4: Compile the research report
Structure the output as an actionable report:
# Reddit Research Report: [Topic]
## Research Parameters
- Query: [search terms used]
- Subreddits: [list of subreddits searched]
- Time range: [period]
- Posts analyzed: [count]
- Comments analyzed: [count]
## Key Findings
### Top Pain Points
1. **[Pain point 1]** (mentioned 23 times, avg score: 45)
- Example: "[quoted user comment]"
- Subreddits: r/subreddit1, r/subreddit2
2. **[Pain point 2]** (mentioned 18 times, avg score: 32)
- Example: "[quoted user comment]"
### Sentiment Overview
- Positive: 35% | Neutral: 40% | Negative: 25%
- Most positive aspect: [topic]
- Most negative aspect: [topic]
### Opportunity Signals
- [Unmet need identified from discussions]
- [Feature request pattern observed]
- [Gap in existing solutions mentioned]
### Notable Discussions
1. [Post title](url) - [X] upvotes, [Y] comments
Summary: [brief takeaway]
## Recommendations
- [Actionable recommendation 1]
- [Actionable recommendation 2]
- [Actionable recommendation 3]
Step 5: Save the report
cat > reddit_research_[topic].md << 'EOF'
[compiled report]
EOF
Examples
Example 1: Validate a SaaS idea
User request: "Research Reddit to see if people need a better project management tool for small agencies."
Research approach:
- Search queries: "project management agency", "PM tool freelancer", "manage client projects"
- Target subreddits: r/agency, r/freelance, r/smallbusiness, r/projectmanagement
- Look for: complaints about existing tools, feature wish lists, "what do you use" threads
- Analyze: frequency of complaints, which tools are mentioned negatively, unmet needs
Key findings format:
Pain Points Found:
1. "Asana/Monday are too complex for a 5-person team" (seen 15 times)
2. "No good tool combines project tracking with client invoicing" (seen 9 times)
3. "Switching between 4 tools to manage one project" (seen 12 times)
Validation Signal: MODERATE-STRONG
- Clear demand exists, but space is crowded
- Differentiation opportunity: simplicity + invoicing integration
Example 2: Analyze sentiment around a product launch
User request: "What is Reddit saying about the new Arc browser?"
Research approach:
- Search for "Arc browser" across all subreddits
- Fetch top 50 posts and their comments from the past 3 months
- Categorize sentiment per feature area (UI, speed, extensions, sync)
- Identify most loved and most criticized features
Example 3: Discover underserved niches
User request: "Find underserved developer tool niches by mining Reddit complaints."
Research approach:
- Search r/programming, r/webdev, r/devops for frustration keywords
- Queries: "annoying that", "wish there was", "no good tool for", "why is there no"
- Group complaints by category (testing, deployment, documentation, etc.)
- Rank by frequency and engagement
- Cross-reference with existing tools to identify true gaps
Guidelines
- Always add a 1-second delay between API requests to respect Reddit's rate limits.
- Set a descriptive User-Agent header. Reddit blocks requests without one.
- Reddit's public JSON API has a 100-post limit per request. Use pagination with the
afterparameter for larger datasets. - Do not scrape user profiles or collect personally identifiable information.
- Present findings with context: a single upvoted complaint does not equal a validated market need. Look for patterns across multiple discussions.
- Always include source links so the user can verify findings and read full context.
- Distinguish between vocal minorities and genuine widespread sentiment. A post with 500 upvotes carries more weight than one with 3.
- Note the subreddit context: complaints in r/technology have different implications than those in r/startups.
- For idea validation, look for both demand signals (people wanting a solution) and supply signals (existing tools already addressing the need).
- Save all raw data alongside the analysis so the user can explore further.
- If the public API is rate-limited or returns errors, suggest the user try again after a brief wait.