
Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store.
This skill turns a topic into a recent evidence brief by searching the platforms where people actually react first. It pulls from sources like Reddit, X, YouTube, Hacker News, Polymarket, and the web, then ranks and merges the results into one summary with citations.
Builders who want Claude Code, Codex, Cursor, or other agent hosts to investigate what people have said or done in the last 30 days.
You can ask one topic question and get a grounded, cross-source brief instead of piecing together posts, threads, and videos yourself.
Searches Reddit, X, YouTube, Hacker News, Polymarket, GitHub, and web sources in parallel.
Ranks what people engaged with by upvotes, likes, comments, and market odds instead of editor-picked links.
Turns the collected evidence into one brief with quotes, counts, and source-backed claims.
Ships as a Claude Code plugin, Agent Skills install, Grok plugin, and MCP bundle.
Includes install guidance, preflight checks, and source-specific configuration for keys, cookies, and browser access.
/plugin marketplace add mvanhorn/last30days-skill
npx skills add mvanhorn/last30days-skill -g -a claude-code
grok plugin install mvanhorn/last30days-skill
grok plugin marketplace add mvanhorn/last30days-skill grok plugin install last30days
npx skills add mvanhorn/last30days-skill -g
npx skills add mvanhorn/last30days-skill -g -a codex npx skills add mvanhorn/last30days-skill -g -a cursor npx skills add mvanhorn/last30days-skill -g -a gemini-cli npx skills add mvanhorn/last30days-skill -g -a codex -a cursor
English | Français | Deutsch | Español | Português (Brasil) | 日本語 | 简体中文
An AI agent-led search engine scored by upvotes, likes, and real money - not editors.
This README tracks the current v3 pipeline. The runtime skill spec lives in skills/last30days/SKILL.md, which is the source of truth for the latest command and setup behavior.
Claude Code (recommended — auto-updates via marketplace):
/plugin marketplace add mvanhorn/last30days-skill
/plugin install last30days
Codex, Cursor, Copilot, Gemini CLI, or any of 50+ Agent Skills hosts:
npx skills add mvanhorn/last30days-skill -g
(-g installs globally for your user, available across all projects. Drop it to scope per-project.)
More install options (claude.ai web, OpenClaw, manual) in the Install section below.
Zero config. Reddit, HN, Polymarket, and GitHub work immediately. Run it once and the setup wizard unlocks X, YouTube, TikTok, arXiv, Techmeme, and more in 30 seconds.
Reddit upvotes. X likes. YouTube transcripts. TikTok engagement. Polymarket odds backed by real money and insider information. That's millions of people voting with their attention and their wallets every day. /last30days searches all of it in parallel, scores it by what real people actually engage with, and an AI agent judge synthesizes it into one brief.
Google aggregates editors. /last30days searches people.
You can't get this search anywhere else because no single AI has access to all of it. Google search doesn't touch Reddit comments or X posts. ChatGPT has a deal with Reddit but can't search X or TikTok. Gemini has YouTube but not Reddit. Claude has none of them natively. Each platform is a walled garden with its own API, its own tokens, its own auth. But you can bring your own keys and browser sessions, and suddenly an AI agent can search all of them at once, score them against each other, and tell you what actually matters.
That's the unlock. Not one better search engine. A dozen disconnected platforms, bridged by an agent.
/last30days Peter Steinberger
You have a meeting tomorrow. You Google them. You get their LinkedIn from 2023. /last30days gives you what they're actually doing this month: joined OpenAI to work on Codex, fighting Anthropic's ban on third-party agents, shipping 23 PRs at 85% merge rate, building "LobsterOS" for cross-device agent control, and r/ClaudeCode hit 569 upvotes debating whether he's a hero or "insufferable." Scattered across X posts, Reddit threads, YouTube transcripts, and GitHub commits. None of it was on Google.
I built it to keep up in AI. Everything changes every day and the Reddit and X nerds are always on top of it first. I needed better prompts, and the training data was always months behind what the community had already figured out.
But it turned into something bigger. Now I run it before a sales call to know the last 30 days truth about a business. Before a meeting to read someone's recent tweets and podcast transcripts. Before a Disney World trip to know which rides are closed and what the community says about Genie+. Before I build anything to know what problems people are actually hitting.
If you're meeting with a CEO, have you read all their tweets and YouTube transcripts from the last 30 days? I have.
| Source | What the people tell you |
|---|---|
| The unfiltered take. Top comments with real upvote counts, free, no API key. The real opinions that Google buries. | |
| X / Twitter | The hot take, the expert thread, the breaking reaction. First to know, first to argue. |
| YouTube | The 45-minute deep dive. Full transcripts searched for the 5 quotable sentences that matter. |
| TikTok | The creator reaching 3.6M people with a take you'll never find on Google. |
| Instagram Reels | The influencer perspective with spoken-word transcripts. The visual culture signal. |
| Hacker News | The developer consensus. 825 points, 899 comments. Where technical people actually argue. |
| Polymarket | Not opinions. Odds. Backed by real money. 96% confidence on album sales. 4% on an acquisition. |
| GitHub | For people: PR velocity, top repos by stars, release notes. For topics: issues and discussions. |
| Digg | Curated story clusters from Digg's AI 1000 leaderboard (~1000 high-signal AI accounts on X), with attributable inline quotes (no X auth required). Auto-enabled when digg-pp-cli is on PATH. |
| arXiv | The papers behind the hype. New research in the window, free, no API key. Auto-enabled when arxiv-pp-cli is on PATH (first-run setup installs it). |
| Techmeme | The tech-news editorial layer, date-windowed to your 30 days. Free, no API key. Auto-enabled when techmeme-pp-cli is on PATH (first-run setup installs it). |
| The professional signal. Posts and articles, with articles weighted as high signal. | |
| StockTwits | Trader sentiment. Auto-activates when your topic is a ticker or crypto. |
| Threads | The post-Twitter text layer. Conversations from creators and brands. |
| Visual discovery. Pins, saves, and comments on products and ideas. | |
| Xiaohongshu (RED) | Chinese lifestyle, product, and creator signals. Requested explicitly with --search xhs when a logged-in x-mcp browser plugin or xiaohongshu-mcp service is running locally. |
| Bluesky | The decentralized social layer. AT Protocol posts from the post-Twitter migration. |
| Perplexity | Controlled Agent API synthesis, OpenRouter Sonar fallback, raw Search API rows, and explicit Deep Research. |
| Web | The editorial coverage, the blog comparisons. One signal of many, not the only one. |
Community contributors keep adding more. Truth Social and other niche sources are in the engine with more on the way.
A Reddit thread with 1,500 upvotes is a stronger signal than a blog post nobody read. A TikTok with 3.6M views tells you more about what's culturally relevant than a press release. Polymarket odds backed by $66K in volume are harder to argue with than a pundit's guess.
The synthesis ranks by what real people actually engaged with. Social relevancy, not SEO relevancy.
Before a meeting. /last30days Peter Steinberger - joined OpenAI's Codex team, fighting Anthropic's ban on third-party agents, 23 PRs merged at 85% merge rate on GitHub, building LobsterOS for cross-device agent control. r/ClaudeCode: "Ever since OpenClaw released, it was widely known that if you run it through anything other than the API, you were gonna get banned eventually" (227 upvotes). That's not on LinkedIn.
To read hiring signals. /last30days Listen Labs --hiring-signals - current jobs and careers pages become cited evidence for focus shifts: hiring into enterprise security, customer success, infrastructure, or product expansion. The report says what the hiring appears to signal, not what the roadmap will ship.
To find the topic before it peaks. Ask /last30days what's exploding in AI agents? and the skill switches to discovery mode: the engine sweeps Reddit category listings, Hacker News front/best stories, Digg's AI 1000 feed, and X when authenticated; your agent judges the nominations (names, junk filtering, content-worthiness) and writes podcast / X-article angles; then you get 5-10 velocity-ranked topics. Every result includes cross-source numbers, a momentum label, and a ready-to-run /last30days "<topic>" follow-up.
When something drops. /last30days Kanye West - UK blocked his visa, Wireless Festival canceled, sponsors fled. But BULLY debuted #2 on Billboard. Fantano came back from his "Yay sabbatical" to review it (653K views). SoFi Homecoming brought out Lauryn Hill and Travis Scott for 44 songs. Polymarket: "Will Kanye tweet again?" 86% Yes. 23 Reddit threads, 17 YouTube videos, 86K upvotes.
To compare tools. /last30days OpenClaw vs Hermes vs Paperclip - "These aren't competitors, they're layers." OpenClaw is the executor (351K GitHub stars, live), Hermes is the self-improving brain (31K stars), Paperclip is the org chart (49K stars). Star counts pulled live from the GitHub API, not stale blog posts. Side-by-side table with architecture, memory, security, best-for. Per @IMJustinBrooke: "OpenClaw = Charmander, Hermes = Charizard."
To understand the world. /last30days Iran vs USA - Day 38 of the war. Trump's Tuesday deadline for Iran to reopen the Strait of Hormuz. Two US warplanes downed. Oil at $126/barrel. The IEA called it "the largest supply disruption in the history of the global oil market." Polymarket: ceasefire by Dec 31 at 74%. 27 X posts, 10 YouTube videos, 20 prediction markets.
Before a trip. /last30days Universal Epic Universe - Expansion already under construction. "Project 680" permit filed. Fireworks show confirmed by infrastructure but unannounced. Wait times: Mine-Cart Madness averaging 148 minutes. No annual pass yet, and locals are frustrated. Stardust Racers down for refurbishment through April 5.
To learn something fast. /last30days Nano Banana Pro prompting - JSON-structured prompts are replacing tag soup. @pictsbyai's nested format prevents "concept bleeding." Edit-first workflow beats regeneration. Then it writes you a production prompt using exactly what the community said works.
Since the v3.3 announcement in May, as of v3.11.1 (July 2026): 175 merged PRs - 122 of them from 52 community contributors - across 15 releases. This is what landed.
/last30days is now a native Codex plugin with guided setup - not a port, a first-class citizen. Renderer-aware citations mean Codex output reads like a brief instead of URL soup (#694), and the same engine runs on Claude Code, Cursor, Copilot, Gemini CLI, Claude Desktop, OpenClaw, and 50+ Agent Skills hosts. Codex plugin manifest by @rfoust (#686), Codex auth fix by @tmchow (#698).
arXiv brings the papers behind the hype and Techmeme brings the editorial tech-news layer - free, zero keys, and first-run setup installs their CLIs so they activate automatically (#709). Digg's AI 1000 story clusters arrive without X auth the same way - setup installs the free Digg CLI for you (#590). Trustpilot ships opt-in for consumer-brand research.
Reddit's public .json API died; the free path came back stronger. Keyless RSS + shreddit scraping (#457), dedicated-subreddit discovery with real upvote counts via arctic-shift (#696), and a relevance floor so a viral off-topic post can't hijack your brief (#488, thanks @rzachsmith). No API key. Real scores. Top comments included.
Comments are now a default-on layer across sources: Instagram comments with rank-based diversity so five hot takes don't all come from one post (#751), YouTube comments plus a ScrapeCreators transcript backup for when yt-dlp strikes out (#637), and crowd-voted comments weighted into Best Takes so the community's funniest lines survive scoring (#592, #608).
Ask for a health check and the doctor runs every source, then prescribes exact fixes - which key is missing, which CLI is off PATH, which cookie expired (#753). No more guessing why X came back thin.
The X pipeline got a ground-up overhaul: FROM and ABOUT lanes so a person's own posts and the conversation about them both rank (#610), person-aware subquery disambiguation (#611), first-party authorship grounding with interaction-signal ranking (#613), and a single X source with automatic backend failover (#622). Plus an honest --diagnose that actually probes auth (#609).
LinkedIn via ScrapeCreators, with articles as high signal (@ravstr, #702). StockTwits auto-activates for ticker and crypto topics (@wtiwana, #658). Perplexity grew direct API modes and async Deep Research (@sk-holmes, #629).
The security wave was almost entirely community work: stored-XSS fixes in the HTML renderer (@iliaal, @aaronjmars), locked-down cookie temp files, supply-chain-hardened CI with OpenSSF Scorecard and build provenance attestation (@shaanmajid, @hammadxcm, @aniruddh909), Semgrep and OSV-Scanner scans plus a PR dependency-review gate (@23241a6749), a test-coverage floor introduced at 60% and since raised to 84% (@gourab5139014), and a Hermes security scan cleared of every CRITICAL finding (#768).
Hebrew and non-Latin languages (@dudyme). CJK-aware tokenization for Chinese sources (@An-idd). A Windows compatibility wave. Cookie extraction across the full Chromium family - Brave, Edge, Vivaldi, Opera, Arc (@andrey-esipov) - plus macOS Keychain and Linux pass(1) credential sources. --as-of historical lookback (@chiyi-creator). Auto-provisioned Python 3.12 via uv (@buntysomroy). --hiring-signals for reading a company's job pages. Watchlist deltas between runs.
The v3 foundations are all still here: the pre-research brain that resolves the right handles, subreddits, and hashtags before a single API call fires (built by @j-sperling); Best Takes scoring for humor and virality alongside relevance; cross-source cluster merging; single-pass comparisons ("CLI vs MCP" in 3 minutes, not 12); auto-discovered --competitors comparisons; GitHub person-mode (--github-user=steipete); ELI5 mode ("eli5 on" after any run); and shareable, self-contained HTML briefs (--emit=html). Configuration knobs live in CONFIGURATION.md.
| Surface | Install | Updates |
|---|---|---|
| Claude Code (recommended) | /plugin marketplace add mvanhorn/last30days-skill | Auto via marketplace, or claude plugin update last30days@last30days-skill |
| Grok (xAI Build CLI) | grok plugin marketplace add mvanhorn/last30days-skill then grok plugin install last30days | grok plugin update last30days |
| Codex, Cursor, Copilot, Gemini CLI, or any of 50+ Agent Skills hosts | npx skills add mvanhorn/last30days-skill -g | npx skills update last30days -g |
| claude.ai (web) | Download last30days.skill and upload via claude.ai > Customize > Skills > + > Create skill > Upload a skill | Re-download and re-upload |
| Claude Desktop | Download the .mcpb for your platform and drag into Settings > Extensions | Re-download and drag the new bundle in |
| OpenClaw | clawhub install last30days-official | clawhub update last30days-official |
/plugin marketplace add mvanhorn/last30days-skill
Recommended because the Claude Code marketplace handles updates for you — the plugin cache is versioned and auto-refreshes when a new release publishes. Run claude plugin update last30days@last30days-skill to force a check.
If you'd rather use the agent-skills install path on Claude Code, that's also supported:
npx skills add mvanhorn/last30days-skill -g -a claude-code
The native plugin and the npx skills install can coexist. Note that Claude Code does not dedupe across install methods: if you have both the marketplace plugin and the npx skills copy active, /last30days will show two entries. Use one install method per machine.
Grok Build (grok) installs last30days as a native plugin. Direct install tracks the repository:
grok plugin install mvanhorn/last30days-skill
Or add this repo as a marketplace source, then install by plugin name:
grok plugin marketplace add mvanhorn/last30days-skill
grok plugin install last30days
Add --trust to skip the install confirmation. Update with grok plugin update last30days. Grok also reads the Claude Code manifests for compatibility; the native .grok-plugin/ pair is the first-class lane (and what an official xAI marketplace listing points at). npx skills add remains a valid cross-host fallback. On Grok Bot, X search runs through the bot's X connector, with the official X API (X_BEARER_TOKEN) as backup.
Install via the open Agent Skills CLI — supports 50+ harnesses including codex, cursor, github-copilot, gemini-cli, claude-code, windsurf, cline, continue, roo, aider-desk, opencode, goose, and more (full list on the vercel-labs/skills repo).
npx skills add mvanhorn/last30days-skill -g
The -g (global) flag installs to your user directory so the skill is available across all projects. Without -g, npx skills installs project-locally into ./.skills/ (committed with the repo). For a research-the-world tool, global is what you want.
Codex desktop and other folder-mode hosts can work in ordinary folders as well as Git repos. Before first research, ask the host agent to run the bundled scripts/last30days.py --preflight from the loaded skill directory; in a source checkout, the equivalent command is python3 skills/last30days/scripts/last30days.py --preflight. It shows the config source, browser-cookie plan, planned writes, optional commands, and ignored project config without reading cookies, writing files, or running research.
By default this installs for whichever harness npx skills detects. To target a specific one (or multiple):
npx skills add mvanhorn/last30days-skill -g -a codex
npx skills add mvanhorn/last30days-skill -g -a cursor
npx skills add mvanhorn/last30days-skill -g -a gemini-cli
npx skills add mvanhorn/last30days-skill -g -a codex -a cursor
Update later with:
npx skills update last30days -g
Or update everything you've installed globally via npx skills:
npx skills update -g
List and remove with npx skills list -g and npx skills remove last30days -g.
last30days.skill from the latest release+ button in the Skills panel > click on Create skill > Upload a skill and browse/drop the file inEnable "Code execution and file creation" under Capabilities first — skills won't run without it.
Claude Desktop installs /last30days as an MCP server via a .mcpb bundle (a one-click Model Context Protocol package).
.mcpb for your platform:
last30days-pp-mcp-darwin-arm64.mcpblast30days-pp-mcp-darwin-amd64.mcpblast30days-pp-mcp-linux-amd64.mcpbresearch tool.Host requirement: Python 3.12+ on PATH. The bundle ships the engine source but uses your local Python interpreter. Install from python.org on Windows; macOS and most Linux distros ship a compatible version.
Keys don't sync with the Code skill. Claude Desktop and Claude Code maintain separate credential stores by design. If you already configured ~/.config/last30days/.env for the Code skill, you'll re-enter the same keys here once.
Windows support is deferred until per-platform manifest entry points are sorted out; track in a follow-up issue.
clawhub install last30days-official
For X/Twitter action workflows outside /last30days research, such as posting
tweets or replies, follower export, media handling, monitors, and giveaway
draws, use TweetClaw as the companion
OpenClaw plugin. TweetClaw is maintained by Xquik-dev and is listed only as an
optional companion path, not a last30days dependency or endorsement.
git clone https://github.com/mvanhorn/last30days-skill.git
ln -s "$(pwd)/last30days-skill/skills/last30days" ~/.claude/skills/last30days
The symlink keeps the install in sync with your working tree as you edit — no re-copy needed. For claude.ai, build the .skill file from source: bash skills/last30days/scripts/build-skill.sh produces dist/last30days.skill.
Reddit (with comments), Hacker News, Polymarket, and GitHub work immediately. Zero configuration. Run /last30days once and the setup wizard unlocks more sources in 30 seconds, including the free arXiv and Techmeme CLIs.
These platforms don't have relationships with each other. X doesn't know what Reddit thinks. YouTube doesn't see TikTok. But you can bring your own API keys and browser tokens, and suddenly you have access to all of them at once.
| Sources | What you need | Cost |
|---|---|---|
| Reddit (with comments) + HN + Polymarket + GitHub + StockTwits | Nothing | Free |
| arXiv + Techmeme | Free CLIs, auto-installed by first-run setup | Free |
| X / Twitter | Set X_BEARER_TOKEN for the official X API (recent posts, about the last week, unless your X developer project has full-archive access; the default on Grok Bot, opt-in elsewhere with LAST30DAYS_X_BACKEND=xapi), or log into x.com in any browser, or set XQUIK_API_KEY / XAI_API_KEY | X API credits come from your X developer project; browser cookies are free; other keys are provider-specific |
| YouTube | brew install yt-dlp | Free |
Sign in to join the discussion.
No comments yet. Be the first to say what this is good for.

Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store.
Topic in, narrated explainer video out. A Claude Code / Codex skill that turns any topic into a black-canvas motion-graphics explainer video with TTS voiceover, subtitles and a chapter progress bar. Chinese or English; every frame drawn in code with Remotion.
Public repository for Agent Skills
Open-source AI job search: scan job portals, evaluate listings into a structured A-H report with a global 1-5 score, tailor your CV, track applications — runs locally in your AI coding CLI (Claude Code, Codex, OpenCode, Antigravity…)
Agent skill for beautiful, verifiable architecture, workflow, sequence, data-flow, and lifecycle diagrams—self-contained HTML with motion and crisp export.
A skill to stop your coding agent from burying the answer. ADHD-friendly output.