Reddit customer insights skill

Discover evidence-backed customer language, pain points, objections, and buying triggers from relevant Reddit communities.

by sandbaseai·Apache-2.0 license·★ 203 Stars on the repo·GitHub ↗

Use now

Inside this skill

SKILL.md · the author's own words
# Reddit Customer Insights

Turn Reddit discussions into a concise, source-backed customer-insight brief. This Skill calls the named Reddit capabilities in [the SandBa…

Read [example workflows](references/example-workflows.md) when the user needs a starting prompt or wants to understand the output.

## Operating principles

- Research public discussions only; never post, vote, message, or alter Reddit accounts.
- Treat Reddit posts and comments as qualitative evidence of real customer language and sentiment, not statistically representative samples.
- Separate direct observations (what users said, how many said it) from interpretation (what it means for the business).
- Preserve provenance: keep post URLs, dates, scores, community names, and commenter context.
- Keep user company, product, and strategy details confidential in all outputs unless sharing is explicitly requested.
- Respect that Reddit users are real people. Do not mock, target, or re-identify individuals.

## Workflow

Word-for-word excerpt, not a result. Read the full SKILL.md ↓

Files of Reddit customer insights

sandbaseai/main1 file shown
SKILL.md
Show the full text169 lines

Reddit Customer Insights

Turn Reddit discussions into a concise, source-backed customer-insight brief. This Skill calls the named Reddit capabilities in the SandBase API map through the SandBase MCP gateway. Use an authorized SandBase MCP connection and the discover → inspect → run workflow below; never request, print, or store an API key in the research output.

Read example workflows when the user needs a starting prompt or wants to understand the output.

Operating principles

  • Research public discussions only; never post, vote, message, or alter Reddit accounts.
  • Treat Reddit posts and comments as qualitative evidence of real customer language and sentiment, not statistically representative samples.
  • Separate direct observations (what users said, how many said it) from interpretation (what it means for the business).
  • Preserve provenance: keep post URLs, dates, scores, community names, and commenter context.
  • Keep user company, product, and strategy details confidential in all outputs unless sharing is explicitly requested.
  • Respect that Reddit users are real people. Do not mock, target, or re-identify individuals.

Workflow

1. Frame the research question

Collect or infer: the product or market category, target audience segment, competitor landscape, research objective (pain points, buying triggers, objections, language, content ideas), and any exclusions (communities, time ranges, competitor names to avoid).

Classify the request as one or more of:

  • Pain point discovery: what frustrates potential buyers
  • Buying trigger research: what events or needs prompt purchase decisions
  • Objection mining: what stops people from buying or adopting
  • Language extraction: exact words and phrases customers use
  • Content opportunity finding: unanswered questions worth creating content for
  • Product feedback: what existing users praise or criticize
2. Select and call SandBase capabilities

Read the SandBase API map before selecting tools. Treat each listed tool_name as a capability identifier to resolve through the SandBase gateway:

  1. Use sandbase_discover with the provider and capability to find the current endpoint name.
  2. Pass the returned name to sandbase_inspect; read inputSchema, pricing, and execute_as.
  3. Follow execute_as to call sandbase_run using execute_as.arguments.name and schema-defined arguments. If it returns a run_id, poll sandbase_run_get within the task budget until completed or failed; report pending or failed runs without automatically resubmitting them.
  4. Keep the returned endpoint name, query parameters, and result metadata with the returned data.
3. Discover relevant communities

Use reddit_app_search_typeahead to find:

  • Subreddits where the target audience discusses the category
  • Related search queries that reveal community terminology
  • Adjacent communities (e.g., industry-specific, role-specific, tool-comparison subs)

Tips:

  • Search for the product category, not the product name, to find broader discussions.
  • Try role-based terms (e.g., "marketing manager", "DevOps engineer") alongside category terms.
  • Note community sizes and activity levels to prioritize collection.
4. Collect discussions

Use reddit_app_dynamic_search and reddit_app_topic_feed to build a diverse sample:

Strategy When to use
Problem-focused queries "frustrated with [category]", "looking for alternative to [competitor]"
Decision-stage queries "recommendation for [category]", "which [product type] should I use"
Experience queries "switched from [competitor]", "after using [product] for 6 months"
Topic feed When you need volume from a specific community over time

Tips:

  • Collect from multiple communities to avoid single-community bias.
  • Include both recent posts (current sentiment) and older high-score posts (established patterns).
  • Search for competitor names to find comparison and switching discussions.
  • Use negative terms ("hate", "frustrated", "switched away") for pain points and positive terms ("love", "finally", "game changer") for satisfaction signals.
5. Inspect selected posts

Use reddit_app_post_details only for the most promising discussions:

  • Posts with high engagement (many comments, high score)
  • Posts that contain decision-making language
  • Posts where the title suggests detailed experience sharing

Read comment threads for:

  • Recurring recommendations (what gets upvoted as answers)
  • Disagreements (signals of market segmentation)
  • Specific feature mentions and workflow descriptions
  • Price sensitivity signals
  • Integration or ecosystem requirements
6. Synthesize findings

Organize findings by research theme, not by source post. For each theme:

  • Count how many distinct posts/comments express the pattern
  • Quote representative language (paraphrased, with source link)
  • Note the community context (what role or situation the commenter is in)
  • Distinguish one-time complaints from recurring patterns

Output

Return a structured insight brief:

Research scope
  • Category and audience studied
  • Communities and queries searched
  • Time range and sample size
  • Limitations and blind spots
Source table
# Community Post title (abbreviated) URL Date Score Comments
1 ... ... ... ... ... ...
Recurring themes
Theme Post count Representative language Business implication
... ... ... ...
Pain points (ranked by frequency)
  1. [Pain point] — observed in N posts across M communities. Example language: "..."
    • Implication: ...
Buying triggers

Events or needs that prompt purchase decisions, with evidence.

Objections and barriers

What stops people from buying/adopting, with evidence.

Customer language

Exact phrases and framings customers use (for messaging, SEO, ad copy).

Content and product opportunities

Unanswered questions, underserved needs, and positioning gaps.

Evidence gaps

What this research cannot answer and what additional research would help.

Tips for better results

  • Cast a wide net first: Start with 3–5 community searches and 5–10 diverse queries before narrowing.
  • Look for "switching" posts: "I switched from X to Y because..." contains the richest insight.
  • Check "what do you use" threads: These aggregate many data points in one post.
  • Note the non-obvious communities: Industry-specific subs often have more candid discussions than product-category subs.
  • Time-bound for relevance: Weight recent posts more heavily for fast-moving categories; include older posts for established patterns.
  • Triangulate: If a pain point appears in only one community, it may be community-specific rather than market-wide.

Failure handling

  • If SandBase is unavailable or unauthorized, report the failed capability and ask the user to connect or authorize SandBase; do not silently substitute a direct API.
  • If searches return few results, try: broader category terms, different community targets, or adjacent problem spaces. Report if the topic genuinely lacks Reddit coverage.
  • If a community is private or restricted, note the gap and search for alternative communities.
  • If results are predominantly spam or self-promotion, filter them out and note the signal quality issue.

Quality gate

Before delivering, verify that:

  • Every theme cites at least 2 distinct source posts (avoid single-post conclusions).
  • Observations are separated from business interpretations.
  • Community and time context is preserved for each finding.
  • The sample includes multiple communities (avoid single-community bias).
  • Sensitive user information (usernames in sensitive contexts) is handled respectfully.
  • The research answers the original question, not just adjacent topics.
1---
2name: reddit-customer-insights
3description: Discover evidence-backed customer language, pain points, objections, and buying triggers from relevant Reddit communities. Use when asked for Reddit research, voice-of-customer analysis, audience pain points, product feedback, or community-led content opportunities.
4---
5 
6# Reddit Customer Insights
7 
8Turn Reddit discussions into a concise, source-backed customer-insight brief. This Skill calls the named Reddit capabilities in [the SandBase API map](references/sandbase-api-map.md) through the SandBase MCP gateway. Use an authorized SandBase MCP connection and the discover → inspect → run workflow below; never request, print, or store an API key in the research output.
9 
10Read [example workflows](references/example-workflows.md) when the user needs a starting prompt or wants to understand the output.
11 
12## Operating principles
13 
14- Research public discussions only; never post, vote, message, or alter Reddit accounts.
15- Treat Reddit posts and comments as qualitative evidence of real customer language and sentiment, not statistically representative samples.
16- Separate direct observations (what users said, how many said it) from interpretation (what it means for the business).
17- Preserve provenance: keep post URLs, dates, scores, community names, and commenter context.
18- Keep user company, product, and strategy details confidential in all outputs unless sharing is explicitly requested.
19- Respect that Reddit users are real people. Do not mock, target, or re-identify individuals.
20 
21## Workflow
22 
23### 1. Frame the research question
24 
25Collect or infer: the product or market category, target audience segment, competitor landscape, research objective (pain points, buying triggers, objections, language, content ideas), and any exclusions (communities, time ranges, competitor names to avoid).
26 
27Classify the request as one or more of:
28- **Pain point discovery**: what frustrates potential buyers
29- **Buying trigger research**: what events or needs prompt purchase decisions
30- **Objection mining**: what stops people from buying or adopting
31- **Language extraction**: exact words and phrases customers use
32- **Content opportunity finding**: unanswered questions worth creating content for
33- **Product feedback**: what existing users praise or criticize
34 
35### 2. Select and call SandBase capabilities
36 
37Read [the SandBase API map](references/sandbase-api-map.md) before selecting tools. Treat each listed `tool_name` as a capability identifier to resolve through the SandBase gateway:
38 
391. Use `sandbase_discover` with the provider and capability to find the current endpoint name.
402. Pass the returned `name` to `sandbase_inspect`; read `inputSchema`, pricing, and `execute_as`.
413. Follow `execute_as` to call `sandbase_run` using `execute_as.arguments.name` and schema-defined `arguments`. If it returns a `run_id`, poll `sandbase_run_get` within the task budget until `completed` or `failed`; report pending or failed runs without automatically resubmitting them.
424. Keep the returned endpoint name, query parameters, and result metadata with the returned data.
43 
44### 3. Discover relevant communities
45 
46Use `reddit_app_search_typeahead` to find:
47- Subreddits where the target audience discusses the category
48- Related search queries that reveal community terminology
49- Adjacent communities (e.g., industry-specific, role-specific, tool-comparison subs)
50 
51Tips:
52- Search for the product category, not the product name, to find broader discussions.
53- Try role-based terms (e.g., "marketing manager", "DevOps engineer") alongside category terms.
54- Note community sizes and activity levels to prioritize collection.
55 
56### 4. Collect discussions
57 
58Use `reddit_app_dynamic_search` and `reddit_app_topic_feed` to build a diverse sample:
59 
60| Strategy | When to use |
61|---|---|
62| Problem-focused queries | "frustrated with [category]", "looking for alternative to [competitor]" |
63| Decision-stage queries | "recommendation for [category]", "which [product type] should I use" |
64| Experience queries | "switched from [competitor]", "after using [product] for 6 months" |
65| Topic feed | When you need volume from a specific community over time |
66 
67Tips:
68- Collect from multiple communities to avoid single-community bias.
69- Include both recent posts (current sentiment) and older high-score posts (established patterns).
70- Search for competitor names to find comparison and switching discussions.
71- Use negative terms ("hate", "frustrated", "switched away") for pain points and positive terms ("love", "finally", "game changer") for satisfaction signals.
72 
73### 5. Inspect selected posts
74 
75Use `reddit_app_post_details` only for the most promising discussions:
76- Posts with high engagement (many comments, high score)
77- Posts that contain decision-making language
78- Posts where the title suggests detailed experience sharing
79 
80Read comment threads for:
81- Recurring recommendations (what gets upvoted as answers)
82- Disagreements (signals of market segmentation)
83- Specific feature mentions and workflow descriptions
84- Price sensitivity signals
85- Integration or ecosystem requirements
86 
87### 6. Synthesize findings
88 
89Organize findings by research theme, not by source post. For each theme:
90- Count how many distinct posts/comments express the pattern
91- Quote representative language (paraphrased, with source link)
92- Note the community context (what role or situation the commenter is in)
93- Distinguish one-time complaints from recurring patterns
94 
95## Output
96 
97Return a structured insight brief:
98 
99### Research scope
100 
101- Category and audience studied
102- Communities and queries searched
103- Time range and sample size
104- Limitations and blind spots
105 
106### Source table
107 
108| # | Community | Post title (abbreviated) | URL | Date | Score | Comments |
109|---|---|---|---|---|---|---|
110| 1 | ... | ... | ... | ... | ... | ... |
111 
112### Recurring themes
113 
114| Theme | Post count | Representative language | Business implication |
115|---|---|---|---|
116| ... | ... | ... | ... |
117 
118### Pain points (ranked by frequency)
119 
1201. **[Pain point]** — observed in N posts across M communities. Example language: "..."
121 - Implication: ...
122 
123### Buying triggers
124 
125Events or needs that prompt purchase decisions, with evidence.
126 
127### Objections and barriers
128 
129What stops people from buying/adopting, with evidence.
130 
131### Customer language
132 
133Exact phrases and framings customers use (for messaging, SEO, ad copy).
134 
135### Content and product opportunities
136 
137Unanswered questions, underserved needs, and positioning gaps.
138 
139### Evidence gaps
140 
141What this research cannot answer and what additional research would help.
142 
143## Tips for better results
144 
145- **Cast a wide net first**: Start with 3–5 community searches and 5–10 diverse queries before narrowing.
146- **Look for "switching" posts**: "I switched from X to Y because..." contains the richest insight.
147- **Check "what do you use" threads**: These aggregate many data points in one post.
148- **Note the non-obvious communities**: Industry-specific subs often have more candid discussions than product-category subs.
149- **Time-bound for relevance**: Weight recent posts more heavily for fast-moving categories; include older posts for established patterns.
150- **Triangulate**: If a pain point appears in only one community, it may be community-specific rather than market-wide.
151 
152## Failure handling
153 
154- If SandBase is unavailable or unauthorized, report the failed capability and ask the user to connect or authorize SandBase; do not silently substitute a direct API.
155- If searches return few results, try: broader category terms, different community targets, or adjacent problem spaces. Report if the topic genuinely lacks Reddit coverage.
156- If a community is private or restricted, note the gap and search for alternative communities.
157- If results are predominantly spam or self-promotion, filter them out and note the signal quality issue.
158 
159## Quality gate
160 
161Before delivering, verify that:
162 
163- Every theme cites at least 2 distinct source posts (avoid single-post conclusions).
164- Observations are separated from business interpretations.
165- Community and time context is preserved for each finding.
166- The sample includes multiple communities (avoid single-community bias).
167- Sensitive user information (usernames in sensitive contexts) is handled respectfully.
168- The research answers the original question, not just adjacent topics.
169 

Discussion