Skip to content
cccskills
FreePublished on GitHub

reddit-reading

Read Reddit posts, comments, and user activity without a browser or account. Use it to find discussions, summarize threads, and explore community reactions, with optional app credentials for more detailed data and frequent requests.

OriginalShow the original description

Read Reddit: subreddits, search, threads, users. No browser.

Works withReddit
See how to install

Good for

  • Find community discussions about a topic
  • Summarize a Reddit thread and its comments
  • Review a user's recent posts and comments
  • Search within a specific subreddit

Files included (2)

  • SKILL.md6.1 KB
  • scripts/reddit.py13.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Reddit Reading Skill

Reads Reddit content — subreddit listings, site or subreddit search, full threads with comments, and user activity — from a server or headless machine where the normal routes are dead. It does not post, vote, or log in as a user. Idea credit: the per-platform backend routing in Agent Reach.

When to Use

  • "What is r/LocalLLaMA saying about X", "find Reddit threads on Y", "summarise this Reddit thread", "what has u/someone posted lately".
  • Any reddit.com URL the user shares. web_extract, browser_navigate and the .json endpoints all fail from server IPs (403 or a "Prove your humanity" wall); this skill is the working path.
  • Not for posting, voting, messaging, or anything needing a user login.

Prerequisites

None. No Reddit account, login, cookie, or API key is needed. The default backend is Reddit's public Atom feeds (.rss endpoints), the only unauthenticated route Reddit still serves to non-residential IPs. It is throttled to about one request per minute per IP and returns thinner data (no scores, top-level comments only), which is fine for a few calls.

Optional upgrade (app credentials, still no user login): for sustained use or full data, register a free "script" type app at https://www.reddit.com/prefs/apps and put its two values in ~/.hermes/.env:

REDDIT_CLIENT_ID=...
REDDIT_CLIENT_SECRET=...

This is an application registration, not a login: the script uses the app-only client_credentials grant, never a username, password, or browser cookie, and never acts as the user. With both values set it switches to the OAuth API automatically (~100 requests per minute, scores, nested comments, num_comments); if they are missing or rejected it falls back to the anonymous feeds and says so on stderr.

Anonymous feeds (default)OAuth app credentials
Setupnothing1-minute app registration, two .env values
Rate limit~1 request / minute / IP~100 requests / minute
Thread datapost + top-level comments, no scoresnested comments, scores, comment counts
Acts as a usernono

How to Run

Run every command through terminal with the skill-relative script path:

python3 scripts/reddit.py doctor                                  # which backend, current rate-limit window
python3 scripts/reddit.py sub LocalLLaMA --sort hot --limit 15
python3 scripts/reddit.py search "hermes agent" --sub LocalLLaMA --sort new
python3 scripts/reddit.py thread https://www.reddit.com/r/x/comments/abc123/slug/ --limit 40
python3 scripts/reddit.py user spez --limit 10
python3 scripts/reddit.py --json search "topic"                  # machine-readable

Quick Reference

Every command works on both backends; the script chooses the backend, you never pass a flag.

NeedCommandAnonymousOAuth
Subreddit front pagesub NAME --sort hot|new|top|rising [--time week]✔✔
Search all of Redditsearch "q" --sort relevance|new|top|comments✔✔
Search one subredditsearch "q" --sub NAME✔✔
Thread + commentsthread URL --limit N✔ top-level only, no scores✔ nested, scores
User posts/commentsuser NAME✔✔
Backend + rate limitdoctor✔✔

Procedure

① doctor once per task if you have not called it this session — it tells you which backend is live and how many seconds remain in the anonymous window.

② Plan your calls before making them. Anonymous Reddit allows roughly one request per minute per IP; the script sleeps until the window resets on a 429 and retries once, so a five-call plan costs about five minutes. Prefer one search --sub over several sub listings, and read one thread rather than the whole listing.

③ For "what is the community saying" questions, read the thread bodies (thread) rather than stopping at titles; the listing only carries the first ~300 characters of each post.

④ Cite the permalink (url field), not the listing page, when the result feeds a report. grounded-citations registers these URLs like any other source.

