agentleFS
rdoyle99rdoyle99/reddit-marketing-skills/skills/subreddit-research/SKILL.md

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.

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
  1. Very specific:

    Read .agents/reddit-marketing.md if it exists (the reddit-context skill writes it).

    line 18
  2. Distinctive:

    Read the numbers this way:

    line 52
  3. Very specific:

    Use references/scoring-rubric.md.

    line 69
  4. Distinctive:

    Keep no more than 3 subreddits from a single category (the tool returns one, e.g.

    line 90
  5. Distinctive:

    Put at least one small niche subreddit (a few thousand to ~100k members) in the list when fit is high.

    line 92
  6. Very specific:

    Add a table to the Subreddits section of .agents/reddit-marketing.md using references/shortlist-template.md.

    line 98
  7. Distinctive:

    Every number carries "(CommunityMentions data, YYYY-MM-DD)".

    line 99
  8. Distinctive:

    Keep the chat summary to the top 3 picks and what needs a human.

    line 121
  9. Very specific:

    Every candidate has a dated number from get_subreddit, or the words "under 50" or "not in the data".

    line 124
  10. Distinctive:

    No row treats "under 50" as zero.

    line 125
  11. Distinctive:

    subreddit-rules: run on every top candidate for the promotion verdict and account gates.

    line 144

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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:

  1. The product in one plain line, with price.
  2. Who buys it and the problem in their words.
  3. 3-5 questions the buyer would type into ChatGPT, Perplexity or Gemini.
  4. 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_citations counts how many times AI answers linked to threads in this subreddit.
  • ai_answers_citing counts the distinct answers that did it. It is the cleaner measure of reach: one answer can cite many threads.
  • rank_by_ai_citations places it among the subreddits cited 50+ times.
  • citations_by_engine says which assistant cites it. If your buyer uses Perplexity, a subreddit cited mostly by Gemini matters less.
  • citing_answers_by_question_type splits 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_placed counts 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:

FactorQuestionSource
Buyer fitDo your buyers ask for your kind of product here?Threads, step 1 overlap
AI-citation pullDo AI answers cite its threads for your buyer's questions?get_subreddit
Promotion toleranceCan you mention a product, and under what conditions?subreddit-rules
ActivityDo new threads get replies this week?Hand check, see rubric
SizeIs 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-rules records 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

  1. The shortlist table (written into the file) with rank, reason, score, dated numbers and rules verdict.
  2. A "listen only" list and a "dropped" list, each with a reason.
  3. A "could not get" list: nulls, "under 50" rows, rules still unread, hand checks still open.
  4. 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_citations without 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_subreddits response 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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.