Skip to content
Marketing
Command

/reddit-add-sub

Discover and add fresh subreddits to your list based on a goal or angle you give. Researches new candidates (never duplicates what you already have), asks you follow-up questions, caches rules for posting subs, and appends to subreddits.md. Run /reddit-daily afterward to use

From plugin
175 skills5 agents5 commands
shell
$ npx -y skills add agamjn/rising --agent claude-code

Ships with rising. Installing the plugin gets this command.

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/reddit-add-sub

Context preview

What this command does when you run it.

Discover and add fresh subreddits to your list based on a goal or angle you give. Researches new candidates (never duplicates what you already have), asks you follow-up questions, caches rules for posting subs, and appends to subreddits.md. Run /reddit-daily afterward to use

Command definition

reddit-add-sub.md
description: Discover and add fresh subreddits to your list based on a goal or angle you give. Researches new candidates (never duplicates what you already have), asks you follow-up questions, caches rules for posting subs, and appends to subreddits.md. Run /reddit-daily afterward to use them.
argument-hint: <angle / goal / feedback, e.g. "find subs for AI music creators" or "my vibecoding subs are tapped out, find adjacent communities">

You help the user expand their subreddit list. The common trigger: their existing posting subs have gone stale (same 7-8 subs, running out of fresh angles), or they've discovered a new use case / audience segment and want subs that match it. Your job is to research NEW candidates from the angle they give, validate them, let them curate interactively, and append the approved ones.

Pre-flight check

Confirm the CWD is set up. Require `subreddits.md`, `product.md`, `goal.md`, and `.rising/config.json`. If any are missing, stop: "This folder isn't set up. Run `/reddit-setup` first."

Read `$ARGUMENTS` for the angle/goal/feedback. If empty, ask the user:

> "What angle, audience, or use case do you want new subreddits for? A few ways founders use this: > - a new use case you've discovered ('people using us for X') > - an audience segment ('indie game devs', 'AI music creators') > - a complaint about the current list ('my vibecoding subs are tapped out, find adjacent communities') > Give me the angle and i'll go research fresh subs."

Wait for their answer before continuing.

Step 1 — Load context and the existing list

Read `product.md` and `goal.md` for grounding. Read `subreddits.md` and extract the names of **every sub already listed** (both posting and non-posting sections). This is your exclude list, never propose a sub that's already there.

Internalize the user's angle from `$ARGUMENTS`. Everything you propose should serve that specific angle, not just the generic product.

Step 2 — Generate candidates

Two sources, combine them:

1. **Brainstorm** subs that fit the angle. Think about where this specific audience or use case actually hangs out, plus adjacent and competitor communities. 2. **Search Reddit** for subs you might not know. Derive 3-5 keywords from the angle and run these in parallel (single message, multiple Bash calls):

USERNAME=$(jq -r .reddit_username .rising/config.json)
UA="script:com.github.agamjn.rising:v0.1.0 (by /u/${USERNAME})"
curl -sS --fail-with-body -A "$UA" --connect-timeout 10 --max-time 30 \
  "https://www.reddit.com/subreddits/search.json?q=<keyword>&limit=25" \
  -o ".rising/cache/sub-search-<keyword>.json"

Pull candidate names from both sources. **Drop any already in `subreddits.md`.** Dedupe.

Step 3 — Validate candidates

For each unique candidate, fetch `about.json` in parallel (single message, multiple Bash calls):

curl -sS --fail-with-body -A "$UA" --connect-timeout 10 --max-time 30 \
  "https://www.reddit.com/r/<sub>/about.json" \
  -o ".rising/cache/<sub>-about.json"

From each, parse: `subscribers`, `over18`, `subreddit_type`, `public_description`, `submission_type`. Drop candidates that: 404 (don't exist), have `subscribers` < 1000, or are `private`/`restricted`. Flag `over18` subs so the user can decide.

Step 4 — Propose and ask follow-ups

Present the surviving candidates as a compact table:

Found N fresh subs for "<angle>":

| sub | subscribers | suggested | why it fits your angle |
|-----|-------------|-----------|------------------------|
| r/<sub> | 120k | posting | <one line tied to the angle> |
| r/<sub> | 45k | non-posting | <competitor / trend-signal / too strict to post> |
...

Default-categorize each: **posting** if the user could plausibly post conversational/soft-promo content there for this angle; **non-posting** if it's a competitor sub, very strict, or better as a listen-only signal. Lean toward posting subs since that's usually what the user is trying to refresh.

Then ask follow-up questions and **wait for the answer**:

> "Which of these do you want to add? (e.g. 'all', 'the first three', 'r/x and r/y') > And do you want to move any between posting and non-posting from what i suggested?"

Step 5 — Cache rules for approved posting subs

For each approved **posting** sub, fetch and cache its rules so the synthesizer can rule-check posts there:

curl -sS --fail-with-body -A "$UA" --connect-timeout 10 --max-time 30 \
  "https://www.reddit.com/r/<sub>/about/rules.json" \
  -o ".rising/cache/<sub>-rules.json"

Write the rules verbatim to `subreddits/<sub>/rules.md` (create the directory). Non-posting subs don't need cached rules.

Step 6 — Append to subreddits.md (never overwrite)

Append each approved sub under the correct existing section header in `subreddits.md` (`## Posting subs ...` or `## Non-posting subs ...`). Do NOT rewrite the file or touch existing entries, only insert new ones. Match the existing entry format:

For posting subs:

### r/<sub> — <subscribers> subscribers
**Why this sub:** <1-2 sentences tying it to the angle the user gave>
**Submission type:** <text/link/any>
**Strict rules to know:** <2-3 of the most consequential rules from the cached rules.md>

For non-posting subs:

### r/<sub> — <subscribers> subscribers
**Why this sub:** <reason — competitor activity? trend signal? adjacent audience?>

Step 7 — Confirm and point to the next step

Added to subreddits.md:
  posting:     r/<sub>, r/<sub>
  non-posting: r/<sub>

Run /reddit-daily to get fresh proposals that include these subs.

Quality bar

  • Never propose a sub already in `subreddits.md`. The whole point is fresh subs.
  • Every "why this sub" must tie to the specific angle the user gave, not the generic product. Generic justifications defeat the purpose.
  • Append only. Never overwrite `subreddits.md` or existing rules caches.
  • If validation leaves fewer than ~3 good candidates, say so honestly and suggest
Read more
Read it on GitHub ↗

Showing the first part of this file.

Ships withrising

A claude code plugin that turns claude into a personal Reddit content engine for founders, marketers, and devrel folks. Not by spamming product blurbs, but by researching what their target subs actually talk about and proposing posts that fit the community.

Get the whole plugin, auto-invoked
Stats
17
Stars
0
Views
0
Forks
Maintained
Maintenance
MIT
License
2mo ago
Last commit
2mo ago
Created

Repo: agamjn/rising