Source audit · 2026-09-24 · 13 repositories · commits pinned
13 Reddit AI projects audited.
None handle what happens next.
We read every tool that 13 open-source Reddit MCP servers and agent-skill collections register, from source, and sorted each by what it does. They are good at reading Reddit, and five can post to it. Not one has a tool for the part that decides whether an account survives: what happened to the post, and what to do next.
ThreadFox in one line: a Reddit MCP server that reads, searches, posts and replies through your own logged-in Chrome, one tool call each, then follows up: it confirms each post is live, rechecks it and stops where a community said no.
Safeguards enforced in code
Out of 9, for every audited tool that can post to Reddit, plus ThreadFox. A safeguard counts only when the software enforces the stated check. ThreadFox's reddit_post and reddit_reply run every gate before they send, and reddit_verify records what Reddit shows afterwards. Partial and instruction-only safeguards are listed beside it and in the evidence table below.
- ThreadFoxOurs9/9
- mguozhen/social-botSkill5/9
- jordanburke/reddit-mcp-serverMCP server2/9+2 partial
- Arindam200/reddit-mcpMCP server0/9+1 partial
- oh-ashen-one/reddit-growth-skillSkill0/9+5 instructions only
- PHY041/claude-skill-redditSkills0/9+4 instructions only
Every tool, by what it does
Tools registered per repository, sorted by after-publish tools, then total. ThreadFox is classified with the same definitions: its reddit_* tools read, search, post and reply through your own signed-in Chrome, and its ledger tools cover what happens after.
after-publishreadwriteother
The evidence, safeguard by safeguard
What each posting tool's code or instructions actually do, with the file and line at the audited commit. Two have substantial code safeguards and a third validates flair and title length in code; we credit them here.
Codeenforced by the softwarePartialenforced, narrower than the rowPromptan instruction the agent must follow—not found
| Safeguard | jordanburke/reddit-mcp-serverMCP server · 95ddca7 | Arindam200/reddit-mcpMCP server · 5c56363 | mguozhen/social-botSkill · 890c8f2 | oh-ashen-one/reddit-growth-skillSkill · a6a3231 | PHY041/claude-skill-redditSkills · aebe463 | ThreadFoxOurs · 4527d69 |
|---|---|---|---|---|---|---|
| Keeps a record of every attempt that survives a restart | Partial Last 10–20 writes, in memory; cleared on restart src/client/reddit-client.ts:349 | — | Code SQLite log of reply attempts bot/db.py:19 | — | — | Code Posts and replies ledger toolkit/threadfox.py:92, 105 |
| Refuses a second send to the same target | Partial Identical content only, in memory src/client/reddit-client.ts:349 | — | Code One reply per post URL bot/db.py:76 | Prompt Never repeat identical replies SKILL.md:39 | — Sets resubmit=true, which asks Reddit to accept a repeat link reddit-post/SKILL.md:71 | Code Page/community pair and one reply per parent. Also blocks identical cross-community post text of at least 12 words and identical replies of at least 8 words; close rewrites receive warnings. toolkit/threadfox.py:170, 230, 380, 390 |
| Requires publication evidence before confirming a send | Code Fetches the new post once src/client/reddit-client.ts:851 | — | Code Reply must appear on the page at once bot/reddit_bot.py:196 | — | — | Code Requires the permalink and observed author before recording a published state. The browser agent performs the readback; the ledger cannot independently verify Reddit. toolkit/threadfox.py:294 |
| Resolves a send whose response was lost | — | — | — A failed attempt is never retried; nothing establishes what happened bot/db.py:76 | — | — | Code Uncertain holds the pair; only proof of no send releases it toolkit/threadfox.py:276 |
| Schedules and records later removal checks | — | — | — | — The seven-day pause relies on the agent noticing a removal | Prompt Manual signed-out shadowban check reddit-post/SKILL.md:261 | Code Due at 1, 6, 24, 72 and 168 hours; the agent looks, the ledger records toolkit/threadfox.py:342 |
| Stops posting to a community after removals | — | — | — | Prompt Pause the community for seven days after a removed comment SKILL.md:134 | — | Code Three distinct unresolved removals stop posts and replies; a signed-out restoration clears one toolkit/threadfox.py:241, 374 |
| Checks community rules before posting | — A rules tool exists; nothing requires calling it src/index.ts:931 | Partial Validates flair and title length server.py:1202, 1184 | — | Prompt Check the rules before every post SKILL.md:37 | Prompt Rules and disclosure gates subreddit-deep-research/SKILL.md:12 | Code Needs the rules URL, when it was read and an allowed route; recorded bans refuse. The agent still does the reading. toolkit/threadfox.py:221 |
| Caps how much it posts | — | — Relies on Reddit's own rate-limit response server.py:1250 | Code Daily target bot/reddit_bot.py:221 | Prompt Five a day, two per community SKILL.md:131 | Prompt 10–15 a day reddit-cultivate/SKILL.md:261 | Code Post and reply ceilings per run, set by the owner toolkit/threadfox.py:218 |
| Spaces out its writes | Code 2-second minimum, on by default; backs off on HTTP 429 src/index.ts:74 | — | Code 90 s plus 15 s per comment during warm-up warmup_reddit.py:34 | Prompt 20–30 minutes apart SKILL.md:131 | Prompt 4 seconds between posts reddit-cultivate/SKILL.md:261 | Code no fixed spacing of its own: a post waits for the frequency the community's rules state; Reddit's stated rate limits pace every call; owner-adjustable toolkit/threadfox.py:36 |
Keeps a record of every attempt that survives a restart
- ThreadFoxCode
Posts and replies ledger
toolkit/threadfox.py:92, 105 - jordanburke/reddit-mcp-serverPartial
Last 10–20 writes, in memory; cleared on restart
src/client/reddit-client.ts:349 - mguozhen/social-botCode
SQLite log of reply attempts
bot/db.py:19
Not found in Arindam200/reddit-mcp, oh-ashen-one/reddit-growth-skill, PHY041/claude-skill-reddit.
Refuses a second send to the same target
- ThreadFoxCode
Page/community pair and one reply per parent. Also blocks identical cross-community post text of at least 12 words and identical replies of at least 8 words; close rewrites receive warnings.
toolkit/threadfox.py:170, 230, 380, 390 - jordanburke/reddit-mcp-serverPartial
Identical content only, in memory
src/client/reddit-client.ts:349 - mguozhen/social-botCode
One reply per post URL
bot/db.py:76 - oh-ashen-one/reddit-growth-skillPrompt
Never repeat identical replies
SKILL.md:39 - PHY041/claude-skill-reddit—
Sets resubmit=true, which asks Reddit to accept a repeat link
reddit-post/SKILL.md:71
Not found in Arindam200/reddit-mcp.
Requires publication evidence before confirming a send
- ThreadFoxCode
Requires the permalink and observed author before recording a published state. The browser agent performs the readback; the ledger cannot independently verify Reddit.
toolkit/threadfox.py:294 - jordanburke/reddit-mcp-serverCode
Fetches the new post once
src/client/reddit-client.ts:851 - mguozhen/social-botCode
Reply must appear on the page at once
bot/reddit_bot.py:196
Not found in Arindam200/reddit-mcp, oh-ashen-one/reddit-growth-skill, PHY041/claude-skill-reddit.
Resolves a send whose response was lost
- ThreadFoxCode
Uncertain holds the pair; only proof of no send releases it
toolkit/threadfox.py:276 - mguozhen/social-bot—
A failed attempt is never retried; nothing establishes what happened
bot/db.py:76
Not found in jordanburke/reddit-mcp-server, Arindam200/reddit-mcp, oh-ashen-one/reddit-growth-skill, PHY041/claude-skill-reddit.
Schedules and records later removal checks
- ThreadFoxCode
Due at 1, 6, 24, 72 and 168 hours; the agent looks, the ledger records
toolkit/threadfox.py:342 - oh-ashen-one/reddit-growth-skill—
The seven-day pause relies on the agent noticing a removal
- PHY041/claude-skill-redditPrompt
Manual signed-out shadowban check
reddit-post/SKILL.md:261
Not found in jordanburke/reddit-mcp-server, Arindam200/reddit-mcp, mguozhen/social-bot.
Stops posting to a community after removals
- ThreadFoxCode
Three distinct unresolved removals stop posts and replies; a signed-out restoration clears one
toolkit/threadfox.py:241, 374 - oh-ashen-one/reddit-growth-skillPrompt
Pause the community for seven days after a removed comment
SKILL.md:134
Not found in jordanburke/reddit-mcp-server, Arindam200/reddit-mcp, mguozhen/social-bot, PHY041/claude-skill-reddit.
Checks community rules before posting
- ThreadFoxCode
Needs the rules URL, when it was read and an allowed route; recorded bans refuse. The agent still does the reading.
toolkit/threadfox.py:221 - jordanburke/reddit-mcp-server—
A rules tool exists; nothing requires calling it
src/index.ts:931 - Arindam200/reddit-mcpPartial
Validates flair and title length
server.py:1202, 1184 - oh-ashen-one/reddit-growth-skillPrompt
Check the rules before every post
SKILL.md:37 - PHY041/claude-skill-redditPrompt
Rules and disclosure gates
subreddit-deep-research/SKILL.md:12
Not found in mguozhen/social-bot.
Caps how much it posts
- ThreadFoxCode
Post and reply ceilings per run, set by the owner
toolkit/threadfox.py:218 - Arindam200/reddit-mcp—
Relies on Reddit's own rate-limit response
server.py:1250 - mguozhen/social-botCode
Daily target
bot/reddit_bot.py:221 - oh-ashen-one/reddit-growth-skillPrompt
Five a day, two per community
SKILL.md:131 - PHY041/claude-skill-redditPrompt
10–15 a day
reddit-cultivate/SKILL.md:261
Not found in jordanburke/reddit-mcp-server.
Spaces out its writes
- ThreadFoxCode
no fixed spacing of its own: a post waits for the frequency the community's rules state; Reddit's stated rate limits pace every call; owner-adjustable
toolkit/threadfox.py:36 - jordanburke/reddit-mcp-serverCode
2-second minimum, on by default; backs off on HTTP 429
src/index.ts:74 - mguozhen/social-botCode
90 s plus 15 s per comment during warm-up
warmup_reddit.py:34 - oh-ashen-one/reddit-growth-skillPrompt
20–30 minutes apart
SKILL.md:131 - PHY041/claude-skill-redditPrompt
4 seconds between posts
reddit-cultivate/SKILL.md:261
Not found in Arindam200/reddit-mcp.
Why it runs in your own Chrome
Your computer, your Chrome
ThreadFox starts Microsoft's Playwright connection on the computer it runs on and drives that computer's Chrome. It never picks a browser through your account, so it cannot open a tab on another computer signed in to the same account.
Claude in Chrome won't open Reddit
Anthropic's Claude in Chrome extension refuses reddit.com and old.reddit.com with “This site is not allowed due to safety restrictions” (checked September 26, 2026). ThreadFox uses Microsoft's free Playwright Extension instead.
Scripted, not clicked through
In our own operation in September 2026, a general-purpose AI browser agent took a median of 5.3 minutes per publishing run, and 10 of 54 runs ended without a confirmed result. ThreadFox's scripted posts took 28 to 70 seconds, each checked on Reddit afterwards; reads take 2 to 8 seconds. Our own operational figures, not a lab benchmark.
Brand affiliate, set for you
ThreadFox posts through Reddit's composer, sets its Brand affiliate tag, reads every field back and presses Post once. What the community enforces, like allowed post types or required flair, is read before anything is typed.
What this does not show
Results
Nobody has measured whether any of these setups, ThreadFox included, earns more views or fewer removals. This compares what the code does, not what it achieves.
Who drew the lines
We wrote the definitions and classified our own tools with them. Ambiguous tools went to read or write, never to after-publish. Every tool is listed with its file and line, so a disagreement can be specific.
What ThreadFox does
Your AI reads a community's rules, searches, posts and answers comments in your own Chrome, one call each, in seconds. Before each post the ledger checks for double posts, repeated removals and communities that said no; after it, ThreadFox confirms the post is up and rechecks it at 1, 6, 24, 72 and 168 hours.
Borrowed code
None. Three of the skill repositories carry no license and were read, not reused. The ledger and its tools were written from scratch.
How we audited
GitHub search for Reddit MCP servers and agent skills with at least 40 stars, excluding pure scrapers and multi-platform tools. Each repository was pinned to its default-branch commit on 2026-09-24. Tools were read from their registration in source, not from README text. After-publish means a tool that exists to handle what follows the agent's own submission: rechecking for removal, resolving a lost response, keeping a replay-safe attempt ledger, recording outcomes over time, or gating a post on recorded rules. Stars and code change after an audit.
Maintain one of these projects and think we misread it? Email support@threadfox.vip with the file and line, and we will correct this page.
Give your AI the missing follow-through.
ThreadFox gives Claude Desktop, Claude Code and Codex all 53 tools, the ThreadFox skill and the case-study playbook behind them.