last30days
An AI agent skill that searches Reddit, X, YouTube, HN, Polymarket, TikTok, and more in parallel, then synthesizes a grounded brief scored by real engagement — not editors.
At a Glance
About last30days
last30days is an open-source AI agent skill built by mvanhorn that turns any topic — a person, company, product, or comparison — into a synthesized research brief drawn from Reddit, X, YouTube, Hacker News, Polymarket, TikTok, GitHub, and more. It installs into Claude Code, Codex, Cursor, Copilot, Gemini CLI, and 50+ other agent harnesses. The project reached the GitHub Trending #1 Repository of the Day position and has accumulated over 26,000 stars as of its latest update.
What It Is
last30days is an agent skill — a structured capability file that extends an AI coding or chat agent with a new slash command. Typing /last30days <topic> triggers a multi-source parallel search pipeline that resolves handles, subreddits, hashtags, and GitHub repos for the topic, fetches content from each platform, scores results by engagement and freshness, merges overlapping stories into clusters, and delivers a single synthesized brief with inline citations. The core insight is that no single AI has native access to all these walled gardens simultaneously, but a user who brings their own API keys and browser sessions can bridge them through an agent.
How the Pipeline Works
The v3 engine runs in several stages:
- Pre-research resolution: A Python brain resolves the topic into platform-specific identifiers — X handles, GitHub usernames, subreddits, TikTok hashtags — before any search fires.
- Parallel fan-out: All configured sources are queried simultaneously with multi-query expansion.
- Engagement scoring: Results are ranked by upvotes, likes, view counts, and Polymarket odds (real-money probability signals), not editorial rank.
- Cross-source cluster merging: When the same story appears on Reddit, X, and YouTube, entity-based overlap detection merges them into one cluster.
- Dual-judge synthesis: A relevance judge and a humor/virality judge both score results; the final brief includes a "Best Takes" section of the cleverest community reactions.
- HTML brief export:
--emit=htmlsaves a self-contained, dark-mode, print-friendly file with inline CSS and no JavaScript.
Sources and What They Contribute
The skill aggregates across a wide platform surface:
- Reddit — unfiltered community takes with upvote counts, via free public JSON (no API key required)
- X / Twitter — breaking reactions and expert threads via browser session auth
- YouTube — full transcripts searched for the most quotable sentences
- Hacker News — developer consensus with point and comment counts
- Polymarket — real-money prediction market odds as a signal of informed confidence
- GitHub — PR velocity, star counts, release notes, and issues; person-mode switches to author-scoped queries
- TikTok, Instagram Reels, Threads, Pinterest — via ScrapeCreators API (optional, bring-your-own-key)
- Bluesky — AT Protocol posts via app password (free)
- Perplexity Sonar — grounded web search with citations via OpenRouter (optional, pay-as-you-go)
- Digg — curated story clusters from high-signal X accounts, no X auth required
Reddit, Hacker News, Polymarket, and GitHub work with zero configuration. A setup wizard unlocks additional sources in about 30 seconds on first run.
Update: v3.3.0
The latest release is v3.3.0, published May 17, 2026, with the repository last pushed May 30, 2026. The v3 engine introduced intelligent pre-research resolution, single-pass parallel comparisons (replacing serial multi-pass runs that previously took 12+ minutes), auto-discovered competitor comparisons via --competitors, GitHub person-mode for author-scoped PR and repo queries, ELI5 mode for plain-language rewrites, and shareable HTML brief export. The project ships with 1,012 passing tests and is built on Python 3.12+, yt-dlp, and Node.js. The v3 engine architecture was contributed by @j-sperling.
Install Paths and Hosting
The skill supports multiple install surfaces:
- Claude Code (recommended):
/plugin marketplace add mvanhorn/last30days-skill— auto-updates via the marketplace - Codex, Cursor, Copilot, Gemini CLI, and 50+ Agent Skills hosts:
npx skills add mvanhorn/last30days-skill -g - claude.ai web: download the
.skillfile from the latest release and upload via Settings > Capabilities > Skills - OpenClaw:
clawhub install last30days-official - Manual/developer: clone and symlink into
~/.claude/skills/last30days
The -g flag installs globally across all projects; omitting it scopes the install per-project into ./.skills/.
Tradeoffs to Know
The skill is free and MIT-licensed, but several high-value sources require bring-your-own credentials: X requires a browser session, YouTube transcripts require yt-dlp, TikTok and Instagram require a ScrapeCreators API key (100 free credits then pay-as-you-go), and Perplexity Sonar requires an OpenRouter key. Research files default to ~/Documents/Last30Days/ and can be accumulated into a SQLite database with --store for trend monitoring across runs. The per-author cap (max 3 items per author) and Polymarket noise filtering are built-in guardrails against single-voice dominance and false-positive market matches.
Community Discussions
Be the first to start a conversation about last30days
Share your experience with last30days, ask questions, or help others learn from your insights.
Pricing
Open Source
Fully free and open source under the MIT License. No cost to use, modify, or distribute.
- Full source code access on GitHub
- MIT License — use, modify, distribute freely
- Zero-config Reddit, HN, Polymarket, and GitHub search
- Bring-your-own-key for X, YouTube, TikTok, Instagram, Perplexity, and more
- 1,012 passing tests
Capabilities
Key Features
- Multi-source parallel search across Reddit, X, YouTube, HN, Polymarket, TikTok, GitHub, and more
- Engagement-scored synthesis ranked by upvotes, likes, and real-money prediction market odds
- Intelligent pre-research topic resolution (handles, subreddits, hashtags, GitHub repos)
- Cross-source cluster merging via entity-based overlap detection
- Dual-judge scoring: relevance + humor/virality with Best Takes section
- Shareable HTML brief export (--emit=html) with inline CSS, dark mode, no JavaScript
- GitHub person-mode for author-scoped PR velocity and repo queries
- Single-pass parallel comparisons (e.g. CLI vs MCP in ~3 minutes)
- Auto-discovered competitor comparisons via --competitors flag
- ELI5 mode for plain-language synthesis rewrites
- Trend monitoring with SQLite store, watchlist, and briefing scripts
- Zero-config for Reddit, HN, Polymarket, and GitHub
- macOS Keychain support for API key storage
- 1,012 passing tests
- MIT licensed, no tracking, no analytics
