claude/skills/reddit/SKILL.md
Search Reddit, browse subreddits, read posts and comments, and look up user activity using the public JSON API. Use when the user wants to: search Reddit, find Reddit posts, browse a subreddit, read Reddit comments, check what's trending on Reddit, look up a Reddit user, research a topic on Reddit, get Reddit discussions, or any variation of 'reddit search', 'find posts about', 'what does r/X think about', 'reddit user', 'subreddit'.
npx skillsauth add kendreaditya/.config redditInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Search and browse Reddit via the public JSON API. No API key needed — just curl + jq.
which curl jq
All requests need a User-Agent header. Use this throughout:
-H "User-Agent: claude-reddit-skill/1.0"
Rate limiting: Reddit throttles aggressively. Add sleep 2 between sequential requests. If you get HTTP 429 or empty responses, back off 5-10 seconds.
curl -s 'https://www.reddit.com/search.json?q=QUERY&limit=10&sort=relevance' \
-H "User-Agent: claude-reddit-skill/1.0" \
| jq -r '.data.children[] | .data | "\(.title)\n r/\(.subreddit) | \(.score) pts | \(.num_comments) comments | u/\(.author)\n https://reddit.com\(.permalink)\n"'
| Param | Values | Default |
|-------|--------|---------|
| q | search query (URL-encoded) | required |
| sort | relevance, hot, new, top, comments | relevance |
| t | hour, day, week, month, year, all | all |
| limit | 1-100 | 25 |
| after | pagination token from response | — |
curl -s 'https://www.reddit.com/r/SUBREDDIT/search.json?q=QUERY&restrict_sr=on&sort=new&limit=10' \
-H "User-Agent: claude-reddit-skill/1.0" \
| jq -r '.data.children[] | .data | "\(.title) [\(.score) pts, \(.num_comments) comments]\n https://reddit.com\(.permalink)\n"'
restrict_sr=on limits results to that subreddit.
curl -s 'https://www.reddit.com/r/SUBREDDIT/hot.json?limit=10' \
-H "User-Agent: claude-reddit-skill/1.0" \
| jq -r '.data.children[] | .data | "\(.title)\n \(.score) pts | \(.num_comments) comments | u/\(.author) | id: \(.id)\n"'
Replace hot with new, top, rising, or controversial. For top, add &t=day (or week, month, year, all).
curl -s 'https://www.reddit.com/r/SUBREDDIT/top.json?t=week&limit=10' \
-H "User-Agent: claude-reddit-skill/1.0" \
| jq '[.data.children[] | .data | {title, score, num_comments, author, id, url, created: (.created_utc | todate), selftext: .selftext[0:200]}]'
The response is a JSON array: [0] is the post, [1] is the comment tree.
curl -s 'https://www.reddit.com/r/SUBREDDIT/comments/POST_ID.json?limit=20&sort=top' \
-H "User-Agent: claude-reddit-skill/1.0" -o /tmp/reddit_thread.json
# Post details
jq '.[0].data.children[0].data | {title, score, author, selftext, url, num_comments, created: (.created_utc | todate)}' /tmp/reddit_thread.json
# Top comments
jq -r '.[1].data.children[] | select(.kind == "t1") | .data | "u/\(.author) (\(.score) pts):\n \(.body[0:300])\n"' /tmp/reddit_thread.json
Set sort param: top, best, new, controversial, old, qa.
Append .json to any Reddit URL:
curl -s 'https://www.reddit.com/r/python/comments/abc123/some_title/.json?limit=20' \
-H "User-Agent: claude-reddit-skill/1.0"
curl -s 'https://www.reddit.com/user/USERNAME.json?limit=10' \
-H "User-Agent: claude-reddit-skill/1.0" \
| jq -r '.data.children[] | .data | "\(if .title then .title else "Comment in r/\(.subreddit)" end)\n \(.score) pts | r/\(.subreddit) | https://reddit.com\(.permalink)\n"'
# Posts only
curl -s 'https://www.reddit.com/user/USERNAME/submitted.json?limit=10' \
-H "User-Agent: claude-reddit-skill/1.0" | jq '...'
# Comments only
curl -s 'https://www.reddit.com/user/USERNAME/comments.json?limit=10' \
-H "User-Agent: claude-reddit-skill/1.0" | jq '...'
Every listing response includes data.after — pass it as &after=TOKEN to get the next page:
curl -s 'https://www.reddit.com/r/SUBREDDIT/new.json?limit=25&after=t3_abc123' \
-H "User-Agent: claude-reddit-skill/1.0"
Extract the token: jq -r '.data.after' response.json
&-o /tmp/file.json for large responses, then parse with jq separately.selftext contains the post body (empty for link posts).url is the linked URL (for link posts) or the permalink (for self posts).created_utc | todate converts to ISO 8601https://www.reddit.com/r/SUBREDDIT/about.json| Issue | Fix |
|-------|-----|
| Empty response / 0 bytes | Rate limited — wait 5s and retry |
| HTTP 429 | Back off 10-15s |
| HTML instead of JSON | Add -L flag to follow redirects, or use old.reddit.com |
| 403 Forbidden | Change User-Agent to a browser-like string |
development
Search and read content from leetcode.com — problem catalog, daily challenge, full problem statements with hints and starter code, the Discuss forum (interview experiences, comp posts, layoff threads), and company question-list metadata. Read-only, no auth, no API key. Use when the user wants to look up a LeetCode problem by name/number/slug, see today's daily challenge, search Discuss for interview write-ups at a specific company (Google, Waymo, Meta, Amazon, etc.), browse a tag-filtered discuss feed, read a Discuss post + comments, or check what a LeetCode company list covers. Triggers — "lcsearch", "leetcode search", "search leetcode", "leetcode discuss", "leetcode problem", "daily leetcode", "interview discuss", "what's the leetcode for X", URLs containing leetcode.com/problems/, leetcode.com/discuss/, or leetcode.com/company/. Pair with the `interviewcoder` skill (structured leetcode-style writeups from 1point3acres) and `blind` (anonymous workplace chatter) for the same companies.
development
Terminal Spotify playback/search via spogo (preferred) or spotify_player.
development
Search and read posts from interviewcoder.co — a Next.js-fronted aggregator of technical-interview writeups (largely sourced from 1point3acres) tagged by company, position, stage (Phone Screen / OA / Onsite / etc.), period, job type, and structured leetcode-style questions. Use when the user wants real interview questions for a specific company, recent writeups from a hiring loop, leetcode-style problems with tags and difficulty, or to look up a specific interviewcoder.co URL. Read-only, no auth, no API key. Triggers — "interviewcoder", "interviewcoder.co", "interview questions at [company]", "what's been asked at [company] recently", "interview writeup", and URLs containing interviewcoder.co.
tools
Small Yahoo Finance CLI for ticker info + N-year stock returns. Use when the user asks about: stock price, market cap, sector/industry classification, dividend yield, P/E ratio, beta, 52-week range, N-year stock return, company description for a public company. Triggers: 'yfinance', 'yfin', 'stock price', 'market cap of', 'how much has X stock returned', 'sector for ticker', 'industry classification'. Pairs with the levels-fyi skill for cross-checking public/private status (levels gives ticker, yfin returns live data).