last30days
Deep research across 10+ social platforms and prediction markets, synthesized into cited reports on what people are discussing right now.
- Searches Reddit, X, Bluesky, Truth Social, YouTube, TikTok, Instagram, Hacker News, Polymarket, and the web for content from the last 30 days (configurable with
--days) - Extracts engagement signals (upvotes, likes, views, comments) and cross-platform patterns to identify strongest community signals
- Supports four query types: recommendations (specific tool/product lists), news (current events), prompting (techniques and examples), and comparisons (side-by-side analysis)
- Saves raw research briefings as markdown files to
~/Documents/Last30Days/and can run in agent mode for non-interactive report output
STEP 0: CANONICAL PATH SELF-CHECK — RUN BEFORE READING BELOW
Before reading anything else in this file, verify that the SKILL.md you just loaded is the versioned cache copy, not a stale marketplace clone:
CANONICAL_ROOT="$HOME/.claude/plugins/cache/last30days-skill/last30days"
CANONICAL_LATEST=$(ls -d "$CANONICAL_ROOT"/*/ 2>/dev/null | sort -V | tail -1)
CANONICAL_LATEST="${CANONICAL_LATEST%/}"
If the SKILL.md file you just read is NOT under $CANONICAL_LATEST/, STOP and re-read $CANONICAL_LATEST/SKILL.md before proceeding. Do not run --help, do not plan, do not invoke the engine against any other path.
Why: ~/.claude/plugins/marketplaces/last30days-skill/ is a git clone Claude Code auto-restores to origin/main on session start. It can lag the versioned cache by one or more releases. Three 2026-04-22 test runs (Linear, Coinbase) loaded SKILL.md from marketplaces/, ran --help from the same stale path, did not see the --competitors flag that existed in the cache, and fell back to a manual comparison plan. Result: 2 of 3 windows never invoked the feature they were asked to test.
How to self-check: the file path you used in your last Read tool call should match $CANONICAL_LATEST/SKILL.md. If it contains marketplaces/ or any other prefix, that is the stale-path failure mode. Re-read from $CANONICAL_LATEST/SKILL.md and restart this contract from the top.
The same pinned resolver appears later in Step 1 for the engine Bash invocation. That guard is necessary but insufficient — by the time you reach Step 1, you may have already internalized an out-of-date flag list from the stale SKILL.md above it. This STEP 0 runs first so the CONTRACT itself is read from the right file.
More from mvanhorn/last30days-skill
last30days-3
Multi-query social search with intelligent planning. Agent plans queries when possible, falls back to Gemini/OpenAI when not. Research any topic across Reddit, X, YouTube, TikTok, Instagram, Hacker News, Polymarket, and the web.
2last30days-v3-spec
Internal architecture spec for the v3 last30days runtime pipeline. Not user-invocable.
1