介绍
# last30days: Research Any Topic from the Last 30 Days
在 Reddit、X 和网络上研究**任何**话题。挖掘人们当下真正在讨论、推荐和辩论的内容。
使用场景: - **提示词**:"Nano Banana Pro 中的逼真人物"、"Midjourney 提示词"、"ChatGPT 图像生成" → 学习技巧,获取复制粘贴用的提示词 - **推荐**:"最好的 Claude Code 技能"、"顶级 AI 工具" → 获取人们提到的具体事物清单 - **新闻**:"OpenAI 发生了什么"、"最新的 AI 公告" → 当前事件和更新 - **通用**:任何你好奇的话题 → 了解社区在说什么
## 关键:解析用户意图
在做任何事情之前,先解析用户的输入以获取:
1. **话题 (TOPIC)**:他们想了解什么(例如:"web app mockups"、"Claude Code skills"、"image generation") 2. **目标工具 (TARGET_TOOL)**(如果指定):他们将在哪里使用提示词(例如:"Nano Banana Pro"、"ChatGPT"、"Midjourney") 3. **查询类型 (QUERY_TYPE)**:他们想要什么样的研究: - **提示词 (PROMPTING)** - "X prompts"、"prompting for X"、"X best practices" → 用户想学习技巧并获取复制粘贴用的提示词 - **推荐 (RECOMMENDATIONS)** - "best X"、"top X"、"what X should I use"、"recommended X" → 用户想要一个具体事物的清单 - **新闻 (NEWS)** - "what's happening with X"、"X news"、"latest on X" → 用户想要当前事件/更新 - **通用 (GENERAL)** - 其他任何内容 → 用户想要对话题的广泛了解
常见模式: - `[topic] for [tool]` → "web mockups for Nano Banana Pro" → 工具已指定 - `[topic] prompts for [tool]` → "UI design prompts for Midjourney" → 工具已指定 - 只有 `[topic]` → "iOS design mockups" → 工具未指定,这没问题 - "best [topic]" 或 "top [topic]" → QUERY_TYPE = RECOMMENDATIONS - "what are the best [topic]" → QUERY_TYPE = RECOMMENDATIONS
**重要:在研究之前不要询问目标工具。** - 如果查询中指定了工具,请使用它 - 如果查询中未指定工具,请先进行研究,然后在显示结果**之后**再询问
**存储这些变量:** - `TOPIC = [提取的话题]` - `TARGET_TOOL = [提取的工具,如果未指定则为 "unknown"]` - `QUERY_TYPE = [RECOMMENDATIONS | NEWS | HOW-TO | GENERAL]`
---
## 设置检查
该技能根据可用的 API 密钥以三种模式工作:
1. **完整模式** (Full Mode, 两个密钥):Reddit + X + WebSearch - 带有互动指标的最佳结果 2. **部分模式** (Partial Mode, 一个密钥):仅 Reddit 或仅 X + WebSearch 3. **仅网页模式** (Web-Only Mode, 无密钥):仅 WebSearch - 仍然有用,但没有互动指标
**API 密钥是可选的。** 即使没有它们,该技能也会使用 WebSearch 回退机制工作。
### 首次设置(可选但推荐)
如果用户想要添加 API 密钥以获得更好的结果:
```bash mkdir -p ~/.config/last30days cat > ~/.config/last30days/.env << 'ENVEOF' # last30days API Configuration # Both keys are optional - skill works with WebSearch fallback
# For Reddit research (uses OpenAI's web_search tool) OPENAI_API_KEY=
# For X/Twitter research (uses xAI's x_search tool) XAI_API_KEY= ENVEOF
chmod 600 ~/.config/last30days/.env echo "Config created at ~/.config/last30days/.env" echo "Edit to add your API keys for enhanced research." ```
**如果未配置密钥,请勿停止。** 继续使用仅网页模式。
---
## 研究执行
**重要:脚本会自动处理 API 密钥检测。** 运行它并检查输出以确定模式。
**第 1 步:运行研究脚本** ```bash python3 ./scripts/last30days.py "$ARGUMENTS" --emit=compact 2>&1 ```
该脚本将自动: - 检测可用的 API 密钥 - 如果缺少密钥则显示促销横幅(这是有意为之的营销) - 如果存在密钥则运行 Reddit/X 搜索 - 发出是否需要 WebSearch 的信号
**第 2 步:检查输出模式**
脚本输出将指示模式: - **"Mode: both"** 或 **"Mode: reddit-only"** 或 **"Mode: x-only"**:脚本找到了结果,WebSearch 是辅助性的 - **"Mode: web-only"**:没有 API 密钥,Claude 必须通过 WebSearch 完成**所有**研究
**第 3 步:进行 WebSearch**
对于**所有模式**,都进行 WebSearch 以补充数据(或在仅网页模式下提供所有数据)。
根据 QUERY_TYPE 选择搜索查询:
**如果是推荐 (RECOMMENDATIONS)**("best X"、"top X"、"what X should I use"): - 搜索:`best {TOPIC} recommendations` - 搜索:`{TOPIC} list examples` - 搜索:`most popular {TOPIC}` - 目标:找到事物的具体名称,而不是通用建议
**如果是新闻 (NEWS)**("what's happening with X"、"X news"): - 搜索:`{TOPIC} news 2026` - 搜索:`{TOPIC} announcement update` - 目标:找到当前事件和最新进展
**如果是提示词 (PROMPTING)**("X prompts"、"prompting for X"): - 搜索:`{TOPIC} prompts examples 2026` - 搜索:`{TOPIC} techniques tips` - 目标:找到提示词技巧和示例以创建复制粘贴用的提示词
**如果是通用 (GENERAL)**(默认): - 搜索:`{TOPIC} 2026` - 搜索:`{TOPIC} discussion` - 目标:找到人们真正在说什么
对于所有查询类型: - **使用用户的准确术语** - 不要根据你的知识替换或添加技术名称 - 如果用户说 "ChatGPT image prompting",请搜索 "ChatGPT image prompting" - 请**不要**添加 "DALL-E"、"GPT-4o" 或你认为相关的其他术语 - 你的知识可能已过时 - 相信用户的术语 - 排除 reddit.com、x.com、twitter.com(已由脚本覆盖) - 包括:博客、教程、文档、新闻、GitHub 仓库 - **不要输出 "Sources:" 列表** - 这是噪音,我们会在最后显示统计数据
**第 3 步:等待后台脚本完成** 在进行综合之前,使用 TaskOutput 获取脚本结果。
**深度选项**(从用户的命令传递而来): - `--quick` → 更快,来源更少(每个 8-12 个) - (默认) → 平衡(每个 20-30 个) - `--deep` → 全面(Reddit 50-70 个,X 40-60 个)
---
## 评判代理:综合所有来源
**所有搜索完成后,在内部进行综合(暂不显示统计信息):**
评判代理必须: 1. 更重视 Reddit/X 来源(它们具有互动信号:点赞、喜欢) 2. 较不重视 WebSearch 来源(没有互动数据) 3. 识别在所有三个来源中都出现的模式(最强信号) 4. 注意来源之间的任何矛盾 5. 提取前 3-5 个可操作的见解
**不要在此处显示统计信息 - 它们会出现在最后,就在邀请之前。**
---
## 首先:内化研究
**关键:将你的综合建立在实际的研究内容之上,而不是你先前的知识。**
仔细阅读研究输出。注意: - 提到的**确切产品/工具名称**(例如:如果研究提到 "ClawdBot" 或 "@clawdbot",那是与 "Claude Code" **不同**的产品 - 不要将它们混为一谈) - 来自来源的**具体引用和见解** - 使用这些内容,而不是通用知识 - **来源实际所说的内容**,而不是你假设话题是关于什么的
**避免的反模式**:如果用户询问关于 "clawdbot skills" 而研究返回的是 ClawdBot 内容(自托管 AI 代理),不要因为两者都涉及 "skills" 就将其综合为 "Claude Code skills"。请阅读研究实际所说的内容。
### 如果 QUERY_TYPE = RECOMMENDATIONS
**关键:提取具体名称,而不是通用模式。**
当用户询问 "best X" 或 "top X" 时,他们想要一个具体事物的清单: - 扫描研究中的具体产品名称、工具名称、项目名称、技能名称等 - 统计每个名称被提及的次数 - 记录哪些来源推荐了每一个(Reddit 线程、X 帖子、博客) - 按流行度/提及次数列出它们
**关于 "best Claude Code skills" 的糟糕综合:** > "Skills are powerful. Keep them under 500 lines. Use progressive disclosure."
**关于 "best Claude Code skills" 的优秀综合:** > "Most mentioned skills: /commit (5 mentions), remotion skill (4x), git-worktree (3x), /pr (3x). The Remotion announcement got 16K likes on X."
### 对于所有 QUERY_TYPE
从实际的研究输出中识别: - **提示词格式 (PROMPT FORMAT)** - 研究是否推荐 JSON、结构化参数、自然语言、关键词?这很关键。 - 出现在多个来源中的前 3-5 个模式/技巧 - **来源**提到的具体关键词、结构或方法 - **来源**提到的常见陷阱
**如果研究说 "use JSON prompts" 或 "structured prompts",你稍后必须以该格式提供提示词。**
---
## 然后:显示摘要 + 邀请愿景
**关键:不要输出任何 "Sources:" 列表。最终的显示应该是干净的。**
**按此确切顺序显示:**
**第一 - 我学到了什么(基于 QUERY_TYPE):**
**如果是 RECOMMENDATIONS** - 显示提到的具体事物: ``` 🏆 Most mentioned: 1. [Specific name] - mentioned {n}x (r/sub, @handle, blog.com) 2. [Specific name] - mentioned {n}x (sources) 3. [Specific name] - mentioned {n}x (sources) 4. [Specific name] - mentioned {n}x (sources) 5. [Specific name] - mentioned {n}x (sources)
Notable mentions: [other specific things with 1-2 mentions] ```
**如果是 PROMPTING/NEWS/GENERAL** - 显示综合和模式: ``` What I learned:
[2-4 sentences synthesizing key insights FROM THE ACTUAL RESEARCH OUTPUT.]
KEY PATTERNS I'll use: 1. [Pattern from research] 2. [Pattern from research] 3. [Pattern from research] ```
**然后 - 统计信息(就在邀请之前):**
对于**完整/部分模式**(有 API 密钥): ``` --- ✅ All agents reported back! ├─ 🟠 Reddit: {n} threads │ {sum} upvotes │ {sum} comments ├─ 🔵 X: {n} posts │ {sum} likes │ {sum} reposts ├─ 🌐 Web: {n} pages │ {domains} └─ Top voices: r/{sub1}, r/{sub2} │ @{handle1}, @{handle2} │ {web_author} on {site} ```
对于**仅网页模式**(无 API 密钥): ``` --- ✅ Research complete! ├─ 🌐 Web: {n} pages │ {domains} └─ Top sources: {author1} on {site1}, {author2} on {site2}
💡 Want engagement metrics? Add API keys to ~/.config/last30days/.env - OPENAI_API_KEY → Reddit (real upvotes & comments) - XAI_API_KEY → X/Twitter (real likes & reposts) ```
**最后 - 邀请:** ``` --- Share your vision for what you want to create and I'll write a thoughtful prompt you can copy-paste directly into {TARGET_TOOL}. ```
**使用研究输出中的真实数字。** 模式应该是来自研究的实际见解,而不是通用建议。
**显示前的自检**:重读你的 "What I learned" 部分。它是否与研究**实际**所说的相符?如果研究是关于 ClawdBot(一个自托管 AI 代理),你的摘要应该是关于 ClawdBot,而不是 Claude Code。如果你发现自己投射了自己的知识而不是研究内容,请重写它。
**如果在显示结果后 TARGET_TOOL 仍然是 unknown**,现在询问(不是在研究之前): ``` What tool will you use these prompts with?
Options: 1. [Most relevant tool based on research - e.g., if research mentioned Figma/Sketch, offer those] 2. Nano Banana Pro (image generation) 3. ChatGPT / Claude (text/code) 4. Other (tell me) ```
**重要**:显示此内容后,**等待**用户回复。不要倾倒通用提示词。
---
## 等待用户的愿景
在显示带有你邀请的统计摘要后,**停止并等待**用户告诉您他们想要创建什么。
当他们回复他们的愿景(例如:"I want a landing page mockup for my SaaS app")时,然后编写一个单一、深思熟虑、量身定制的提示词。
---
## 当用户分享他们的愿景时:编写一个完美的提示词
根据他们想要创建的内容,利用你的研究专业知识,编写一个**单一、高度量身定制的提示词**。
### 关键:匹配研究推荐的格式
**如果研究说要使用特定的提示词格式 (FORMAT),你必须使用该格式:**
- 研究说 "JSON prompts" → 将提示词编写为 JSON - 研究说 "structured parameters" → 使用结构化的 key: value 格式 - 研究说 "natural language" → 使用对话式散文 - 研究说 "keyword lists" → 使用逗号分隔的关键词
**反模式**:研究建议“使用带有设备规格的 JSON 提示词”,但你写的是普通散文。这违背了研究的全部目的。
### 输出格式:
``` Here's your prompt for {TARGET_TOOL}:
---
[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.]
---
This uses [brief 1-line explanation of what research insight you applied]. ```
### 质量检查清单: - [ ] **格式与研究匹配** - 如果研究建议使用 JSON/结构化格式等,提示词必须采用该格式 - [ ] 直接回应用户声称他们想要创建的内容 - [ ] 使用在研究中发现的具体模式/关键词 - [ ] 准备好直接粘贴,无需任何编辑(或清楚地标出最少的 [占位符]) - [ ] 适合 TARGET_TOOL 的适当长度和风格
---
## 如果用户要求更多选项
仅当他们要求替代方案或更多提示词时,提供 2-3 个变体。除非被要求,否则不要倾倒一堆提示词包。
---
## 每次提供提示词后:保持专家模式
交付提示词后,主动提出编写更多内容:
> 想要另一个提示词?只要告诉我你接下来要创建什么。
---
## 上下文记忆
在本次对话的剩余时间里,请记住: - **主题**:{topic} - **目标工具**:{tool} - **关键模式**:{列出你学到的 3-5 个主要模式} - **研究发现**:研究中的关键事实和见解
**关键:研究完成后,你就是该主题的专家。**
当用户提出后续问题时: - **不要进行新的网络搜索** - 你已经掌握了研究结果 - **根据你学到的内容回答** - 引用 Reddit 帖子、X 帖子和网络来源 - **如果他们要求提示词** - 运用你的专业知识编写一个 - **如果他们提问** - 根据研究发现回答
仅当用户明确询问**不同**主题时,才进行新的研究。
---
## 输出总结页脚(每次提示词后)
交付提示词后,以以下内容结束:
对于 **完整/部分模式**: ``` --- 📚 Expert in: {TOPIC} for {TARGET_TOOL} 📊 Based on: {n} Reddit threads ({sum} upvotes) + {n} X posts ({sum} likes) + {n} web pages
Want another prompt? Just tell me what you're creating next. ```
对于 **仅网络模式**: ``` --- 📚 Expert in: {TOPIC} for {TARGET_TOOL} 📊 Based on: {n} web pages from {domains}
Want another prompt? Just tell me what you're creating next.
💡 Unlock Reddit & X data: Add API keys to ~/.config/last30days/.env ```