Install
Copy this and paste it into Claude Code, Cursor, or any AI assistant:
I want to install the "last30days" skill in my project. Repository: https://github.com/mvanhorn/last30days-skill Please read the repo to find the SKILL.md file(s), then: 1. Download them into the correct skills directory (.claude/skills/ or .cursor/skills/) 2. Include any companion files referenced by the skill 3. Confirm what was installed and where
Description
Deep research engine covering the last 30 days across 10+ sources - Reddit, X/Twitter, YouTube, TikTok, Instagram, Hacker News, Polymarket, Bluesky, Truth Social, web. AI synthesizes findings into grounded, cited reports. The most comprehensive recency research skill on ClawHub.
last30days v2.9.5: Research Any Topic from the Last 30 Days
> Permissions overview: Reads public web/platform data and optionally saves research briefings to ~/Documents/Last30Days/. X/Twitter search uses optional user-provided tokens (AUTH_TOKEN/CT0 env vars). Bluesky search uses optional app password (BSKY_HANDLE/BSKY_APP_PASSWORD env vars - create at bsky.app/settings/app-passwords). Truth Social search uses optional bearer token (TRUTHSOCIAL_TOKEN env var - extract from browser dev tools). All credential usage and data writes are documented in the Security & Permissions section. Research ANY topic across Reddit, X, Bluesky, Truth Social, YouTube, TikTok, Hacker News, Polymarket, and the web. Surface what people are actually discussing, recommending, betting on, and debating right now.
CRITICAL: Parse User Intent
Before doing anything, parse the user's input for: • TOPIC: What they want to learn about (e.g., "web app mockups", "Claude Code skills", "image generation") • TARGET TOOL (if specified): Where they'll use the prompts (e.g., "Nano Banana Pro", "ChatGPT", "Midjourney") • QUERY TYPE: What kind of research they want: • PROMPTING - "X prompts", "prompting for X", "X best practices" → User wants to learn techniques and get copy-paste prompts • RECOMMENDATIONS - "best X", "top X", "what X should I use", "recommended X" → User wants a LIST of specific things • NEWS - "what's happening with X", "X news", "latest on X" → User wants current events/updates • COMPARISON - "X vs Y", "X versus Y", "compare X and Y", "X or Y which is better" → User wants a side-by-side comparison • GENERAL - anything else → User wants broad understanding of the topic Common patterns: • [topic] for [tool] → "web mockups for Nano Banana Pro" → TOOL IS SPECIFIED • [topic] prompts for [tool] → "UI design prompts for Midjourney" → TOOL IS SPECIFIED • Just [topic] → "iOS design mockups" → TOOL NOT SPECIFIED, that's OK • "best [topic]" or "top [topic]" → QUERY_TYPE = RECOMMENDATIONS • "what are the best [topic]" → QUERY_TYPE = RECOMMENDATIONS • "X vs Y" or "X versus Y" → QUERY_TYPE = COMPARISON, TOPIC_A = X, TOPIC_B = Y (split on vs or versus with spaces) IMPORTANT: Do NOT ask about target tool before research. • If tool is specified in the query, use it • If tool is NOT specified, run research first, then ask AFTER showing results Store these variables: • TOPIC = [extracted topic] • TARGET_TOOL = [extracted tool, or "unknown" if not specified] • QUERY_TYPE = [RECOMMENDATIONS | NEWS | HOW-TO | COMPARISON | GENERAL] • TOPIC_A = [first item] (only if COMPARISON) • TOPIC_B = [second item] (only if COMPARISON) DISPLAY your parsing to the user. Before running any tools, output: ` I'll research {TOPIC} across Reddit, X, Bluesky, Truth Social, TikTok, and the web to find what's been discussed in the last 30 days. Parsed intent: • TOPIC = {TOPIC} • TARGET_TOOL = {TARGET_TOOL or "unknown"} • QUERY_TYPE = {QUERY_TYPE} Research typically takes 2-8 minutes (niche topics take longer). Starting now. ` If TARGET_TOOL is known, mention it in the intro: "...to find {QUERY_TYPE}-style content for use in {TARGET_TOOL}." This text MUST appear before you call any tools. It confirms to the user that you understood their request. ---
Step 0.5: Resolve X Handle (if topic could have an X account)
If TOPIC looks like it could have its own X/Twitter account - people, creators, brands, products, tools, companies, communities (e.g., "Dor Brothers", "Jason Calacanis", "Nano Banana Pro", "Seedance", "Midjourney"), do ONE quick WebSearch: ` WebSearch("{TOPIC} X twitter handle site:x.com") ` From the results, extract their X/Twitter handle. Look for: • Verified profile URLs like x.com/{handle} or twitter.com/{handle} • Mentions like "@handle" in bios, articles, or social profiles • "Follow @handle on X" patterns Verify the account is real, not a parody/fan account. Check for: • Verified/blue checkmark in the search results • Official website linking to the X account • Consistent naming (e.g., @thedorbrothers for "The Dor Brothers", not @DorBrosFan) • If results only show fan/parody/news accounts (not the entity's own account), skip - the entity may not have an X presence If you find a clear, verified handle, pass it as --x-handle={handle} (without @). This searches that account's posts directly - finding content they posted that doesn't mention their own name. Skip this step if: • TOPIC is clearly a generic concept, not an entity (e.g., "best rap songs 2026", "how to use Docker", "AI ethics debate") • TOPIC already contains @ (user provided the handle directly) • Using --quick depth • WebSearch shows no official X account exists for this entity Store: RESOLVED_HANDLE = {handle or empty} ---
Agent Mode (--agent flag)
If --agent appears in ARGUMENTS (e.g., /last30days plaud granola --agent): • Skip the intro display block ("I'll research X across Reddit...") • Skip any AskUserQuestion calls - use TARGET_TOOL = "unknown" if not specified • Run the research script and WebSearch exactly as normal • Skip the "WAIT FOR USER RESPONSE" pause • Skip the follow-up invitation ("I'm now an expert on X...") • Output the complete research report and stop - do not wait for further input Agent mode saves raw research data to ~/Documents/Last30Days/ automatically via --save-dir (handled by the script, no extra tool calls). Agent mode report format: `
Discussion
Health Signals
My Fox Den
Community Rating
Sign in to rate this booster
