reddit

SKILL.md

Reddit Automation Skill

Automate Reddit using CamoFox CLI anti-detection browser. All workflows verified on 2026-03-04 with zero CAPTCHAs triggered across 50+ operations.

1. Prerequisites

  • CamoFox browser running: camofox server status
  • A saved Reddit session (see Section 2)
  • Install: npm install -g camofox-browser

2. Authentication

Reddit login uses reCAPTCHA Enterprise — automated credential entry is blocked. Use session-based auth:

First time — login manually in CamoFox, then save:

camofox session save "reddit-session" --user reddit

Subsequent times — restore saved session:

camofox open https://www.reddit.com --user reddit
camofox session load "reddit-session" --user reddit
camofox navigate https://www.reddit.com [tabId]
camofox snapshot [tabId]

Verify: username visible in snapshot confirms login.

Store credentials for reference:

camofox auth save reddit-main --url https://www.reddit.com --notes "Reddit account"

3. Browse Feed

camofox open https://www.reddit.com --user reddit
camofox session load "reddit-session" --user reddit
camofox navigate https://www.reddit.com [tabId]
camofox snapshot [tabId]
camofox scroll down [tabId] --amount 500
camofox snapshot [tabId]
camofox get-links [tabId]

4. Browse Subreddit

camofox navigate https://old.reddit.com/r/test [tabId]
camofox snapshot [tabId]
camofox click [eN] [tabId]
camofox snapshot [tabId]

Old Reddit has simpler HTML structure — easier to parse post listings.

5. Comment on Post (Old Reddit)

IMPORTANT: Use eval to fill textarea — standard type causes 500 errors on old Reddit.

camofox navigate https://old.reddit.com/r/test/comments/POST_ID/ [tabId]
camofox snapshot [tabId]
camofox eval "const ta = document.querySelector('.usertext-edit textarea'); ta.value = 'Your comment'; ta.dispatchEvent(new Event('input', {bubbles: true})); ta.dispatchEvent(new Event('change', {bubbles: true}));" [tabId]
camofox snapshot [tabId]
camofox click [eN] [tabId]
camofox snapshot [tabId]

Why eval? Reddit's old textarea causes Internal Server Error when filled via browser automation type. Setting textarea.value via JavaScript works reliably.

6. Create Post (New Reddit)

IMPORTANT: Use www.reddit.com — old Reddit has visible reCAPTCHA that blocks posting.

camofox navigate "https://www.reddit.com/r/test/submit?type=TEXT" [tabId]
camofox snapshot [tabId]
camofox type [eN] "Your Post Title" [tabId]
camofox snapshot [tabId]
camofox type [eN] "Post content with markdown." [tabId]
camofox snapshot [tabId]
camofox click [eN] [tabId]
camofox wait navigation [tabId] --timeout 5000
camofox snapshot [tabId]

7. Reply to Comment (Old Reddit)

camofox navigate https://old.reddit.com/r/test/comments/POST_ID/ [tabId]
camofox snapshot [tabId]
camofox click [eN] [tabId]
camofox snapshot [tabId]
camofox eval "const tas = document.querySelectorAll('.usertext-edit textarea'); const rb = Array.from(tas).find(t => t.offsetParent !== null && t.value === ''); if (rb) { rb.value = 'Your reply'; rb.dispatchEvent(new Event('input', {bubbles: true})); rb.dispatchEvent(new Event('change', {bubbles: true})); }" [tabId]
camofox snapshot [tabId]
camofox click [eN] [tabId]
camofox snapshot [tabId]

8. Upvote / Downvote

camofox snapshot [tabId]
camofox click [eN] [tabId]

Vote buttons appear as arrow icon refs in the snapshot.

9. Session Management

camofox session save "reddit-session" --user reddit
camofox session load "reddit-session" --user reddit
camofox session list
camofox session delete "reddit-session"

10. Rate Limiting

  • Wait 2+ minutes between comments/replies
  • Wait 10+ minutes between posts for new/low-karma accounts
  • Add delays: camofox wait networkidle [tabId] --timeout 3000
  • Higher karma accounts have relaxed limits

11. Anti-Detection

  • CamoFox anti-detection fully effective on Reddit (0 CAPTCHAs in 50+ operations)
  • Reddit serves ads to CamoFox = treats as real user
  • Use consistent userId ("reddit") across sessions
  • Do NOT clear cookies between actions
  • No special proxy or fingerprint settings needed

12. Platform Selection

Action Platform Reason
Login Manual only reCAPTCHA Enterprise
Comment old.reddit.com Plain HTML forms
Reply old.reddit.com Plain HTML forms
Create Post www.reddit.com No visible CAPTCHA
Browse Either Both work
Vote Either Both work

13. Troubleshooting

Issue Cause Fix
Login CAPTCHA reCAPTCHA Enterprise Use saved sessions
Post CAPTCHA on old Reddit reCAPTCHA v2 Use new Reddit
Comment 500 error type on old Reddit Use eval with textarea.value
Text doubled Lexical editor bug Use eval for input
Rate limited Rapid actions Wait 2+ minutes
SPA link fails Reddit SPA Use camofox navigate
Session expired Cookies expired Re-login and save

14. Complete Example

#!/bin/bash
USER="reddit"
SESSION="reddit-session"

TAB=$(camofox open https://www.reddit.com --user $USER --format json | jq -r '.tabId')
camofox session load $SESSION --user $USER

camofox navigate https://old.reddit.com/r/test $TAB
camofox snapshot $TAB

camofox eval "const ta = document.querySelector('.usertext-edit textarea'); ta.value = 'Automated via CamoFox CLI'; ta.dispatchEvent(new Event('input', {bubbles: true})); ta.dispatchEvent(new Event('change', {bubbles: true}));" $TAB

camofox session save $SESSION --user $USER
camofox close --user $USER
Weekly Installs
1
GitHub Stars
18
First Seen
11 days ago
Installed on
amp1
cline1
opencode1
cursor1
kimi-cli1
codex1