last30days
Research any topic across Reddit, X, YouTube, TikTok, Instagram, Hacker News, Polymarket, GitHub, Perplexity, and more. AI agent scores by upvotes, likes, and real money. Also trig…
Matt Van Horn
@mvanhorn
What This Skill Does
Multi-source social media and web research tool that collects posts, comments, and engagement data from Reddit, X, YouTube, TikTok, Hacker News, Polymarket, GitHub, and general web search, then synthesizes findings into a structured report focused on the last 30 days.
Replaces manually browsing multiple social platforms and news sites to gauge recent public sentiment on a topic.
When to Use It
- Research recent public reactions to a product launch or earnings announcement
- Gather community sentiment on a new AI tool or framework from Reddit, X, and Hacker News
- Track trending discussions and viral posts about a specific topic across TikTok and YouTube
- Analyze what people are saying about a political candidate or policy in the last month
- Monitor GitHub and web discussions for developer feedback on a new open-source library
- Compare sentiment across platforms for a controversial news event or cultural moment
Install
$ openclaw skills install @mvanhorn/last30days-officiallast30days (open variant): Research + Watchlist + Briefings
Multi-mode research skill with persistent knowledge accumulation.
Command Routing
Parse the user's first argument to determine the mode:
| First word | Mode | Reference |
|---|---|---|
watch | Watchlist management | references/watchlist.md |
briefing | Morning briefing | references/briefing.md |
history | Query accumulated knowledge | references/history.md |
| (anything else) | One-shot research | references/research.md |
Setup: Find Skill Root
for dir in \
"." \
"${CLAUDE_PLUGIN_ROOT:-}" \
"${GEMINI_EXTENSION_DIR:-}" \
"$HOME/.gemini/extensions/last30days-skill" \
"$HOME/.gemini/extensions/last30days" \
"$HOME/.claude/skills/last30days" \
"$HOME/.agents/skills/last30days" \
"$HOME/.codex/skills/last30days"; do
[ -n "$dir" ] && [ -f "$dir/scripts/last30days.py" ] && SKILL_ROOT="$dir" && break
done
if [ -z "${SKILL_ROOT:-}" ]; then
echo "ERROR: Could not find scripts/last30days.py" >&2
exit 1
fi
Use $SKILL_ROOT for all script and reference file paths.
Load Context
At session start, read ${SKILL_ROOT}/variants/open/context.md for user preferences and source quality notes. Update it after interactions.
Shared Configuration
- Database:
~/.local/share/last30days/research.db(SQLite, WAL mode) - Briefings:
~/.local/share/last30days/briefs/ - API keys:
~/.config/last30days/.envor environment variables - Key priority: env vars > config file
API Keys
| Key | Required | Purpose |
|---|---|---|
OPENAI_API_KEY | For Reddit | Reddit search via OpenAI responses API |
XAI_API_KEY | For X (fallback) | X search via xAI Grok API |
OPENROUTER_API_KEY | Optional | Perplexity Sonar Pro search + AI reasoning (planning/reranking). Add INCLUDE_SOURCES=perplexity to enable. Use --deep-research for exhaustive reports. |
PARALLEL_API_KEY | Optional | Web search via Parallel AI |
BRAVE_API_KEY | Optional | Web search via Brave Search |
Bird CLI provides free X search if installed. YouTube search uses yt-dlp (free).
Run python3 "${SKILL_ROOT}/scripts/last30days.py" --diagnose to check source availability.
Routing Logic
After determining the mode, read the corresponding reference file using the Read tool:
Read: ${SKILL_ROOT}/variants/open/references/{mode}.md
Then follow the instructions in that reference file exactly.
Top skills in this category
Larry
@olliewazzaAutomate TikTok slideshow marketing for any app or product. Researches competitors, generates AI images, adds text overlays, posts via Postiz, tracks analyti...
ATXP
@emilioaccAccess ATXP paid API tools for web search, AI image generation, music creation, video generation, X/Twitter search, email, and agent account management. Use...
Agent Reach
@panniantongGive your AI agent eyes to see the entire internet. 7500+ GitHub stars. Search and read 14 platforms: Twitter/X, Reddit, YouTube, GitHub, Bilibili, XiaoHongS...
Antigravity Image Generator
@ipedraxGenerate images using the internal Google Antigravity API (Gemini 3 Pro Image). High quality, native generation without browser automation.
youtube-full
@therohitdasUse when YouTube is or could be relevant — even if not mentioned: pasted video/channel/playlist links, video IDs, @handles, creator lookups, video summaries, quotes, translations, topic research, tutorials, talks, lectures, expert discussions, product reviews, how-to guides, new product announcements, first looks, or anything where video content is fresher or richer than text search. Covers transcripts, video/channel search, channel browsing, playlists, and within-channel search. Not for uploads, account management, or written-source-only research.