$npx -y skills add AlekseiUL/sprut-agent-kit --skill last30daysResearch a topic from the last 30 days on Reddit + X + Web, become an expert, and write copy-paste-ready prompts for the user's target tool.
| 1 | # last30days: Research Any Topic from the Last 30 Days |
| 2 | |
| 3 | Research ANY topic across Reddit, X, and the web. Surface what people are actually discussing, recommending, and debating right now. |
| 4 | |
| 5 | ## CRITICAL: Parse User Intent |
| 6 | |
| 7 | Before doing anything, parse the user's input for: |
| 8 | |
| 9 | 1. **TOPIC**: What they want to learn about (e.g., "web app mockups", "Claude Code skills", "image generation") |
| 10 | 2. **TARGET TOOL** (if specified): Where they'll use the prompts (e.g., "Nano Banana Pro", "ChatGPT", "Midjourney") |
| 11 | 3. **QUERY TYPE**: What kind of research they want: |
| 12 | - **PROMPTING** - "X prompts", "prompting for X", "X best practices" → User wants to learn techniques and get copy-paste prompts |
| 13 | - **RECOMMENDATIONS** - "best X", "top X", "what X should I use", "recommended X" → User wants a LIST of specific things |
| 14 | - **NEWS** - "what's happening with X", "X news", "latest on X" → User wants current events/updates |
| 15 | - **GENERAL** - anything else → User wants broad understanding of the topic |
| 16 | |
| 17 | Common patterns: |
| 18 | - `[topic] for [tool]` → "web mockups for Nano Banana Pro" → TOOL IS SPECIFIED |
| 19 | - `[topic] prompts for [tool]` → "UI design prompts for Midjourney" → TOOL IS SPECIFIED |
| 20 | - Just `[topic]` → "iOS design mockups" → TOOL NOT SPECIFIED, that's OK |
| 21 | - "best [topic]" or "top [topic]" → QUERY_TYPE = RECOMMENDATIONS |
| 22 | - "what are the best [topic]" → QUERY_TYPE = RECOMMENDATIONS |
| 23 | |
| 24 | **IMPORTANT: Do NOT ask about target tool before research.** |
| 25 | - If tool is specified in the query, use it |
| 26 | - If tool is NOT specified, run research first, then ask AFTER showing results |
| 27 | |
| 28 | **Store these variables:** |
| 29 | - `TOPIC = [extracted topic]` |
| 30 | - `TARGET_TOOL = [extracted tool, or "unknown" if not specified]` |
| 31 | - `QUERY_TYPE = [RECOMMENDATIONS | NEWS | HOW-TO | GENERAL]` |
| 32 | |
| 33 | **DISPLAY your parsing to the user.** Before running any tools, output: |
| 34 | |
| 35 | ``` |
| 36 | I'll research {TOPIC} across Reddit, X, and the web to find what's been discussed in the last 30 days. |
| 37 | |
| 38 | Parsed intent: |
| 39 | - TOPIC = {TOPIC} |
| 40 | - TARGET_TOOL = {TARGET_TOOL or "unknown"} |
| 41 | - QUERY_TYPE = {QUERY_TYPE} |
| 42 | |
| 43 | Research typically takes 2-8 minutes (niche topics take longer). Starting now. |
| 44 | ``` |
| 45 | |
| 46 | If TARGET_TOOL is known, mention it in the intro: "...to find {QUERY_TYPE}-style content for use in {TARGET_TOOL}." |
| 47 | |
| 48 | This text MUST appear before you call any tools. It confirms to the user that you understood their request. |
| 49 | |
| 50 | --- |
| 51 | |
| 52 | ## Research Execution |
| 53 | |
| 54 | **Step 1: Run the research script** |
| 55 | ```bash |
| 56 | python3 "${CLAUDE_PLUGIN_ROOT:-$HOME/.claude/skills/last30days}/scripts/last30days.py" "$ARGUMENTS" --emit=compact 2>&1 |
| 57 | ``` |
| 58 | |
| 59 | The script will automatically: |
| 60 | - Detect available API keys |
| 61 | - Run Reddit/X searches if keys exist |
| 62 | - Signal if WebSearch is needed |
| 63 | |
| 64 | --- |
| 65 | |
| 66 | ## STEP 2: DO WEBSEARCH WHILE SCRIPT RUNS |
| 67 | |
| 68 | The script auto-detects sources (Bird CLI, API keys, etc). While waiting for it, do WebSearch. |
| 69 | |
| 70 | For **ALL modes**, do WebSearch to supplement (or provide all data in web-only mode). |
| 71 | |
| 72 | Choose search queries based on QUERY_TYPE: |
| 73 | |
| 74 | **If RECOMMENDATIONS** ("best X", "top X", "what X should I use"): |
| 75 | - Search for: `best {TOPIC} recommendations` |
| 76 | - Search for: `{TOPIC} list examples` |
| 77 | - Search for: `most popular {TOPIC}` |
| 78 | - Goal: Find SPECIFIC NAMES of things, not generic advice |
| 79 | |
| 80 | **If NEWS** ("what's happening with X", "X news"): |
| 81 | - Search for: `{TOPIC} news 2026` |
| 82 | - Search for: `{TOPIC} announcement update` |
| 83 | - Goal: Find current events and recent developments |
| 84 | |
| 85 | **If PROMPTING** ("X prompts", "prompting for X"): |
| 86 | - Search for: `{TOPIC} prompts examples 2026` |
| 87 | - Search for: `{TOPIC} techniques tips` |
| 88 | - Goal: Find prompting techniques and examples to create copy-paste prompts |
| 89 | |
| 90 | **If GENERAL** (default): |
| 91 | - Search for: `{TOPIC} 2026` |
| 92 | - Search for: `{TOPIC} discussion` |
| 93 | - Goal: Find what people are actually saying |
| 94 | |
| 95 | For ALL query types: |
| 96 | - **USE THE USER'S EXACT TERMINOLOGY** - don't substitute or add tech names based on your knowledge |
| 97 | - EXCLUDE reddit.com, x.com, twitter.com (covered by script) |
| 98 | - INCLUDE: blogs, tutorials, docs, news, GitHub repos |
| 99 | - **DO NOT output "Sources:" list** - this is noise, we'll show stats at the end |
| 100 | |
| 101 | **Options** (passed through from user's command): |
| 102 | - `--days=N` → Look back N days instead of 30 (e.g., `--days=7` for weekly roundup) |
| 103 | - `--quick` → Faster, fewer sources (8-12 each) |
| 104 | - (default) → Balanced (20-30 each) |
| 105 | - `--deep` → Comprehensive (50-70 Reddit, 40-60 X) |
| 106 | |
| 107 | --- |
| 108 | |
| 109 | ## Judge Agent: Synthesize All Sources |
| 110 | |
| 111 | **After all searches complete, internally synthesize (don't display stats yet):** |
| 112 | |
| 113 | The Judge Agent must: |
| 114 | 1. Weight Reddit/X sources HIGHER (they have engagement signals: upvotes, likes) |
| 115 | 2. Weight WebSearch sources LOWER (no engagement data) |
| 116 | 3. Identify patterns that appear across ALL three sources (strongest signals) |
| 117 | 4. Note an |