skills/social-data/SKILL.md
Search and fetch social media data from Twitter/X, Reddit, and Hacker News.
npx skillsauth add Bitterbot-AI/bitterbot-desktop social-dataInstall 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.
Access social media content from multiple platforms. Some require API keys, some are free.
curl -s "https://hacker-news.firebaseio.com/v0/topstories.json" | head -c 200
Returns array of item IDs. Fetch individual items:
curl -s "https://hacker-news.firebaseio.com/v0/item/12345678.json"
curl -s "https://hn.algolia.com/api/v1/search?query=rust+programming&tags=story&hitsPerPage=10"
tags: story, comment, ask_hn, show_hn, pollnumericFilters: created_at_i>1700000000 (Unix timestamp)hits[] array with title, url, author, points, num_commentscurl -s "https://hn.algolia.com/api/v1/search?tags=front_page&hitsPerPage=30"
curl -s "https://www.reddit.com/r/programming/hot.json?limit=10" \
-H "User-Agent: bitterbot/1.0"
Sort options: hot, new, top, rising
For top: add ?t=hour|day|week|month|year|all
curl -s "https://www.reddit.com/search.json?q=rust+async&sort=relevance&limit=10" \
-H "User-Agent: bitterbot/1.0"
curl -s "https://www.reddit.com/r/programming/comments/POST_ID.json" \
-H "User-Agent: bitterbot/1.0"
Response is array of two listings: [0] = post, [1] = comments tree.
curl -s "https://www.reddit.com/user/USERNAME/submitted.json?limit=10" \
-H "User-Agent: bitterbot/1.0"
Requires TWITTER_BEARER_TOKEN env var (from X Developer Portal).
curl -s "https://api.twitter.com/2/tweets/search/recent?query=from:elonmusk&max_results=10&tweet.fields=created_at,public_metrics" \
-H "Authorization: Bearer $TWITTER_BEARER_TOKEN"
Query operators:
from:username — tweets by userto:username — replies to user#hashtag — hashtag search"exact phrase" — exact match-is:retweet — exclude retweetslang:en — language filterhas:media — tweets with mediacurl -s "https://api.twitter.com/2/users/by/username/elonmusk?user.fields=public_metrics,description,created_at" \
-H "Authorization: Bearer $TWITTER_BEARER_TOKEN"
curl -s "https://api.twitter.com/2/users/USER_ID/tweets?max_results=10&tweet.fields=created_at,public_metrics" \
-H "Authorization: Bearer $TWITTER_BEARER_TOKEN"
User-Agent header for Reddit (they block default agents)..json to any Reddit URL.web_fetch for HTML pages, exec + curl for JSON APIs.development
When the agent calls memory_search with a relationship-shaped query ("who did I talk to about X"), redirect to the knowledge_graph backend where it will actually find the answer.
testing
Forces a memory_search before the agent sends a message containing a factual assertion that has not yet been grounded this turn. Closes the citation-rate gap from ~40% to ~90%+.
business
Enforces PROTOCOLS.md "stay quiet in group chats" deterministically. Blocks outbound messages in Discord/Telegram/Slack/etc group channels when the bot was not @mentioned and recently spoke.
development
When the agent's epistemic state (GCCRF) indicates low empowerment and falling certainty, hedges out confident absolutes ("definitely", "always", "100%") in outgoing messages.