Solo Reddit
Published by fortunto2 in solo-factory
What this skill does
Use when "reddit comment", "engage reddit", "build karma", "post to reddit", or need to participate in Reddit threads. NOT for thread discovery (/community-outreach) or social copy (/content-gen).
Add Solo Reddit to your agent
Review the source and files first. When you are ready, copy the prompt instruction or use the CLI command supported by your environment.
Install with a prompt
Paste this into a compatible coding agent:
add this skill "solo-reddit" from https://github.com/fortunto2/solo-factoryInstall with the CLI
Run this command in a controlled environment after reviewing the repository:
npx skills add https://github.com/fortunto2/solo-factory --skill solo-redditSkill instructions
Reddit engagement automation — from finding relevant posts to writing authentic comments and tracking results. Comment-first strategy: build karma and reputation before any self-promotion.
Philosophy
- Value first, product never (in comments) — genuinely help, mention product only when directly asked
- Comment-first — 30+ comments before any self-promotional post
- Read before write — analyze post, existing comments, subreddit culture before drafting
- Track everything — karma growth, engagement rates, what works
Routing
| User says | Action |
|---|---|
/reddit setup <project> | Go to Setup section |
/reddit find [subreddit] | Go to Find Posts section |
/reddit comment [url] | Go to Comment section |
/reddit post <subreddit> | Go to Write Post section |
/reddit status | Go to Status section |
/reddit batch [subreddit] | Go to Batch Mode — find + comment x3 |
MCP Tools
Playwright (required for posting)
browser_navigate(url)— go to Reddit pagebrowser_snapshot()— read page structure (accessibility tree, NOT screenshots)browser_click(ref)— click elementsbrowser_type(ref, text)— type textbrowser_wait_for(state)— wait for page load
SoloGraph (optional, for search)
web_search(query)— search Reddit threadskb_search(query)— find project contextproject_info(name)— get project details
If MCP tools not available, use WebSearch/WebFetch as fallback.
Scripts (no MCP needed)
scripts/check-karma.sh <username>— check karma, account age, posting readinessscripts/search-posts.sh <subreddit> [query] [sort]— find posts via Reddit JSON APIscripts/check-post.sh <url>— read post content + top comments
Use scripts first (faster, no Playwright needed). Fall back to Playwright for posting.
Setup
First-time setup for a project. Creates profile and tracking files.
- Parse project from
$ARGUMENTSor ask user. - Read PRD/README to extract: problem, solution, ICP, key features, competitor names.
- Identify target subreddits — search for where ICP hangs out:
- Language/framework subs (r/rust, r/python, r/javascript)
- Domain subs (r/selfhosted, r/devops, r/ClaudeAI)
- General tech (r/programming, r/webdev)
- Research each subreddit:
- Read sidebar rules (via WebFetch or Playwright)
- Check self-promotion policy
- Note posting format, flairs, weekly threads
- Find top posts to understand culture
- Write profile to
docs/reddit/profile.md:
# Reddit Profile: {Project Name}
**Product:** {one-line}
**ICP:** {target persona}
**Value prop for Reddit:** {what genuine help can we offer}
## Target Subreddits
| Subreddit | Members | Self-promo | Culture | Best content type |
|-----------|---------|------------|---------|-------------------|
| r/xxx | NNNk | rules... | tone... | type... |
## Search Keywords
- Problem: {what users complain about}
- Solution: {what users search for}
- Competitors: {names for "vs" and "alternative" threads}
## Voice Guide
- Tone: {casual/technical/friendly}
- Never say: {banned phrases — "game-changer", "revolutionary", etc.}
- Always: {disclose affiliation, lead with value}
- Create tracking file
docs/reddit/tracking.md:
# Reddit Tracking
## Stats
- Account: {username}
- Starting karma: {N}
- Comments posted: 0
- Posts made: 0
## Activity Log
<!-- entries added by /reddit comment and /reddit post -->
Find Posts
Find posts worth commenting on in a subreddit.
- Load profile from
docs/reddit/profile.md. - Search for relevant threads:
- Via WebSearch:
"{keyword}" site:reddit.com/r/{subreddit}for each keyword group - Or via Playwright: navigate to
reddit.com/r/{subreddit}/new/andreddit.com/r/{subreddit}/rising/
- Via WebSearch:
- Filter posts:
- Less than 7 days old (prefer < 24h for visibility)
- 2-30 comments (active but not buried)
- Matches problem/solution/competitor keywords
- NOT already commented on (check tracking)
- Score and rank top 5 posts by:
- Relevance to our expertise (high)
- Comment count sweet spot (medium = best)
- Recency (newer = better)
- Can we genuinely help? (must be yes)
- Output ranked list with URLs, titles, why each is good.
Comment
Write and optionally post a comment on a specific Reddit post.
Step 1: Load Context
- Read
docs/reddit/profile.mdfor voice guide - Read
docs/reddit/tracking.mdto check we haven't commented on this post - Read
references/style-guide.mdfor comment patterns
Step 2: Deep Analysis
Navigate to the post URL (via Playwright or WebFetch):
- Read the full post — understand what OP actually asks
- Read existing comments — understand tone, what's been said, gaps
- Identify OP's intent: asking for help? sharing experience? seeking opinions?
- Decide angle: what unique value can we add that others haven't?
Step 3: Draft Comment
Write a comment following these rules:
- Match subreddit tone — casual for r/ClaudeAI, technical for r/rust
- Lead with value — first 2-3 sentences directly address OP's question
- Be specific — code snippets, numbers, concrete steps > vague advice
- 1-2 focused points — don't try to cover everything
- No product mention unless directly relevant AND we have 10+ comments in this sub
- If mentioning product: last paragraph, with "I work on X" disclosure
Step 4: Anti-Spam Review
Check the draft against references/spam-signals.md:
- No marketing language ("game-changer", "revolutionary", "10x")
- No link in first comment on a subreddit
- Not a copy of any previous comment
- Directly addresses OP's question (not tangential)
- Would be useful even if product didn't exist
- Reads like a human, not a press release
- No emoji overuse (0-1 max)
If any check fails: rewrite.
Step 5: Post (if Playwright available and user approves)
browser_navigate(post_url)browser_snapshot()— find comment inputbrowser_click(comment_box_ref)browser_type(comment_box_ref, comment_text)browser_click(submit_button_ref)browser_snapshot()— verify posted, get permalink
If Playwright not available: copy comment to clipboard via pbcopy.
Step 6: Track
Update docs/reddit/tracking.md:
### {YYYY-MM-DD HH:MM} r/{subreddit}
- **Post:** [{title}]({url})
- **Comment:** [{permalink}]({comment_url})
- **Angle:** {what value we provided}
- **Product mentioned:** yes/no
Write Post
Create a Reddit post for a specific subreddit.
-
Pre-flight checks:
- Do we have 10+ tracked comments in this subreddit? If no: STOP, comment more first.
- Check subreddit rules for post format, flairs, allowed content types.
- Check if showcase/self-promo threads exist (e.g., "Showoff Saturday").
-
Determine post type:
Type When to use Experience sharing We solved a hard problem — share the story Technical deep-dive Interesting approach worth discussing Tool announcement Only in subs that allow it, with heavy context Question/discussion Genuine question that sparks conversation -
Draft post:
- Title: specific, accurate, matches sub format (check top posts)
- Body: value-first structure from
references/post-templates.md - Links: max 1-2, put extras in first comment
- Flair: match subreddit requirements
-
Review against rules:
- 90/10 rule: 90% value, 10% promotional
- No clickbait titles
- Follows subreddit-specific format
- Would you upvote this if it wasn't yours?
-
Post via Playwright or copy to clipboard.
-
After posting:
- Monitor comments for 2 hours
- Reply to every comment (boosts ranking)
- Track in
docs/reddit/tracking.md
Batch Mode
Efficient mode: find 3 posts + write 3 comments in one session.
- Load profile and tracking.
- Run
scripts/check-karma.shto verify account status. - Run
scripts/search-posts.shfor target subreddit. - For top 3 candidates, run Comment flow sequentially.
- Wait 5-10 minutes between comments (rate limiting).
- Write structured summary to
docs/reddit/batch-{date}.json:
{
"date": "2026-03-25",
"subreddit": "r/ClaudeAI",
"comments_posted": 3,
"posts": [
{"url": "...", "title": "...", "angle": "...", "product_mentioned": false}
],
"karma_before": 37,
"karma_after": null
}
- Print human summary: 3 comments posted, links, karma status.
Status
Show current Reddit engagement stats.
- Read
docs/reddit/tracking.md. - Count: total comments, comments per subreddit, posts made.
- Calculate: comments since last promotional post (10:1 ratio check).
- Show readiness: "Ready to post in r/X" or "Need N more comments in r/X".
Critical Rules
- Never post without reading the full thread — context is everything
- Never mention product in first 10 comments in any subreddit
- Never post same content to multiple subreddits — customize each
- Never argue with moderators — accept removal gracefully
- Always disclose affiliation when mentioning your product
- Minimum 5 minute gap between comments (avoid rate limiting)
- No vote manipulation — never ask for upvotes anywhere
- Use
browser_snapshotnotbrowser_take_screenshot— saves tokens - Navigate by URL (
browser_navigate) not clicking links — prevents errors
Gotchas
- Reddit spam filter on low-karma accounts — new or inactive accounts get auto-filtered. Build 50+ karma with genuine comments before any self-promo posts. If filtered: message mods via modmail (sidebar link), don't repost.
- Links trigger spam filter — first comment with a link in a new subreddit often gets caught. Post text-only comments first, add links only after established.
- Subreddit AI content rules — r/rust and others may remove posts with AI-generated content. Be transparent about AI-assisted development but ensure comments are genuinely human-directed.
- Rate limiting — Reddit throttles new/low-karma accounts. If you see "you're doing that too much", wait 10 minutes. Don't retry immediately.
- Old Reddit vs New Reddit —
old.reddit.comhas better search. Usenew.reddit.comfor posting (Playwright works better with new UI). - Playwright login state — Reddit login persists in browser session. If logged out: user must log in manually (
browser_navigate("https://www.reddit.com/login")), skill can't enter credentials.
Notes
- This skill complements
/community-outreach(which finds threads) and/content-gen(which generates post copy). Use/redditfor the actual engagement loop. - For Reddit Ads, see the
reddit-adsskill from kostja94/marketing-skills. - Karma builds compound: each good comment makes the next one more visible.
Files included
- references/post-templates.md
- references/spam-signals.md
- references/style-guide.md
- references/subreddit-catalog.md
- references/subreddit-rules.md
- scripts/check-karma.sh
- scripts/check-post.sh
- scripts/search-posts.sh
- SKILL.md

