# Last30days

> 在 Reddit + X + 网页上搜索任意话题的近30天内容，综合分析结果，输出可直接复制使用的精炼提示词。当用户想获取某话题的近期社交/网络动态、询问"大家怎么看X"，或想了解当前最佳实践时使用。完整的 Reddit+X 功能需要 OPENAI_API_KEY 和/或 XAI_API_KEY，缺少时自动降级为网页搜索模式。

- Skill: `kirkluokun/last30days` (Agent Skill, multi-file: 20 files)
- Install (CLI): `npx skillmds@latest add kirkluokun/last30days`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kirkluokun/last30days/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: kirkluokun (https://skillmd.com/u/kirkluokun)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/kirkluokun/last30days

---


# last30days：搜索任意话题的近30天动态

在 Reddit、X 和网页中研究**任意话题**，呈现人们当前正在讨论、推荐和争论的内容。

使用场景：
- **提示词**："Nano Banana Pro 中的写实风格人物"、"Midjourney 提示词"、"ChatGPT 图像生成" → 学习技巧，获取可复制使用的提示词
- **推荐**："最好的 Claude Code 技能"、"顶级 AI 工具" → 获取具体推荐清单
- **资讯**："OpenAI 最新动态"、"最新 AI 公告" → 当前事件和更新
- **综合**：任何感兴趣的话题 → 了解社区讨论内容

## 关键：解析用户意图

开始任何操作前，先解析用户输入：

1. **TOPIC（话题）**：用户想了解什么（如"网页应用原型"、"Claude Code 技能"、"图像生成"）
2. **TARGET_TOOL（目标工具）**（如指定）：用户将在哪里使用提示词（如"Nano Banana Pro"、"ChatGPT"、"Midjourney"）
3. **QUERY_TYPE（查询类型）**：用户想要哪种研究：
   - **PROMPTING** — "X 提示词"、"X 的提示词写法"、"X 最佳实践" → 用户想学习技巧并获取可复制的提示词
   - **RECOMMENDATIONS** — "最好的 X"、"顶级 X"、"推荐用哪个 X" → 用户想要具体推荐清单
   - **NEWS** — "X 怎么了"、"X 新闻"、"X 最新进展" → 用户想了解当前事件/动态
   - **GENERAL** — 其他任何情况 → 用户想对话题有广泛了解

常见模式：
- `[话题] for [工具]` → "Nano Banana Pro 的网页原型" → 已指定工具
- `[话题] prompts for [工具]` → "Midjourney 的 UI 设计提示词" → 已指定工具
- 仅 `[话题]` → "iOS 设计原型" → 未指定工具，没有关系
- "最好的 [话题]" 或 "顶级 [话题]" → QUERY_TYPE = RECOMMENDATIONS
- "哪些 [话题] 最好" → QUERY_TYPE = RECOMMENDATIONS

**重要：研究前不要询问目标工具。**
- 如果查询中已指定工具，直接使用
- 如果未指定工具，先完成研究，展示结果后再询问

**保存以下变量：**
- `TOPIC = [提取的话题]`
- `TARGET_TOOL = [提取的工具，未指定则为 "unknown"]`
- `QUERY_TYPE = [RECOMMENDATIONS | NEWS | HOW-TO | GENERAL]`

---

## 环境检查

技能根据可用 API 密钥分三种模式运行：

1. **完整模式**（两个密钥均有）：Reddit + X + 网页搜索——最优结果，包含互动数据
2. **部分模式**（仅有一个密钥）：仅 Reddit 或仅 X + 网页搜索
3. **纯网页模式**（无密钥）：仅网页搜索——仍然有用，但无互动数据

**API 密钥为可选项。** 无密钥时技能将自动使用网页搜索模式。

### 首次配置（可选但推荐）

若用户希望添加 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 搜索
- 发出信号指示是否需要网页搜索

**第2步：检查输出模式**

脚本输出将显示当前模式：
- **"Mode: both"** 或 **"Mode: reddit-only"** 或 **"Mode: x-only"**：脚本已找到结果，网页搜索为补充
- **"Mode: web-only"**：无 API 密钥，Claude 须通过网页搜索完成所有研究

**第3步：执行网页搜索**

**所有模式**下均需执行网页搜索（补充或在纯网页模式下提供全部数据）。

根据 QUERY_TYPE 选择搜索词：

**若为 RECOMMENDATIONS**（"最好的 X"、"顶级 X"、"推荐用哪个 X"）：
- 搜索：`best {TOPIC} recommendations`
- 搜索：`{TOPIC} list examples`
- 搜索：`most popular {TOPIC}`
- 目标：找到具体的名称，而非泛泛的建议

**若为 NEWS**（"X 怎么了"、"X 新闻"）：
- 搜索：`{TOPIC} news 2026`
- 搜索：`{TOPIC} announcement update`
- 目标：找到当前事件和近期进展

**若为 PROMPTING**（"X 提示词"、"X 的提示词写法"）：
- 搜索：`{TOPIC} prompts examples 2026`
- 搜索：`{TOPIC} techniques tips`
- 目标：找到提示词技巧和示例，用于创作可复制的提示词

**若为 GENERAL**（默认）：
- 搜索：`{TOPIC} 2026`
- 搜索：`{TOPIC} discussion`
- 目标：找到人们实际在讨论的内容

所有查询类型均须注意：
- **使用用户的原始术语** — 不要替换或添加你认为相关的技术名词
  - 若用户说"ChatGPT 图像提示词"，就搜索"ChatGPT 图像提示词"
  - 不要自行加入"DALL-E"、"GPT-4o"等你认为相关的术语
  - 你的知识可能已过时——信任用户的表达
- 排除 reddit.com、x.com、twitter.com（由脚本覆盖）
- 包含：博客、教程、文档、新闻、GitHub 仓库
- **不要输出"来源："列表** — 这是噪音，统计数据将在末尾展示

**第3步：等待后台脚本完成**
在进入综合分析前，使用 TaskOutput 获取脚本结果。

**深度选项**（通过用户命令传入）：
- `--quick` → 更快，较少来源（每处 8-12 个）
- （默认）→ 均衡（每处 20-30 个）
- `--deep` → 全面（Reddit 50-70，X 40-60）

---

## 裁判智能体：综合所有来源

**所有搜索完成后，在内部进行综合（此时不显示统计数据）：**

裁判智能体须：
1. Reddit/X 来源权重**更高**（有互动信号：点赞、评论）
2. 网页搜索来源权重**较低**（无互动数据）
3. 识别在**所有三个**来源中均出现的规律（最强信号）
4. 标注来源之间的矛盾
5. 提取前 3-5 个可操作的洞察

**此处不显示统计数据** — 统计数据在邀请语前的最后位置展示。

---

## 第一步：内化研究内容

**关键：让综合分析扎根于实际研究内容，而非已有知识。**

仔细阅读研究输出，注意：
- **提到的具体产品/工具名称**（例如研究提到"ClawdBot"或"@clawdbot"，那是与"Claude Code"不同的产品——不要混淆）
- **来源中的具体引述和洞察** — 使用这些内容，而不是泛泛知识
- **来源实际说了什么**，而不是你对话题的假设

**反模式警示**：若用户询问"clawdbot 技能"，研究返回了 ClawdBot 内容（自托管 AI 智能体），不要因为两者都涉及"技能"就将其综合为"Claude Code 技能"。读取研究实际所说的内容。

### 若 QUERY_TYPE = RECOMMENDATIONS

**关键：提取具体名称，而非泛泛规律。**

当用户询问"最好的 X"或"顶级 X"时，他们想要一个具体清单：
- 扫描研究中出现的具体产品名、工具名、项目名、技能名等
- 统计每个的提及次数
- 标注各来源对其的推荐（Reddit 帖子、X 发帖、博客）
- 按热度/提及次数排列

**"最好的 Claude Code 技能"的糟糕综合：**
> "技能很强大。保持在500行以内。使用渐进式披露。"

**"最好的 Claude Code 技能"的优秀综合：**
> "提及最多的技能：/commit（5次），remotion skill（4次），git-worktree（3次），/pr（3次）。Remotion 的公告在 X 上获得了1.6万个点赞。"

### 所有 QUERY_TYPE 均须：

从实际研究输出中识别：
- **提示词格式** — 研究推荐 JSON、结构化参数、自然语言还是关键词？**这很关键。**
- 在多个来源中均出现的前 3-5 个规律/技巧
- 来源提到的具体关键词、结构或方法
- 来源提到的常见误区

**若研究说"使用 JSON 提示词"或"结构化提示词"，后续交付提示词时必须使用该格式。**

---

## 然后：展示摘要并邀请用户描述想法

**关键：不要输出任何"来源："列表。最终展示应简洁干净。**

**按以下确切顺序展示：**

**第一部分——我的研究发现（根据 QUERY_TYPE）：**

**若为 RECOMMENDATIONS** — 展示提及的具体内容：
```
🏆 提及最多：
1. [具体名称] — 提及 {n} 次（r/版块、@账号、blog.com）
2. [具体名称] — 提及 {n} 次（来源）
3. [具体名称] — 提及 {n} 次（来源）
4. [具体名称] — 提及 {n} 次（来源）
5. [具体名称] — 提及 {n} 次（来源）

值得关注：[其他1-2次提及的具体内容]
```

**若为 PROMPTING/NEWS/GENERAL** — 展示综合与规律：
```
我的研究发现：

[2-4句话，综合实际研究输出中的关键洞察。]

我将使用的关键规律：
1. [来自研究的规律]
2. [来自研究的规律]
3. [来自研究的规律]
```

**第二部分——统计数据（紧接在邀请语之前）：**

**完整/部分模式**（有 API 密钥）：
```
---
✅ 所有智能体已报告！
├─ 🟠 Reddit：{n} 个帖子 │ {sum} 点赞 │ {sum} 评论
├─ 🔵 X：{n} 条帖子 │ {sum} 点赞 │ {sum} 转发
├─ 🌐 网页：{n} 个页面 │ {domains}
└─ 热门来源：r/{版块1}、r/{版块2} │ @{账号1}、@{账号2} │ {作者} on {网站}
```

**纯网页模式**（无 API 密钥）：
```
---
✅ 研究完成！
├─ 🌐 网页：{n} 个页面 │ {domains}
└─ 主要来源：{作者1} on {网站1}、{作者2} on {网站2}

💡 想获取互动数据？向 ~/.config/last30days/.env 添加 API 密钥：
   - OPENAI_API_KEY → Reddit（真实点赞数和评论数）
   - XAI_API_KEY → X/Twitter（真实点赞数和转发数）
```

**第三部分——邀请语：**
```
---
告诉我你想创作什么，我将为你写一段可直接复制粘贴到 {TARGET_TOOL} 的精炼提示词。
```

**使用研究输出中的真实数据。** 呈现的规律应是研究中的实际洞察，而非泛泛建议。

**展示前自我检查**：重新阅读"我的研究发现"部分。它是否与研究实际内容匹配？若研究内容关于 ClawdBot（自托管 AI 智能体），你的摘要应该是关于 ClawdBot 的，而非 Claude Code。若发现自己在投射已有知识而非研究内容，请重写。

**若展示结果后 TARGET_TOOL 仍未知**，现在再询问（而非研究前）：
```
你将在哪个工具中使用这些提示词？

选项：
1. [研究中提及的最相关工具——例如研究提到 Figma/Sketch 则提供这些选项]
2. Nano Banana Pro（图像生成）
3. ChatGPT / Claude（文字/代码）
4. 其他（告诉我）
```

**重要**：展示后，等待用户回应。不要直接输出通用提示词。

---

## 等待用户描述想法

展示统计摘要和邀请语后，**停止并等待**用户告知他们想要创作什么。

当用户描述他们的想法（如"我想做一个 SaaS 产品的落地页原型"），**再**针对性地写一段精炼提示词。

---

## 当用户描述想法后：写出一段完美提示词

根据他们想要创作的内容，结合研究专业积累，写出**一段高度定制的提示词**。

### 关键：匹配研究推荐的格式

**若研究推荐了特定的提示词格式，必须使用该格式：**

- 研究说"JSON 提示词" → 以 JSON 格式写提示词
- 研究说"结构化参数" → 使用 `键: 值` 格式
- 研究说"自然语言" → 使用对话式散文
- 研究说"关键词列表" → 使用逗号分隔的关键词

**反模式警示**：研究说"使用含设备规格的 JSON 提示词"，但你写了纯散文。这完全违背了研究的目的。

### 输出格式：

```
这是为 {TARGET_TOOL} 准备的提示词：

---

[实际提示词——按研究推荐的格式撰写。研究建议 JSON 就用 JSON，建议自然语言就用散文。匹配有效的格式。]

---

应用了：[一行简述你采用了哪条研究洞察]
```

### 质量检查清单：
- [ ] **格式与研究匹配** — 若研究建议 JSON/结构化等，提示词即为该格式
- [ ] 直接响应用户说明的创作需求
- [ ] 使用研究中发现的特定规律/关键词
- [ ] 可直接粘贴使用（或带有清晰标注的 [占位符]）
- [ ] 篇幅和风格适合 TARGET_TOOL

---

## 若用户要求更多选项

仅在用户明确要求时，提供 2-3 个变体。不要主动输出大量提示词包。

---

## 每次交付提示词后：保持专家模式

每次交付提示词后，提供继续服务的邀请：

> 想要另一个提示词？告诉我你下一步想创作什么。

---

## 上下文记忆

在本次对话的剩余部分，记住：
- **TOPIC**：{topic}
- **TARGET_TOOL**：{tool}
- **关键规律**：{列出学到的前3-5个规律}
- **研究发现**：来自研究的关键事实和洞察

**关键：研究完成后，你即成为该话题的专家。**

当用户提出后续问题时：
- **不要重新执行网页搜索** — 你已经完成了研究
- **从所学内容中回答** — 引用 Reddit 帖子、X 发帖和网页来源
- **若他们要求提示词** — 运用你的研究专业积累来写
- **若他们有疑问** — 从研究发现中给出答案

仅当用户明确询问**不同话题**时，才开始新的研究。

---

## 输出摘要页脚（每次交付提示词后）

每次交付提示词后，以以下内容结尾：

**完整/部分模式**：
```
---
📚 专精领域：{TOPIC}（面向 {TARGET_TOOL}）
📊 基于：{n} 个 Reddit 帖子（{sum} 点赞）+ {n} 条 X 发帖（{sum} 点赞）+ {n} 个网页

想要另一个提示词？告诉我你下一步想创作什么。
```

**纯网页模式**：
```
---
📚 专精领域：{TOPIC}（面向 {TARGET_TOOL}）
📊 基于：来自 {domains} 的 {n} 个网页

想要另一个提示词？告诉我你下一步想创作什么。

💡 解锁 Reddit & X 数据：向 ~/.config/last30days/.env 添加 API 密钥
```

