{"id":"127fec20-c021-4b87-8ff3-e3e23822eacd","shortId":"sQy6MR","kind":"skill","title":"last30days","tagline":"Research any topic from the last 30 days on Reddit + X + Web, synthesize findings, and write copy-paste-ready prompts. Use when the user wants recent social/web research on a topic, asks \"what are people saying about X\", or wants to learn current best practices. Requires OPENAI_A","description":"# last30days: Research Any Topic from the Last 30 Days\n\nResearch ANY topic across Reddit, X, and the web. Surface what people are actually discussing, recommending, and debating right now.\n\nUse cases:\n- **Prompting**: \"photorealistic people in Nano Banana Pro\", \"Midjourney prompts\", \"ChatGPT image generation\" → learn techniques, get copy-paste prompts\n- **Recommendations**: \"best Claude Code skills\", \"top AI tools\" → get a LIST of specific things people mention\n- **News**: \"what's happening with OpenAI\", \"latest AI announcements\" → current events and updates\n- **General**: any topic you're curious about → understand what the community is saying\n\n## CRITICAL: Parse User Intent\n\nBefore doing anything, parse the user's input for:\n\n1. **TOPIC**: What they want to learn about (e.g., \"web app mockups\", \"Claude Code skills\", \"image generation\")\n2. **TARGET TOOL** (if specified): Where they'll use the prompts (e.g., \"Nano Banana Pro\", \"ChatGPT\", \"Midjourney\")\n3. **QUERY TYPE**: What kind of research they want:\n   - **PROMPTING** - \"X prompts\", \"prompting for X\", \"X best practices\" → User wants to learn techniques and get copy-paste prompts\n   - **RECOMMENDATIONS** - \"best X\", \"top X\", \"what X should I use\", \"recommended X\" → User wants a LIST of specific things\n   - **NEWS** - \"what's happening with X\", \"X news\", \"latest on X\" → User wants current events/updates\n   - **GENERAL** - anything else → User wants broad understanding of the topic\n\nCommon patterns:\n- `[topic] for [tool]` → \"web mockups for Nano Banana Pro\" → TOOL IS SPECIFIED\n- `[topic] prompts for [tool]` → \"UI design prompts for Midjourney\" → TOOL IS SPECIFIED\n- Just `[topic]` → \"iOS design mockups\" → TOOL NOT SPECIFIED, that's OK\n- \"best [topic]\" or \"top [topic]\" → QUERY_TYPE = RECOMMENDATIONS\n- \"what are the best [topic]\" → QUERY_TYPE = RECOMMENDATIONS\n\n**IMPORTANT: Do NOT ask about target tool before research.**\n- If tool is specified in the query, use it\n- If tool is NOT specified, run research first, then ask AFTER showing results\n\n**Store these variables:**\n- `TOPIC = [extracted topic]`\n- `TARGET_TOOL = [extracted tool, or \"unknown\" if not specified]`\n- `QUERY_TYPE = [RECOMMENDATIONS | NEWS | HOW-TO | GENERAL]`\n\n---\n\n## Setup Check\n\nThe skill works in three modes based on available API keys:\n\n1. **Full Mode** (both keys): Reddit + X + WebSearch - best results with engagement metrics\n2. **Partial Mode** (one key): Reddit-only or X-only + WebSearch\n3. **Web-Only Mode** (no keys): WebSearch only - still useful, but no engagement metrics\n\n**API keys are OPTIONAL.** The skill will work without them using WebSearch fallback.\n\n### First-Time Setup (Optional but Recommended)\n\nIf the user wants to add API keys for better results:\n\n```bash\nmkdir -p ~/.config/last30days\ncat > ~/.config/last30days/.env << 'ENVEOF'\n# last30days API Configuration\n# Both keys are optional - skill works with WebSearch fallback\n\n# For Reddit research (uses OpenAI's web_search tool)\nOPENAI_API_KEY=\n\n# For X/Twitter research (uses xAI's x_search tool)\nXAI_API_KEY=\nENVEOF\n\nchmod 600 ~/.config/last30days/.env\necho \"Config created at ~/.config/last30days/.env\"\necho \"Edit to add your API keys for enhanced research.\"\n```\n\n**DO NOT stop if no keys are configured.** Proceed with web-only mode.\n\n## Safety Boundaries\n\n- Do not create or edit the local `.env` file unless the user asked to configure API keys.\n- Do not print secret values, bearer tokens, or local config contents in chat output.\n- Do not present stale prior knowledge as current research; use the gathered sources for the final synthesis.\n- Do not claim social-platform coverage when the skill had to fall back to web-only mode.\n\n---\n\n## Research Workflow\n\n**IMPORTANT: The script handles API key detection automatically.** Run it and check the output to determine mode.\n\n**Step 1: Run the research script**\n```bash\npython3 ./scripts/last30days.py \"$ARGUMENTS\" --emit=compact 2>&1\n```\n\nThe script will automatically:\n- Detect available API keys\n- Show a promo banner if keys are missing (this is intentional marketing)\n- Run Reddit/X searches if keys exist\n- Signal if WebSearch is needed\n\n**Step 2: Check the output mode**\n\nThe script output will indicate the mode:\n- **\"Mode: both\"** or **\"Mode: reddit-only\"** or **\"Mode: x-only\"**: Script found results, WebSearch is supplementary\n- **\"Mode: web-only\"**: No API keys, Claude must do ALL research via WebSearch\n\n**Step 3: Do WebSearch**\n\nFor **ALL modes**, do WebSearch to supplement (or provide all data in web-only mode).\n\nChoose search queries based on QUERY_TYPE:\n\n**If RECOMMENDATIONS** (\"best X\", \"top X\", \"what X should I use\"):\n- Search for: `best {TOPIC} recommendations`\n- Search for: `{TOPIC} list examples`\n- Search for: `most popular {TOPIC}`\n- Goal: Find SPECIFIC NAMES of things, not generic advice\n\n**If NEWS** (\"what's happening with X\", \"X news\"):\n- Search for: `{TOPIC} news 2026`\n- Search for: `{TOPIC} announcement update`\n- Goal: Find current events and recent developments\n\n**If PROMPTING** (\"X prompts\", \"prompting for X\"):\n- Search for: `{TOPIC} prompts examples 2026`\n- Search for: `{TOPIC} techniques tips`\n- Goal: Find prompting techniques and examples to create copy-paste prompts\n\n**If GENERAL** (default):\n- Search for: `{TOPIC} 2026`\n- Search for: `{TOPIC} discussion`\n- Goal: Find what people are actually saying\n\nFor ALL query types:\n- **USE THE USER'S EXACT TERMINOLOGY** - don't substitute or add tech names based on your knowledge\n  - If user says \"ChatGPT image prompting\", search for \"ChatGPT image prompting\"\n  - Do NOT add \"DALL-E\", \"GPT-4o\", or other terms you think are related\n  - Your knowledge may be outdated - trust the user's terminology\n- EXCLUDE reddit.com, x.com, twitter.com (covered by script)\n- INCLUDE: blogs, tutorials, docs, news, GitHub repos\n- **DO NOT output \"Sources:\" list** - this is noise, we'll show stats at the end\n\n**Step 3: Wait for background script to complete**\nUse TaskOutput to get the script results before proceeding to synthesis.\n\n**Depth options** (passed through from user's command):\n- `--quick` → Faster, fewer sources (8-12 each)\n- (default) → Balanced (20-30 each)\n- `--deep` → Comprehensive (50-70 Reddit, 40-60 X)\n\n---\n\n## Judge Agent: Synthesize All Sources\n\n**After all searches complete, internally synthesize (don't display stats yet):**\n\nThe Judge Agent must:\n1. Weight Reddit/X sources HIGHER (they have engagement signals: upvotes, likes)\n2. Weight WebSearch sources LOWER (no engagement data)\n3. Identify patterns that appear across ALL three sources (strongest signals)\n4. Note any contradictions between sources\n5. Extract the top 3-5 actionable insights\n\n**Do NOT display stats here - they come at the end, right before the invitation.**\n\n---\n\n## FIRST: Internalize the Research\n\n**CRITICAL: Ground your synthesis in the ACTUAL research content, not your pre-existing knowledge.**\n\nRead the research output carefully. Pay attention to:\n- **Exact product/tool names** mentioned (e.g., if research mentions \"ClawdBot\" or \"@clawdbot\", that's a DIFFERENT product than \"Claude Code\" - don't conflate them)\n- **Specific quotes and insights** from the sources - use THESE, not generic knowledge\n- **What the sources actually say**, not what you assume the topic is about\n\n**ANTI-PATTERN TO AVOID**: If user asks about \"clawdbot skills\" and research returns ClawdBot content (self-hosted AI agent), do NOT synthesize this as \"Claude Code skills\" just because both involve \"skills\". Read what the research actually says.\n\n### If QUERY_TYPE = RECOMMENDATIONS\n\n**CRITICAL: Extract SPECIFIC NAMES, not generic patterns.**\n\nWhen user asks \"best X\" or \"top X\", they want a LIST of specific things:\n- Scan research for specific product names, tool names, project names, skill names, etc.\n- Count how many times each is mentioned\n- Note which sources recommend each (Reddit thread, X post, blog)\n- List them by popularity/mention count\n\n**BAD synthesis for \"best Claude Code skills\":**\n> \"Skills are powerful. Keep them under 500 lines. Use progressive disclosure.\"\n\n**GOOD synthesis for \"best Claude Code skills\":**\n> \"Most mentioned skills: /commit (5 mentions), remotion skill (4x), git-worktree (3x), /pr (3x). The Remotion announcement got 16K likes on X.\"\n\n### For all QUERY_TYPEs\n\nIdentify from the ACTUAL RESEARCH OUTPUT:\n- **PROMPT FORMAT** - Does research recommend JSON, structured params, natural language, keywords? THIS IS CRITICAL.\n- The top 3-5 patterns/techniques that appeared across multiple sources\n- Specific keywords, structures, or approaches mentioned BY THE SOURCES\n- Common pitfalls mentioned BY THE SOURCES\n\n**If research says \"use JSON prompts\" or \"structured prompts\", you MUST deliver prompts in that format later.**\n\n---\n\n## THEN: Show Summary + Invite Vision\n\n**CRITICAL: Do NOT output any \"Sources:\" lists. The final display should be clean.**\n\n**Display in this EXACT sequence:**\n\n**FIRST - What I learned (based on QUERY_TYPE):**\n\n**If RECOMMENDATIONS** - Show specific things mentioned:\n```\n🏆 Most mentioned:\n1. [Specific name] - mentioned {n}x (r/sub, @handle, blog.com)\n2. [Specific name] - mentioned {n}x (sources)\n3. [Specific name] - mentioned {n}x (sources)\n4. [Specific name] - mentioned {n}x (sources)\n5. [Specific name] - mentioned {n}x (sources)\n\nNotable mentions: [other specific things with 1-2 mentions]\n```\n\n**If PROMPTING/NEWS/GENERAL** - Show synthesis and patterns:\n```\nWhat I learned:\n\n[2-4 sentences synthesizing key insights FROM THE ACTUAL RESEARCH OUTPUT.]\n\nKEY PATTERNS I'll use:\n1. [Pattern from research]\n2. [Pattern from research]\n3. [Pattern from research]\n```\n\n**THEN - Stats (right before invitation):**\n\nFor **full/partial mode** (has API keys):\n```\n---\n✅ All agents reported back!\n├─ 🟠 Reddit: {n} threads │ {sum} upvotes │ {sum} comments\n├─ 🔵 X: {n} posts │ {sum} likes │ {sum} reposts\n├─ 🌐 Web: {n} pages │ {domains}\n└─ Top voices: r/{sub1}, r/{sub2} │ @{handle1}, @{handle2} │ {web_author} on {site}\n```\n\nFor **web-only mode** (no API keys):\n```\n---\n✅ Research complete!\n├─ 🌐 Web: {n} pages │ {domains}\n└─ Top sources: {author1} on {site1}, {author2} on {site2}\n\n💡 Want engagement metrics? Add API keys to ~/.config/last30days/.env\n   - OPENAI_API_KEY → Reddit (real upvotes & comments)\n   - XAI_API_KEY → X/Twitter (real likes & reposts)\n```\n\n**LAST - Invitation:**\n```\n---\nShare your vision for what you want to create and I'll write a thoughtful prompt you can copy-paste directly into {TARGET_TOOL}.\n```\n\n**Use real numbers from the research output.** The patterns should be actual insights from the research, not generic advice.\n\n**SELF-CHECK before displaying**: Re-read your \"What I learned\" section. Does it match what the research ACTUALLY says? If the research was about ClawdBot (a self-hosted AI agent), your summary should be about ClawdBot, not Claude Code. If you catch yourself projecting your own knowledge instead of the research, rewrite it.\n\n**IF TARGET_TOOL is still unknown after showing results**, ask NOW (not before research):\n```\nWhat tool will you use these prompts with?\n\nOptions:\n1. [Most relevant tool based on research - e.g., if research mentioned Figma/Sketch, offer those]\n2. Nano Banana Pro (image generation)\n3. ChatGPT / Claude (text/code)\n4. Other (tell me)\n```\n\n**IMPORTANT**: After displaying this, WAIT for the user to respond. Don't dump generic prompts.\n\n---\n\n## WAIT FOR USER'S VISION\n\nAfter showing the stats summary with your invitation, **STOP and wait** for the user to tell you what they want to create.\n\nWhen they respond with their vision (e.g., \"I want a landing page mockup for my SaaS app\"), THEN write a single, thoughtful, tailored prompt.\n\n---\n\n## WHEN USER SHARES THEIR VISION: Write ONE Perfect Prompt\n\nBased on what they want to create, write a **single, highly-tailored prompt** using your research expertise.\n\n### CRITICAL: Match the FORMAT the research recommends\n\n**If research says to use a specific prompt FORMAT, YOU MUST USE THAT FORMAT:**\n\n- Research says \"JSON prompts\" → Write the prompt AS JSON\n- Research says \"structured parameters\" → Use structured key: value format\n- Research says \"natural language\" → Use conversational prose\n- Research says \"keyword lists\" → Use comma-separated keywords\n\n**ANTI-PATTERN**: Research says \"use JSON prompts with device specs\" but you write plain prose. This defeats the entire purpose of the research.\n\n### Output Format:\n\n```\nHere's your prompt for {TARGET_TOOL}:\n\n---\n\n[The actual prompt IN THE FORMAT THE RESEARCH RECOMMENDS - if research said JSON, this is JSON. If research said natural language, this is prose. Match what works.]\n\n---\n\nThis uses [brief 1-line explanation of what research insight you applied].\n```\n\n### Quality Checklist:\n- [ ] **FORMAT MATCHES RESEARCH** - If research said JSON/structured/etc, prompt IS that format\n- [ ] Directly addresses what the user said they want to create\n- [ ] Uses specific patterns/keywords discovered in research\n- [ ] Ready to paste with zero edits (or minimal [PLACEHOLDERS] clearly marked)\n- [ ] Appropriate length and style for TARGET_TOOL\n\n---\n\n## IF USER ASKS FOR MORE OPTIONS\n\nOnly if they ask for alternatives or more prompts, provide 2-3 variations. Don't dump a prompt pack unless requested.\n\n---\n\n## AFTER EACH PROMPT: Stay in Expert Mode\n\nAfter delivering a prompt, offer to write more:\n\n> Want another prompt? Just tell me what you're creating next.\n\n---\n\n## CONTEXT MEMORY\n\nFor the rest of this conversation, remember:\n- **TOPIC**: {topic}\n- **TARGET_TOOL**: {tool}\n- **KEY PATTERNS**: {list the top 3-5 patterns you learned}\n- **RESEARCH FINDINGS**: The key facts and insights from the research\n\n**CRITICAL: After research is complete, you are now an EXPERT on this topic.**\n\nWhen the user asks follow-up questions:\n- **DO NOT run new WebSearches** - you already have the research\n- **Answer from what you learned** - cite the Reddit threads, X posts, and web sources\n- **If they ask for a prompt** - write one using your expertise\n- **If they ask a question** - answer it from your research findings\n\nOnly do new research if the user explicitly asks about a DIFFERENT topic.\n\n---\n\n## Output Summary Footer (After Each Prompt)\n\nAfter delivering a prompt, end with:\n\nFor **full/partial mode**:\n```\n---\n📚 Expert in: {TOPIC} for {TARGET_TOOL}\n📊 Based on: {n} Reddit threads ({sum} upvotes) + {n} X posts ({sum} likes) + {n} web pages\n\nWant another prompt? Just tell me what you're creating next.\n```\n\nFor **web-only mode**:\n```\n---\n📚 Expert in: {TOPIC} for {TARGET_TOOL}\n📊 Based on: {n} web pages from {domains}\n\nWant another prompt? Just tell me what you're creating next.\n\n💡 Unlock Reddit & X data: Add API keys to ~/.config/last30days/.env\n```","tags":["last30days","agent","skills","jdrhyne","agent-skills","agentic-ai","ai-agents","automation","claude-code","clawdbot","codex","cursor"],"capabilities":["skill","source-jdrhyne","skill-last30days","topic-agent-skills","topic-agentic-ai","topic-ai-agents","topic-automation","topic-claude-code","topic-clawdbot","topic-codex","topic-cursor","topic-developer-tools","topic-gemini-cli","topic-github-copilot","topic-llm-agents"],"categories":["agent-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/jdrhyne/agent-skills/last30days","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add jdrhyne/agent-skills","source_repo":"https://github.com/jdrhyne/agent-skills","install_from":"skills.sh"}},"qualityScore":"0.565","qualityRationale":"deterministic score 0.56 from registry signals: · indexed on github topic:agent-skills · 230 github stars · SKILL.md body (14,678 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T00:54:19.450Z","embedding":null,"createdAt":"2026-04-18T22:05:00.672Z","updatedAt":"2026-04-22T00:54:19.450Z","lastSeenAt":"2026-04-22T00:54:19.450Z","tsv":"'-12':964 '-2':1430 '-3':1995 '-30':969 '-4':1442 '-5':1040,1308,2051 '-60':977 '-70':974 '/.config/last30days':458 '/.config/last30days/.env':460,501,506,1543,2229 '/commit':1261 '/pr':1271 '/scripts/last30days.py':627 '1':156,383,620,632,999,1386,1429,1457,1683,1922 '16k':1277 '2':173,396,631,665,1010,1395,1441,1461,1697,1994 '20':968 '2026':784,809,833 '3':190,409,710,933,1018,1039,1307,1402,1465,1703,2050 '30':8,58 '3x':1270,1272 '4':1029,1409,1707 '40':976 '4o':885 '4x':1266 '5':1035,1262,1416 '50':973 '500':1246 '600':500 '8':963 'across':63,1023,1312 'action':1041 'actual':73,843,1067,1122,1170,1288,1449,1596,1623,1893 'add':449,510,859,879,1539,2225 'address':1945 'advic':770,1603 'agent':980,997,1152,1481,1636 'ai':107,124,1151,1635 'alreadi':2092 'altern':1989 'announc':125,788,1275 'anoth':2021,2182,2211 'answer':2096,2126 'anti':1133,1860 'anti-pattern':1132,1859 'anyth':149,254 'api':381,424,450,463,484,496,512,548,606,639,700,1478,1520,1540,1545,1552,2226 'app':166,1769 'appear':1022,1311 'appli':1930 'approach':1319 'appropri':1971 'argument':628 'ask':34,319,343,545,1139,1185,1669,1980,1987,2081,2112,2123,2140 'assum':1127 'attent':1082 'author':1511 'author1':1530 'author2':1533 'automat':609,636 'avail':380,638 'avoid':1136 'back':594,1483 'background':936 'bad':1233 'balanc':967 'banana':87,186,272,1699 'banner':644 'base':378,732,862,1374,1687,1786,2166,2203 'bash':455,625 'bearer':555 'best':46,102,206,220,300,311,391,738,749,1186,1236,1254 'better':453 'blog':911,1227 'blog.com':1394 'boundari':532 'brief':1921 'broad':258 'care':1080 'case':81 'cat':459 'catch':1648 'chat':562 'chatgpt':91,188,869,874,1704 'check':371,613,666,1606 'checklist':1932 'chmod':499 'choos':729 'cite':2101 'claim':583 'claud':103,168,702,1101,1158,1237,1255,1644,1705 'clawdbot':1092,1094,1141,1146,1630,1642 'clean':1364 'clear':1969 'code':104,169,1102,1159,1238,1256,1645 'come':1049 'comma':1856 'comma-separ':1855 'command':958 'comment':1490,1550 'common':263,1324 'communiti':140 'compact':630 'complet':939,987,1523,2069 'comprehens':972 'config':503,559 'configur':464,524,547 'conflat':1105 'content':560,1069,1147 'context':2031 'contradict':1032 'convers':1848,2038 'copi':19,98,216,824,1579 'copy-past':97,215,823,1578 'copy-paste-readi':18 'count':1211,1232 'cover':907 'coverag':587 'creat':504,535,822,1568,1752,1792,1953,2029,2190,2219 'critic':143,1061,1176,1304,1352,1804,2065 'curious':135 'current':45,126,251,571,792 'dall':881 'dall-':880 'data':723,1017,2224 'day':9,59 'debat':77 'deep':971 'default':829,966 'defeat':1876 'deliv':1341,2013,2152 'depth':951 'design':282,292 'detect':608,637 'determin':617 'develop':796 'devic':1868 'differ':1098,2143 'direct':1581,1944 'disclosur':1250 'discov':1957 'discuss':74,837 'display':992,1045,1361,1365,1608,1713 'doc':913 'domain':1501,1527,2209 'dump':1723,1999 'e':882 'e.g':164,184,1088,1690,1759 'echo':502,507 'edit':508,537,1965 'els':255 'emit':629 'end':931,1052,2155 'engag':394,422,1006,1016,1537 'enhanc':515 'entir':1878 'env':540 'enveof':461,498 'etc':1210 'event':127,793 'events/updates':252 'exact':853,1084,1368 'exampl':756,808,820 'exclud':903 'exist':658,1074 'expert':2010,2074,2160,2197 'expertis':1803,2120 'explan':1924 'explicit':2139 'extract':351,355,1036,1177 'fact':2059 'fall':593 'fallback':436,473 'faster':960 'fewer':961 'figma/sketch':1694 'file':541 'final':579,1360 'find':15,763,791,816,839,2056,2131 'first':341,438,1057,1370 'first-tim':437 'follow':2083 'follow-up':2082 'footer':2147 'format':1292,1345,1807,1819,1824,1842,1884,1897,1933,1943 'found':690 'full':384 'full/partial':1475,2158 'gather':575 'general':130,253,369,828 'generat':93,172,1702 'generic':769,1117,1181,1602,1724 'get':96,109,214,943 'git':1268 'git-worktre':1267 'github':915 'goal':762,790,815,838 'good':1251 'got':1276 'gpt':884 'gpt-4o':883 'ground':1062 'handl':605,1393 'handle1':1508 'handle2':1509 'happen':120,241,775 'high':1797 'higher':1003 'highly-tailor':1796 'host':1150,1634 'how-to':366 'identifi':1019,1285 'imag':92,171,870,875,1701 'import':316,602,1711 'includ':910 'indic':674 'input':154 'insight':1042,1110,1446,1597,1928,2061 'instead':1654 'intent':146,651 'intern':988,1058 'invit':1056,1350,1473,1559,1738 'involv':1164 'io':291 'json':1296,1334,1827,1833,1865,1904,1907 'json/structured/etc':1939 'judg':979,996 'keep':1243 'key':382,387,400,415,425,451,466,485,497,513,522,549,607,640,646,657,701,1445,1452,1479,1521,1541,1546,1553,1840,2045,2058,2227 'keyword':1301,1316,1852,1858 'kind':194 'knowledg':569,865,894,1075,1118,1653 'land':1763 'languag':1300,1846,1912 'last':7,57,1558 'last30days':1,51,462 'later':1346 'latest':123,246 'learn':44,94,162,211,1373,1440,1615,2054,2100 'length':1972 'like':1009,1278,1495,1556,2177 'line':1247,1923 'list':111,234,755,921,1194,1228,1358,1853,2047 'll':180,926,1455,1571 'local':539,558 'lower':1014 'mani':1213 'mark':1970 'market':652 'match':1619,1805,1916,1934 'may':895 'memori':2032 'mention':116,1087,1091,1217,1259,1263,1320,1326,1383,1385,1389,1398,1405,1412,1419,1424,1431,1693 'metric':395,423,1538 'midjourney':89,189,285 'minim':1967 'miss':648 'mkdir':456 'mockup':167,269,293,1765 'mode':377,385,398,413,530,599,618,669,676,677,680,685,695,715,728,1476,1518,2011,2159,2196 'multipl':1313 'must':703,998,1340,1821 'n':1390,1399,1406,1413,1420,1485,1492,1499,1525,2168,2173,2178,2205 'name':765,861,1086,1179,1203,1205,1207,1209,1388,1397,1404,1411,1418 'nano':86,185,271,1698 'natur':1299,1845,1911 'need':663 'new':2089,2134 'news':117,238,245,365,772,779,783,914 'next':2030,2191,2220 'nois':924 'notabl':1423 'note':1030,1218 'number':1587 'offer':1695,2016 'ok':299 'one':399,1783,2117 'openai':49,122,478,483,1544 'option':427,441,468,952,1682,1983 'outdat':897 'output':563,615,668,672,919,1079,1290,1355,1451,1591,1883,2145 'p':457 'pack':2002 'page':1500,1526,1764,2180,2207 'param':1298 'paramet':1837 'pars':144,150 'partial':397 'pass':953 'past':20,99,217,825,1580,1962 'pattern':264,1020,1134,1182,1437,1453,1458,1462,1466,1593,1861,2046,2052 'patterns/keywords':1956 'patterns/techniques':1309 'pay':1081 'peopl':37,71,84,115,841 'perfect':1784 'photorealist':83 'pitfal':1325 'placehold':1968 'plain':1873 'platform':586 'popular':760 'popularity/mention':1231 'post':1226,1493,2106,2175 'power':1242 'practic':47,207 'pre':1073 'pre-exist':1072 'present':566 'print':552 'prior':568 'pro':88,187,273,1700 'proceed':525,948 'product':1099,1202 'product/tool':1085 'progress':1249 'project':1206,1650 'promo':643 'prompt':22,82,90,100,183,199,201,202,218,278,283,798,800,801,807,817,826,871,876,1291,1335,1338,1342,1575,1680,1725,1776,1785,1799,1818,1828,1831,1866,1888,1894,1940,1992,2001,2007,2015,2022,2115,2150,2154,2183,2212 'prompting/news/general':1433 'prose':1849,1874,1915 'provid':721,1993 'purpos':1879 'python3':626 'qualiti':1931 'queri':191,305,313,331,362,731,734,847,1173,1283,1376 'question':2085,2125 'quick':959 'quot':1108 'r':1504,1506 'r/sub':1392 're':134,1610,2028,2189,2218 're-read':1609 'read':1076,1166,1611 'readi':21,1960 'real':1548,1555,1586 'recent':28,795 'recommend':75,101,219,229,307,315,364,443,737,751,1175,1221,1295,1379,1810,1900 'reddit':11,64,388,402,475,682,975,1223,1484,1547,2103,2169,2222 'reddit-on':401,681 'reddit.com':904 'reddit/x':654,1001 'relat':892 'relev':1685 'rememb':2039 'remot':1264,1274 'repo':916 'report':1482 'repost':1497,1557 'request':2004 'requir':48 'research':2,30,52,60,196,324,340,476,488,516,572,600,623,706,1060,1068,1078,1090,1144,1169,1199,1289,1294,1331,1450,1460,1464,1468,1522,1590,1600,1622,1627,1657,1673,1689,1692,1802,1809,1812,1825,1834,1843,1850,1862,1882,1899,1902,1909,1927,1935,1937,1959,2055,2064,2067,2095,2130,2135 'respond':1720,1755 'rest':2035 'result':346,392,454,691,946,1668 'return':1145 'rewrit':1658 'right':78,1053,1471 'run':339,610,621,653,2088 'saa':1768 'safeti':531 'said':1903,1910,1938,1949 'say':38,142,844,868,1123,1171,1332,1624,1813,1826,1835,1844,1851,1863 'scan':1198 'script':604,624,634,671,689,909,937,945 'search':481,493,655,730,747,752,757,780,785,804,810,830,834,872,986 'secret':553 'section':1616 'self':1149,1605,1633 'self-check':1604 'self-host':1148,1632 'sentenc':1443 'separ':1857 'sequenc':1369 'setup':370,440 'share':1560,1779 'show':345,641,927,1348,1380,1434,1667,1732 'signal':659,1007,1028 'singl':1773,1795 'site':1513 'site1':1532 'site2':1535 'skill':105,170,373,429,469,590,1142,1160,1165,1208,1239,1240,1257,1260,1265 'skill-last30days' 'social':585 'social-platform':584 'social/web':29 'sourc':576,920,962,983,1002,1013,1026,1034,1113,1121,1220,1314,1323,1329,1357,1401,1408,1415,1422,1529,2109 'source-jdrhyne' 'spec':1869 'specif':113,236,764,1107,1178,1196,1201,1315,1381,1387,1396,1403,1410,1417,1426,1817,1955 'specifi':177,276,288,296,328,338,361 'stale':567 'stat':928,993,1046,1470,1734 'stay':2008 'step':619,664,709,932 'still':418,1664 'stop':519,1739 'store':347 'strongest':1027 'structur':1297,1317,1337,1836,1839 'style':1974 'sub1':1505 'sub2':1507 'substitut':857 'sum':1487,1489,1494,1496,2171,2176 'summari':1349,1638,1735,2146 'supplement':719 'supplementari':694 'surfac':69 'synthes':14,981,989,1155,1444 'synthesi':580,950,1064,1234,1252,1435 'tailor':1775,1798 'target':174,321,353,1583,1661,1890,1976,2042,2164,2201 'taskoutput':941 'tech':860 'techniqu':95,212,813,818 'tell':1709,1746,2024,2185,2214 'term':888 'terminolog':854,902 'text/code':1706 'thing':114,237,767,1197,1382,1427 'think':890 'thought':1574,1774 'thread':1224,1486,2104,2170 'three':376,1025 'time':439,1214 'tip':814 'token':556 'tool':108,175,267,274,280,286,294,322,326,335,354,356,482,494,1204,1584,1662,1675,1686,1891,1977,2043,2044,2165,2202 'top':106,222,303,740,1038,1189,1306,1502,1528,2049 'topic':4,33,54,62,132,157,262,265,277,290,301,304,312,350,352,750,754,761,782,787,806,812,832,836,1129,2040,2041,2077,2144,2162,2199 'topic-agent-skills' 'topic-agentic-ai' 'topic-ai-agents' 'topic-automation' 'topic-claude-code' 'topic-clawdbot' 'topic-codex' 'topic-cursor' 'topic-developer-tools' 'topic-gemini-cli' 'topic-github-copilot' 'topic-llm-agents' 'trust':898 'tutori':912 'twitter.com':906 'type':192,306,314,363,735,848,1174,1284,1377 'ui':281 'understand':137,259 'unknown':358,1665 'unless':542,2003 'unlock':2221 'updat':129,789 'upvot':1008,1488,1549,2172 'use':23,80,181,228,332,419,434,477,489,573,746,849,940,1114,1248,1333,1456,1585,1678,1800,1815,1822,1838,1847,1854,1864,1920,1954,2118 'user':26,145,152,208,231,249,256,446,544,851,867,900,956,1138,1184,1718,1728,1744,1778,1948,1979,2080,2138 'valu':554,1841 'variabl':349 'variat':1996 'via':707 'vision':1351,1562,1730,1758,1781 'voic':1503 'wait':934,1715,1726,1741 'want':27,42,160,198,209,232,250,257,447,1192,1536,1566,1750,1761,1790,1951,2020,2181,2210 'web':13,68,165,268,411,480,528,597,697,726,1498,1510,1516,1524,2108,2179,2194,2206 'web-on':410,527,596,696,725,1515,2193 'websearch':390,408,416,435,472,661,692,708,712,717,1012,2090 'weight':1000,1011 'without':432 'work':374,431,470,1918 'workflow':601 'worktre':1269 'write':17,1572,1771,1782,1793,1829,1872,2018,2116 'x':12,40,65,200,204,205,221,223,225,230,243,244,248,389,406,492,687,739,741,743,777,778,799,803,978,1187,1190,1225,1280,1391,1400,1407,1414,1421,1491,2105,2174,2223 'x-on':405,686 'x.com':905 'x/twitter':487,1554 'xai':490,495,1551 'yet':994 'zero':1964","prices":[{"id":"9a9b58f4-fbc9-4634-a5ee-a6c0ad1fab61","listingId":"127fec20-c021-4b87-8ff3-e3e23822eacd","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"jdrhyne","category":"agent-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T22:05:00.672Z"}],"sources":[{"listingId":"127fec20-c021-4b87-8ff3-e3e23822eacd","source":"github","sourceId":"jdrhyne/agent-skills/last30days","sourceUrl":"https://github.com/jdrhyne/agent-skills/tree/main/skills/last30days","isPrimary":false,"firstSeenAt":"2026-04-18T22:05:00.672Z","lastSeenAt":"2026-04-22T00:54:19.450Z"}],"details":{"listingId":"127fec20-c021-4b87-8ff3-e3e23822eacd","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"jdrhyne","slug":"last30days","github":{"repo":"jdrhyne/agent-skills","stars":230,"topics":["agent-skills","agentic-ai","ai-agents","automation","claude-code","clawdbot","codex","cursor","developer-tools","gemini-cli","github-copilot","llm-agents","mcp","openclaw","prompt-engineering","prompts"],"license":null,"html_url":"https://github.com/jdrhyne/agent-skills","pushed_at":"2026-03-27T14:29:53Z","description":"A collection of AI agent skills for Clawdbot, Claude Code, Codex","skill_md_sha":"cf6be038bf13a98110047dc222c6c697797dbd45","skill_md_path":"skills/last30days/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/jdrhyne/agent-skills/tree/main/skills/last30days"},"layout":"multi","source":"github","category":"agent-skills","frontmatter":{"name":"last30days","description":"Research any topic from the last 30 days on Reddit + X + Web, synthesize findings, and write copy-paste-ready prompts. Use when the user wants recent social/web research on a topic, asks \"what are people saying about X\", or wants to learn current best practices. Requires OPENAI_API_KEY and/or XAI_API_KEY for full Reddit+X access, falls back to web search."},"skills_sh_url":"https://skills.sh/jdrhyne/agent-skills/last30days"},"updatedAt":"2026-04-22T00:54:19.450Z"}}