last30daysCommand Library →
Fleet skill field guide

last30days
what people actually say.

One research skill, one question, every platform. It fans across Reddit, X, YouTube, TikTok, Instagram, Hacker News, Polymarket, GitHub and Threads, scores by real engagement, and hands back one brief. Here is what it does, how to run it, and how the fleet uses it.

9 live sourcesEngagement-scoredRuns on Hetzner
? one question
↓ fan out ↓
RedditXYouTubeTikTokHNGitHub
↓ synthesize ↓
📄 one brief
The Big PictureStart here

One question, every platform

One question, every platform

last30days is a research skill that answers one thing fast: what are people actually saying about X right now. Instead of opening fifteen tabs, you ask once. It fans out across Reddit, X, YouTube, TikTok, Instagram, Hacker News, Polymarket, GitHub, and Threads at the same time, then hands back one synthesized brief. It scores by real engagement, upvotes, likes, real money on prediction markets, not by what an editor decided to feature.

  • One query fans out to 9 live sources at once.
  • Ranked by real engagement, not editorial curation.
  • Returns a synthesis you read, not a wall of raw posts.
Best for: "what's the reaction to X", competitor chatter, trend checks, and voice-of-customer before you write.
How It WorksThe pipeline

Resolve, fan out, score, synthesize

Resolve, fan out, score, synthesize

Under the hood it runs four steps. First it RESOLVES the topic into the right handles, subreddits, and hashtags to search. Then it FANS OUT, querying every source in parallel. It SCORES and de-dupes, merging the same story across platforms and ranking by engagement. Finally it SYNTHESIZES the evidence into a brief plus a Best Takes section that surfaces the wittiest and most viral quotes.

  • Resolve: find the real accounts, subs, and tags for the topic.
  • Fan out: all sources searched at the same time.
  • Score + dedupe: merge duplicate stories, rank by engagement.
  • Synthesize: one brief + Best Takes, with citations.
Zero-dependency Python under the hood. Fast, boring, reliable.
What It PullsCoverage

Nine sources, free and paid

Nine sources, free and paid

Four sources work the second you install it with zero keys: Reddit, Hacker News, Polymarket, and GitHub. The rest unlock with the keys we already own. X comes through the xAI API, not cookie scraping, so there is no account-ban risk. TikTok, Instagram, and Threads come through ScrapeCreators. YouTube needs yt-dlp for transcripts. You can include or exclude any source per query.

  • Free, no key: Reddit, Hacker News, Polymarket, GitHub.
  • X via xAI API (safe), TikTok/IG/Threads via ScrapeCreators.
  • YouTube needs yt-dlp; web search via Brave/Exa (optional).
  • Pick sources per query with --search.
On our Hetzner box, all 9 are live right now.
Using ItDay one

Your first query

Your first query

The simplest use is one line: the skill name and a topic. In Claude Code type a slash command, or run the script directly on Hetzner. No keys needed for the free sources, so the very first query works out of the box. Add --search to narrow which platforms it hits, and --quick or --deep to trade speed for recall.

  • Slash command in Claude Code, or run the script on Hetzner.
  • Free sources answer instantly, no setup.
  • --quick for speed, --deep for higher recall.
Heavy runs go to Hetzner by default (remote-default routing). Your home box just kicks it off.
Terminal · Claude CodeOne-line query in Claude Code
/last30days nvidia earnings reaction
Terminal · Claude CodePick your sources directly (on Hetzner)
python3 ~/.claude/skills/last30days/scripts/last30days.py "AI video tools" \
  --search reddit,x,youtube --emit compact --quick
Terminal · Claude CodeSee what's wired before you run
python3 ~/.claude/skills/last30days/scripts/last30days.py --diagnose
Using ItPower moves

Modes and flags worth knowing

Modes and flags worth knowing

A few flags do most of the work. --emit html turns the research into a self-contained, shareable brief you can hand a client. --competitors auto-discovers and compares peer products. --store persists findings to a local SQLite store so you can track a topic over time and run digests. eli5 rewrites the synthesis in plain language on demand. Mix and match per query.

  • --emit html: a shareable, self-contained brief.
  • --competitors: auto-find and compare peers.
  • --store: track a topic over time, run digests.
  • eli5 on: plain-language rewrite of the synthesis.
Terminal · Claude CodeShareable HTML brief for a client
/last30days [client niche] reviews and complaints --emit=html
Terminal · Claude CodeCompetitor scan
/last30days [our product] --competitors
Terminal · Claude CodeStart tracking a topic over time
/last30days [topic] --store
How We Use ItIn the Merlino fleet

Raven's wide-research lane

Raven's wide-research lane

Inside the fleet, last30days is wired to Raven, our research and intel lead. When a job needs current sentiment, competitor chatter, or voice-of-customer before content, Raven reaches for it instead of opening tabs. It runs on Hetzner per remote-default routing, so nothing heavy or scrapey touches the home machine. The output feeds straight into content, SEO, and strategy work.

  • Raven (research lead) owns it as a wide-research tool.
  • Runs on Hetzner, off the home IP, behind our keys.
  • Feeds content, competitor intel, and VoC research.
It's basically packaged Raven wide-research: one call instead of a manual multi-platform sweep.
Terminal · Claude CodeAsk the research lead to use it
Have Raven run last30days on [topic] and give me the synthesis + the 3 best takes, not the raw dump.
Claude DesktopFrame the research question first
I need current sentiment on [topic] before we write. What exact question should we hand the research tool, and which platforms matter most here?
How We Use ItSetup done right

Wired safe by default

Wired safe by default

The setup honors the house rules. Keys live in a chmod 600 env file, never in the repo. X runs through the xAI API instead of scraping a real account's cookies, so there's no ban risk from a datacenter IP. The skill is zero-dependency Python with no telemetry, vetted before it shipped. It lives in the canonical skills repo as the source of truth and is wired into both the Hetzner and local runtimes.

  • Keys in a chmod 600 env file, never committed.
  • X via xAI API, not cookie scraping. No ban risk.
  • Zero-dep, no telemetry, vetted before shipping.
  • Canonical merlino-skills repo = source of truth.
If the cookie-scrape X path is ever turned on, use a burner X account, never the real one.

Keep the prompts handy

Every last30days command from this guide plus extra everyday queries, in one page you can bookmark.

Open the Command Library →