subreddit-research
Skill0 starsChanged 18 days agoMITView on GitHub
When the user wants to find, rank, or choose the subreddits where their product should show up: fit to the buyer, audience size, how often AI answers cite the subreddit, how much self-promotion it tolerates, and how active it is. Also use when the user mentions 'which subreddits should we post in,' 'find subreddits for my product,' 'best subreddits for SaaS,' 'rank these subreddits,' 'is r/X worth it,' 'where do my customers hang out on reddit,' or 'subreddit shortlist.' Calls the CommunityMentions MCP (find_subreddits, then get_subreddit) and writes a ranked shortlist into .agents/reddit-marketing.md. For reading a chosen subreddit's rules, see subreddit-rules. For the threads inside it that AI answers cite, see ai-cited-threads.
In this repository9 other files it gives its agents.
- ai-cited-threadsSkill
- reddit-account-healthSkill
- reddit-adsSkill
- reddit-ai-searchSkill
- reddit-commentsSkill
- reddit-contextSkill
- reddit-listeningSkill
- reddit-postsSkill
- subreddit-rulesSkill
The file
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 7 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 18
Read .agents/reddit-marketing.md if it exists (the reddit-context skill writes it).
- Distinctive: line 52
Read the numbers this way:
- Very specific: line 69
Use references/scoring-rubric.md.
- Distinctive: line 90
Keep no more than 3 subreddits from a single category (the tool returns one, e.g.
- Distinctive: line 92
Put at least one small niche subreddit (a few thousand to ~100k members) in the list when fit is high.
- Very specific: line 98
Add a table to the Subreddits section of .agents/reddit-marketing.md using references/shortlist-template.md.
- Distinctive: line 99
Every number carries "(CommunityMentions data, YYYY-MM-DD)".
- Distinctive: line 121
Keep the chat summary to the top 3 picks and what needs a human.
- Very specific: line 124
Every candidate has a dated number from get_subreddit, or the words "under 50" or "not in the data".
- Distinctive: line 125
No row treats "under 50" as zero.
- Distinctive: line 144
subreddit-rules: run on every top candidate for the promotion verdict and account gates.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Subreddit Research
You turn "where should we be on Reddit?" into a ranked shortlist of 5-12 subreddits, each with a reason, a dated
number, and a note on what the subreddit allows. The shortlist goes into .agents/reddit-marketing.md.
Two things decide whether a subreddit is worth a person's weekly time: the right buyers are in it, and its threads get read, by people and by AI assistants. This skill checks both, then checks the rules before anything gets written.
Before you start
Read .agents/reddit-marketing.md if it exists (the reddit-context skill writes it). Take the product line, the
buyer, the buyer's questions for AI assistants, and the competitors from it. Ask only for what it doesn't cover. If the
file doesn't exist, run reddit-context first, or collect these four things in the chat:
- The product in one plain line, with price.
- Who buys it and the problem in their words.
- 3-5 questions the buyer would type into ChatGPT, Perplexity or Gemini.
- 3-8 competitor names.
Also ask once: which Reddit account(s) will post, and are they new? New accounts change the ranking (see Step 6).
Workflow
1. Write 3-5 search descriptions
find_subreddits takes a short description (2-120 characters) of a product or niche. Write one for each angle, not
one for the whole business:
- The product category ("invoicing app for freelance designers").
- The buyer's job or role ("freelance graphic designer").
- The problem ("clients pay late").
- A competitor's category, if different.
See references/discovery-methods.md for angles that find communities the tool can't (small, new, or niche).
2. Call find_subreddits for each description
Endpoint: https://communitymentions.com/api/mcp (no sign-in). Up to 10 matches come back, closest first. Merge
the lists and drop duplicates. Keep any subreddit that shows up for two or more descriptions; that overlap is a fit
signal. Read references/data-fields.md for what every field means before you interpret a number.
3. Call get_subreddit for every candidate
For each merged candidate (cap it at 20), call get_subreddit with the name. Record ai_citations,
ai_answers_citing, rank_by_ai_citations, citations_by_engine, citing_answers_by_question_type,
verified_comments_placed, members, and the date window (cited_from to cited_to). Save the top 3 threads from
most_cited_threads with their URLs.
Read the numbers this way:
ai_citationscounts how many times AI answers linked to threads in this subreddit.ai_answers_citingcounts the distinct answers that did it. It is the cleaner measure of reach: one answer can cite many threads.rank_by_ai_citationsplaces it among the subreddits cited 50+ times.citations_by_enginesays which assistant cites it. If your buyer uses Perplexity, a subreddit cited mostly by Gemini matters less.citing_answers_by_question_typesplits answers into comparing products, looking to buy, and describing a problem. Weight "looking to buy" and "comparing products" higher for a product that sells now.verified_comments_placedcounts comments CommunityMentions has verified in the subreddit. High numbers mean others already work it. That is both proof that comments survive there and a sign of competition.
"Under 50 AI citations" means the number is unpublished, not zero. The data covers subreddits cited 50+ times or with 50+ verified comments placed, so an "under 50" row can still hold useful threads. Treat it as "unknown, check by hand", never as "no AI citations". A subreddit missing from the data entirely is "not in the data".
4. Score each candidate
Use references/scoring-rubric.md. Five factors, each 0-3, in this order of weight:
| Factor | Question | Source |
| Buyer fit | Do your buyers ask for your kind of product here? | Threads, step 1 overlap |
| AI-citation pull | Do AI answers cite its threads for your buyer's questions? | get_subreddit |
| Promotion tolerance | Can you mention a product, and under what conditions? | subreddit-rules |
| Activity | Do new threads get replies this week? | Hand check, see rubric |
| Size | Is the audience big enough, and not so big you vanish? | members |
Buyer fit is a gate. A 0 on fit removes the subreddit no matter what the other scores say.
5. Check the rules before you rank
Hand each top-12 candidate to subreddit-rules for a read of the sidebar, rules and wiki. Take back one of four
verdicts: open (product mentions allowed with disclosure), limited (only in set threads, flairs or ratios),
closed (no product mentions; answer questions without naming the product, or skip), unread (not checked
yet). A closed subreddit can still be worth reading for buyer language; mark it "listen only" and hand it to
reddit-listening.
6. Rank and cut
Total the scores. Sort. Cut to 5-12. Then sanity check:
- Keep no more than 3 subreddits from a single category (the tool returns one, e.g. "SaaS and startups") unless the product lives there.
- Put at least one small niche subreddit (a few thousand to ~100k members) in the list when fit is high. Niche communities often tolerate a helpful answer better than a giant one. Test that claim on your own results.
- New or low-karma accounts: move "open" and "limited" subreddits up, and check each one's minimum account age and
karma in its rules (
subreddit-rulesrecords them).
7. Write the shortlist
Add a table to the Subreddits section of .agents/reddit-marketing.md using references/shortlist-template.md.
Every number carries "(CommunityMentions data, YYYY-MM-DD)". Show the user the diff and the 3 reasons the top pick won.
8. Set a re-run date
Citation counts move. Note the date in the file and re-run the data steps (3 and 4) once a month, and the rules check
(subreddit-rules) before the first post in any subreddit and again every 90 days. Both intervals are a starting point; adjust them to what you see.
When the data says little
Some products sit in small corners of Reddit. If no_close_match is true, or every match is "under 50", do not
force a ranking. Say so, switch to references/discovery-methods.md, and score on hand checks. If the best candidates
are all closed to product mentions, say that too: the honest plan is to listen, answer questions without selling,
and look at reddit-ads. A short true list beats a padded one.
Worked examples
references/worked-examples.md holds two real runs from 2026-10-28: a SaaS tool and a freelancer tool, with the raw
numbers and what the agent decided.
Output you hand back
- The shortlist table (written into the file) with rank, reason, score, dated numbers and rules verdict.
- A "listen only" list and a "dropped" list, each with a reason.
- A "could not get" list: nulls, "under 50" rows, rules still unread, hand checks still open.
- The re-run date.
Keep the chat summary to the top 3 picks and what needs a human. The detail lives in the file.
Quality check
- Every candidate has a dated number from
get_subreddit, or the words "under 50" or "not in the data". - No row treats "under 50" as zero.
- The shortlist has 5-12 rows, each with a one-line reason a Redditor could check.
- Each row has a rules verdict from
subreddit-rules, even if it is "unread". - Fit was judged from real threads, not from the subreddit's name.
- The user can see which subreddits are "listen only".
What to avoid
- Ranking by member count. Big audiences bury posts, and member count says nothing about AI citations.
- Reading
ai_citationswithout its date window. A subreddit cited from February to October is not comparable to one cited over six weeks. - Treating the median in the
find_subredditsresponse as a target. It describes the data set on that date (96 citations, across 105 such subreddits, 2026-10-28), not what your product needs. - Joining subreddits only for the citation count when your buyer isn't there.
- Skipping the rules check because the subreddit looks friendly.
- Anything that fakes the evidence: extra accounts, bought or aged accounts, or coordinated voting. They break Reddit's rules and mods spot them.
Related Skills
- reddit-context: supplies the product, buyer and questions; receives the shortlist.
- subreddit-rules: run on every top candidate for the promotion verdict and account gates.
- ai-cited-threads: once a subreddit is chosen, finds the specific threads AI answers cite.
- reddit-ai-search: tests the buyer's questions across ChatGPT, Perplexity and Gemini to see which subreddits show up.
- reddit-listening: for "listen only" subreddits and for tracking buyer language.
- reddit-account-health: decides whether the posting account is ready for a given subreddit.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

