Last 30 Days - Multi-Platform Research Engine
AI agent skill that searches Reddit, X, YouTube, TikTok, Instagram, HN, Polymarket, GitHub, Bluesky, and the web in parallel - scoring results by real engagement (upvotes, likes, views, money) instead of SEO rank - then synthesizing a grounded brief.
Why It Matters
Google aggregates editors. last30days searches people. A Reddit thread with 1,500 upvotes is a stronger signal than a blog post nobody read. Polymarket odds backed by $66K in volume are harder to argue with than a pundit's guess. No single AI has native access to all these platforms - last30days bridges them through user-provided keys and browser sessions.
Core Architecture (v3)
Intelligent pre-research: Before searching, the engine resolves who matters - X handles, GitHub repos, subreddits, TikTok hashtags, YouTube channels. "OpenClaw" resolves @steipete. "Kanye West" resolves r/hiphopheads, @kanyewest, and "bully review" on YouTube.
Cluster-first synthesis: When the same story appears on Reddit, X, and YouTube, v3 merges them into one cluster via entity-based overlap detection. Multi-source clusters are highest confidence.
Best Takes: A second judge scores every result for humor, wit, and virality alongside relevance. The cleverest one-liners surface in every brief.
Per-author cap: Max 3 items per author prevents any single voice from dominating.
Current version snapshot: upstream mvanhorn/last30days-skill is at tag v3.9.4 / HEAD a5b3ca1f3ccd76eb176603991ae1ec1e07105ce0 as of 2026-07-04, MIT license, about 48.9K GitHub stars. Kevin's executable submodule remains pinned at v3.8.3 (d5f3083) in this worktree; this review records upstream drift but does not advance the submodule. Source: GitHub API + git ls-remote; local submodule, 2026-07-04
The reviewed v3 launch thread matters because it demonstrates entity-resolution before search: /last30days OpenClaw vs Hermes vs Paperclip resolved X handles, GitHub repos, subreddits, TikTok hashtags, and related communities before collecting evidence. That is the route Kevin wants for current research: resolve the entity graph first, then search each surface, then cluster across sources. Source: X/@mvanhorn, 2026-04-09
Sources & Auth
| Source | Auth | Cost |
|---|---|---|
| Reddit (with comments) + HN + Polymarket + GitHub | Nothing / gh CLI |
Free |
| X / Twitter | Browser cookies (FROM_BROWSER=auto) or XAI_API_KEY |
Free |
| YouTube | yt-dlp (190K+ stars, open source) |
Free |
| Bluesky | App password (BSKY_HANDLE + BSKY_APP_PASSWORD) |
Free |
| TikTok + Instagram + Threads + Pinterest | SCRAPECREATORS_API_KEY |
10K free calls |
| Perplexity Sonar | OPENROUTER_API_KEY |
Pay as you go |
| Web search | BRAVE_API_KEY |
2K free queries/mo |
Config lives at ~/.config/last30days/.env.
Usage
# Basic research
/last30days <topic>
# Agent mode (non-interactive, saves to ~/Documents/Last30Days/)
/last30days <topic> --agent
# Comparison
/last30days "Claude Code vs Codex"
# Quick scan
/last30days <topic> --quick
# Deep research
/last30days <topic> --deep
# Time window
/last30days <topic> --days=7
Wiki Integration Protocol
last30days is the go-to research tool before writing or updating any wiki page that touches external topics (people, tools, concepts, current events).
When to use:
- Before creating/enriching a
personpage - run/last30days <name> --agentto get their last 30 days of activity across all platforms - Before updating a
toolorprojectpage - check community sentiment and recent developments - During
source-compileautomation - supplement raw source data with live community signal - Before any
signal-radarorfrontier-radarrun - cross-reference findings - When Kevin asks a question about the current state of anything - search the wiki first (mandatory), then use last30days for real-time community grounding
What to capture: When last30days returns results that add value to existing wiki pages, update those pages. Key signals worth persisting: community sentiment shifts, engagement metrics on notable events, Polymarket odds on predictions, and direct quotes from high-signal sources.
Installation
# Cursor
git submodule update --init --recursive skills/personal/last30days
npm run bootstrap
# Claude Code
/plugin marketplace add mvanhorn/last30days-skill
Requires Python 3.12+, Node.js. Optional: yt-dlp, gh CLI.
Reputation
- 48,900+ GitHub stars
- MIT license, 1,012 tests
- v3.0.0 released 2026-04-11; upstream tag
v3.9.4recorded 2026-07-04 - Author: Matt Van Horn (@mvanhorn) - also built Printing Press - Agent-Native CLIs from a Single Prompt and Agent Cookie - Session State Sync for the Agent's Second Mac, the agent-native CLI + session-sync stack now enforced for Kevin's agents.
Timeline
- 2026-06-30 | Deep-reviewed the v3 launch bookmark, repaired the local thumbnail artifact, and advanced the checked-in executable submodule to upstream
v3.8.3. The durable routing update is entity-resolution-before-search as the default for current social/community research. Source: X/@mvanhorn, 2026-04-09; Source: GitHub, 2026-06-30 - 2026-07-04 | Reviewed EXM's Hermes-stack endorsement and refreshed upstream source state to
v3.9.4/ HEADa5b3ca1f; local executable submodule remains atv3.8.3, so this is a drift note rather than an upgrade. Source: X/@EXM7777, 2026-06-01; Source: GitHubmvanhorn/last30days-skill, 2026-07-04 - 2026-04-12 | Installed to
~/.cursor/skills/last30days/. Designated Tier 1 tool. Integrated into wiki workflow as go-to research layer for real-time community signal. Created.cursor/rules/last30days-research.mdcfor agent routing. Source: Kevin, Cursor session - 2026-06-01 | Enforcement re-verified at Kevin's request:
last30days-research.mdc(alwaysApply: true),tool-hierarchy.mdcResearch #1, AGENTS.md § last30days. Linked author Matt Van Horn and sibling tools Printing Press - Agent-Native CLIs from a Single Prompt / Agent Cookie - Session State Sync for the Agent's Second Mac. Source: User, 2026-06-01