⑤ If the user needs sustained Reddit access (monitoring, more than ~10 calls), stop and ask them to register the app credentials (Prerequisites) rather than grinding through the throttle. Tell them plainly: it is a free app registration, not logging Hermes into their account. Never ask for a Reddit password or browser cookies.

Pitfalls

  • www.reddit.com/…/.json, api.reddit.com and old.reddit.com return 403 or an empty "Welcome to Reddit" shell for datacentre IPs. Do not fall back to them; do not spoof a browser User-Agent (also 403).
  • r.jina.ai and the browser_navigate tool hit the same block ("blocked by network security" / humanity check). blocked-page-recovery's Wayback route can still recover an old thread that was archived; it cannot fetch fresh ones.
  • Anonymous thread feeds only contain the post plus top-level comments (Reddit caps the feed at a handful of entries); scores and reply nesting are OAuth-only.
  • Reddit's limit on feeds is advisory — expect 5–25 entries regardless of what you ask.
  • Never paste REDDIT_CLIENT_SECRET into a chat or log; the script reads it from the environment only.
  • Do not "fix" a 429 by retrying in a loop or adding a proxy; the throttle is per IP and the script already waits out the window once. More than one 429 in a row means the task needs the app credentials.

Verification

python3 scripts/reddit.py doctor prints anonymous_feed: ok and an x-ratelimit-reset value; sub announcements --limit 1 returns one entry with a reddit.com/r/announcements/comments/ URL. With credentials set, doctor prints active_backend: oauth and thread … output shows numeric scores.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

1password

FreeSummary

Set up the 1Password CLI and use stored passwords or API keys in commands and configuration templates. Choose an authentication method, retrieve secret references, and pass credentials to processes through environment variables.

  • Installing and configuring the 1Password CLI
  • Running commands with stored API keys
  • Filling configuration templates with stored secrets
NousResearch/hermes-agent254.9KUpdated Oct 18, 2026

Build an Excel workbook linking the income statement, balance sheet, and cash flow statement. Populate historical figures, create formula-based forecasts, compare scenarios, and check that balances and cash totals agree across all three statements.

  • Populating a financial model template with historical data
  • Building linked forecasts across three financial statements
  • Comparing base, upside, and downside scenarios
NousResearch/hermes-agent254.9KUpdated Oct 18, 2026

accelerate

FreeSummary

Adapt existing PyTorch training scripts to use multiple GPUs or machines with limited code changes. The skill guides configuration, launch commands, mixed precision, which uses lower-precision numbers, and DeepSpeed or FSDP settings for distributing training work and memory.

  • Move a single-GPU training script to multiple GPUs
  • Configure mixed precision training
  • Set up DeepSpeed or FSDP to reduce memory use
NousResearch/hermes-agent254.9KUpdated Oct 18, 2026

actual-setup

FreeSummary

Configure Hermes to run AI models through Actual Computer on your own hardware. Set up either the hosted relay or a local connection, select models, verify responses, and troubleshoot request errors or empty output.

  • Connecting Hermes with an Actual inference key
  • Running models through a local Actual daemon
  • Downloading and loading local models
NousResearch/hermes-agent254.9KUpdated Oct 18, 2026

Test an app from the perspective of a frustrated, less technical user. Find confusing steps and barriers, separate actionable usability problems from personal complaints, and produce screenshots, suggested fixes, and prioritized tickets.

  • Reviewing usability before a launch or demo
  • Checking the experience of a new user
  • Finding friction in signup and subscription flows
NousResearch/hermes-agent254.9KUpdated Oct 18, 2026

Resolve Git merge conflicts between two agents by comparing both changes and their stated goals. Combine compatible work, explain choices where designs differ, and verify the merged result with project builds or tests.

  • Resolving conflicts between branches edited by two agents
  • Integrating changes from parallel worktrees
  • Reviewing reasons for conflicting design choices
NousResearch/hermes-agent254.9KUpdated Oct 18, 2026

See all skills by NousResearch

Report a problem with this skill