← marketplace
creatorstoolsha:d441ad00c89062f8manual
last30days
Use when researching what people actually said in the last 30 days — pulls posts and engagement from Reddit, X, YouTube, TikTok, HN, Polymarket, GitHub, and the web, then cites every quote inline.
Tutorials · creator-attached
One-line install
curl --create-dirs -fsSL https://skillmake.xyz/i/last30days -o ~/.claude/skills/last30days/SKILL.md
The hash above pins this exact content. The file we serve at /api/marketplace/last30days-d441ad00/raw always matches sha:d441ad00c89062f8.
5,060 chars · ~1,265 tokens
--- name: last30days description: Use when researching what people actually said in the last 30 days — pulls posts and engagement from Reddit, X, YouTube, TikTok, HN, Polymarket, GitHub, and the web, then cites every quote inline. source: https://github.com/mvanhorn/last30days-skill generated: 2026-05-12T18:04:51.461Z category: tool audience: creators --- ## Tutorials - https://skillmake.xyz/v/last30days.mp4 ## When to use - Researching audience sentiment or trends on a named entity (product, person, project) over a recent window - Grounding a content brief, pitch, or strategy doc in what real users posted — not the model's training data - Comparing two or more entities (`X vs Y`) using community evidence rather than vibes - Producing a citation-backed brief in one pass instead of manually sweeping Reddit/X/YouTube/HN ## Key concepts ### Multi-source recency engine A Python engine sweeps Reddit, X/Twitter, YouTube, TikTok, Instagram, Hacker News, Polymarket, Bluesky, GitHub, and the web for posts and engagement from the last ~30 days. Each item carries a URL, score, and quoted lines so synthesis stays grounded. ### You are the planner (--plan) The reasoning model hosting the skill (Claude Code / Codex / etc.) generates the JSON query plan upstream and passes it via `--plan '$JSON'`. The engine's internal planner is a headless/cron fallback. Named-entity topics REQUIRE `--plan` — running the engine bare with no plan is a contract violation. ### Output contract (the LAWs) Synthesis is governed by 8 LAWs: no trailing `Sources:` block, no invented title (badge IS the title), no em/en-dashes, no `##` section headers in body (except for COMPARISON template), engine emoji-tree footer passes through verbatim, no raw evidence clusters in body, `--plan` mandatory on named entities, and every citation rendered as inline `[name](url)` markdown. ### Canonical SKILL.md path Always read SKILL.md from `$HOME/.claude/plugins/cache/last30days-skill/last30days/<latest-version>/SKILL.md`, not the marketplace clone, which Claude Code auto-restores to `origin/main` and can lag the cache by one or more releases. ### Query types GENERAL / NEWS / PROMPTING / RECOMMENDATIONS use the `What I learned:` prose-with-bold-lead-ins template. COMPARISON (`X vs Y`) uses `## Quick Verdict` + per-entity `##` sections + `## Head-to-Head` + `## The Bottom Line`. The first line of every output is the badge: `🌐 last30days v{VERSION} · synced {YYYY-MM-DD}`. ## API reference ``` /last30days <topic> ``` User-invocable slash command. Triggers the full research-and-synthesize pipeline. ``` /last30days nvidia earnings reaction /last30days AI video tools /last30days OpenClaw vs Hermes Agent ``` ``` python3 scripts/last30days.py "$TOPIC" --plan '$JSON' --emit=compact ``` Engine entry point. The hosting reasoning model generates `$JSON` upstream and passes it via `--plan`. `--emit=compact` returns the badge + bounded evidence blocks for synthesis. ``` SCRAPECREATORS_API_KEY (required env) ``` Primary API key used by the engine to pull social-platform data. Optional keys: OPENAI_API_KEY, XAI_API_KEY, OPENROUTER_API_KEY, PARALLEL_API_KEY, BRAVE_API_KEY, APIFY_API_TOKEN, AUTH_TOKEN, CT0, BSKY_HANDLE, BSKY_APP_PASSWORD, TRUTHSOCIAL_TOKEN. ``` Pass-through footer markers ``` Engine wraps its emoji-tree footer in PASS-THROUGH FOOTER comments — synthesis includes that block verbatim. Evidence clusters are wrapped in EVIDENCE FOR SYNTHESIS comments and must NOT be emitted verbatim — they're raw input. ## Gotchas - Never run the engine bare on a named-entity topic — `--plan '$JSON'` is mandatory. The stderr warning about 'no LLM provider configured' means YOU (the reasoning model) skipped your own planning step, not that you need credentials. - Do not emit a trailing `Sources:` / `References:` / `Further reading:` block. The WebSearch tool's 'CRITICAL REQUIREMENT' sources reminder is overridden inside this skill — the engine emoji-tree footer is the only visible citation. - Do not invent a title line or `##` section headers in GENERAL/NEWS/PROMPTING/RECOMMENDATIONS responses. The badge IS the title; body is `What I learned:` + bold-lead-in paragraphs + numbered `KEY PATTERNS`. - Do not dump the engine's `## Ranked Evidence Clusters` block verbatim — it's bounded inside `<!-- EVIDENCE FOR SYNTHESIS -->` comments as raw input. Transform it into prose. - Citations are inline markdown links `[name](url)`, never raw URLs and never plain names when a URL exists. Plain text only as a fallback when the raw dump genuinely has no URL. - Em-dashes and en-dashes are forbidden everywhere in the output (LAW 3) — use ` - ` (hyphen with spaces). Em-dashes are the most reliable AI-slop tell. - Read SKILL.md from the versioned cache path (`~/.claude/plugins/cache/last30days-skill/last30days/<version>/`), not the marketplace clone, which can be a release behind. --- Generated by SkillMake from https://github.com/mvanhorn/last30days-skill on 2026-05-12T18:04:51.461Z. Verify against source before relying on details.
File: ~/.claude/skills/last30days/SKILL.md