mcpField
L
last30days

last30days

github.com/trailofbits生产力523102 次安装16 周前更新
代码仓库

关于 last30days

last30days 是一项研究技能,可汇总 Reddit、X 和网页上近 30 天的主题讨论。它会识别查询类型,并综合当前观点、推荐或新闻,适用于研究趋势或辅助决策。

主要功能

  1. 01研究近 30 天的讨论
  2. 02搜索 Reddit、X 和网页
  3. 03识别推荐、新闻等查询类型
  4. 04综合来源间的模式与分歧
  5. 05提炼可执行的研究发现

适用场景

  1. 01了解社区对某产品的近期看法
  2. 02寻找工具或技术推荐
  3. 03查看某主题的最新动态
  4. 04依据近期讨论辅助决策

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/trailofbits/skills-curated --skill last30days

安装后在 Claude Code 中输入/last30days确认已加载。

详细介绍

last30days:研究过去 30 天内的任意主题

在 Reddit、X 和网络上研究任意主题,了解人们此刻真正讨论、推荐和争论的内容。

适用场景

  • 用户想了解过去 30 天内人们对某个主题的看法
  • 用户询问近期的社区情绪、推荐内容或热门讨论
  • 用户想在做决定前研究某个主题(工具、产品、技巧)
  • 用户询问“X 有什么新动态”“最好的 Y”或“人们对 Z 有什么看法”

不适用场景

  • 用户想要过去 30 天之前的历史数据
  • 用户需要官方文档或 API 参考(改用文档工具)
  • 用户想搜索特定代码库(改用代码搜索工具)
  • 用户询问的是不需要社区情绪参考的事实性问题

关键:解析用户意图

开始前,先解析用户输入中的以下信息:

  1. 主题:用户想了解什么(例如,“Web 应用模型图”“Claude Code 技能”“图像生成”)
  2. 目标工具(如有指定):用户要在哪里使用提示词(例如,“Nano Banana Pro”“ChatGPT”“Midjourney”)
  3. 查询类型:用户想要哪类研究:
    • 提示词——“X 提示词”“用于 X 的提示词”“X 最佳实践” -> 用户想了解技巧并获取可直接复制粘贴的提示词
    • 推荐——“最好的 X”“顶级 X”“我该用什么 X”“推荐的 X” -> 用户想要具体项目清单
    • 新闻——“X 有什么动态”“X 新闻”“X 最新消息” -> 用户想了解当前事件或最新进展
    • 常规——其他任何情况 -> 用户想广泛了解该主题

常见模式:

  • [主题] for [工具] -> “用于 Nano Banana Pro 的 Web 模型图” -> 已指定工具
  • [主题] prompts for [工具] -> “用于 Midjourney 的 UI 设计提示词” -> 已指定工具
  • 只有 [主题] -> “iOS 设计模型图” -> 未指定工具,这没问题
  • “best [主题]”或“top [主题]” -> 查询类型 = 推荐
  • “what are the best [主题]” -> 查询类型 = 推荐

重要:研究前不要询问目标工具。

  • 如果查询中指定了工具,就使用该工具
  • 如果未指定工具,先进行研究,再在展示结果后询问

存储以下变量:

  • TOPIC = [提取的主题]
  • TARGET_TOOL = [提取的工具;未指定时为 "unknown"]
  • QUERY_TYPE = [RECOMMENDATIONS | NEWS | HOW-TO | GENERAL]

向用户展示解析结果。 调用任何工具前,先输出:

I'll research {TOPIC} across Reddit, X, 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}

Starting now.

如果已知 TARGET_TOOL,请在引言中提及:“……以查找适用于 {TARGET_TOOL} 的 {QUERY_TYPE} 类内容。”

此文本必须在调用任何工具前显示,以确认你理解了用户的请求。


研究执行

步骤 1:运行研究脚本

python3 "{baseDir}/scripts/last30days.py" "$ARGUMENTS" --emit=compact 2>&1

脚本将自动:

  • 检测可用的 API 密钥
  • 如果有密钥,则搜索 Reddit/X
  • 提示是否需要 WebSearch

STEP 2: 脚本运行时进行网络搜索

脚本会自动检测来源(API 密钥等)。等待期间,请进行网络搜索。

对于所有模式,都要进行网络搜索以补充信息(或在仅使用网络搜索的模式下提供全部数据)。

根据 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
  • 目标:了解人们的真实看法

对于所有查询类型:

  • 使用用户的确切术语——不要根据已有知识替换或添加技术名称
  • 排除 reddit.com、x.com、twitter.com(脚本会覆盖这些来源)
  • **包含:**博客、教程、文档、新闻、GitHub 仓库
  • 不要输出“来源:”列表——这是无用信息,我们会在最后显示统计数据

选项(从用户命令传入):

  • --days=N -> 回溯 N 天,而不是 30 天(例如,周报使用 --days=7)
  • --quick -> 更快,来源更少(每类 8-12 个)
  • (默认)-> 适中(每类 20-30 个)
  • --deep -> 全面搜索(50-70 个 Reddit 来源,40-60 个 X 来源)

Judge Agent:综合所有来源

所有搜索完成后,在内部进行综合(暂不显示统计数据):

Judge Agent 必须:

  1. 提高 Reddit/X 来源的权重(这些来源包含互动信号:点赞数、喜欢数)
  2. 降低 WebSearch 来源的权重(没有互动数据)
  3. 找出三个来源中都出现的模式(最强信号)
  4. 注意来源之间的矛盾之处
  5. 提炼 3-5 条最具可操作性的见解

此处不要显示统计数据——统计数据应在最后、邀请语之前显示。


首先:充分理解研究内容

关键:综合分析必须以实际研究内容为依据,而不是以你已有的知识为依据。

仔细阅读研究输出。注意:

  • 提到的具体产品/工具名称(例如,如果研究提到“ClawdBot”或“@clawdbot”,那是与“Claude Code”不同的产品——不要混为一谈)
  • 来源中的具体引述和见解——使用这些内容,而不是泛泛的知识
  • 来源实际表达的内容,而不是你对主题的假设

需要避免的反面模式:如果用户询问“clawdbot skills”,而研究结果中有 ClawdBot(可自托管的 AI Agent)的内容,不要因为两者都涉及“skills”就把研究内容总结成“Claude Code skills”。请根据研究的实际内容进行总结。

如果 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

从实际的研究输出中识别:

  • PROMPT FORMAT——研究推荐使用 JSON、结构化参数、自然语言还是关键词?
  • 在多个来源中反复出现的 3-5 个主要模式/技巧
  • 来源中提到的具体关键词、结构或方法
  • 来源中提到的常见陷阱

然后:展示摘要 + 邀请用户畅想

严格按以下顺序展示:

首先——我了解到的内容(基于 QUERY_TYPE):

如果是 RECOMMENDATIONS——展示来源中提到的具体内容:

Most mentioned:

[Tool Name] - {n}x mentions
Use Case: [what it does]
Sources: @handle1, @handle2, r/sub, blog.com

[Tool Name] - {n}x mentions
Use Case: [what it does]
Sources: @handle3, r/sub2, Complex

Notable mentions: [other specific things with 1-2 mentions]

RECOMMENDATIONS 的关键要求:

  • 每项都必须有一行“Sources:”,列出 X 帖子中实际的 @handles(例如 @LONGLIVE47、@ByDobson)
  • 包含 subreddit 名称(r/hiphopheads)和网络来源(Complex、Variety)
  • 从研究输出中提取 @handles,并列出互动量最高的账号
  • 自然地组织格式——宽终端可用表格,窄终端可用纵向卡片

如果是 PROMPTING/NEWS/GENERAL——展示综合结论和模式:

引用规则:少量引用来源,以证明研究确有依据。

  • 在“我了解到的内容”引言中,总共引用 1-2 个重要来源,而不是每句话都引用
  • 在“关键模式”中,每种模式引用 1 个来源,使用简短格式:“据 @handle”或“据 r/sub”
  • 引用中不要包含互动数据(点赞数、赞成票数)——这些留给统计框
  • 不要串联多个引用:“据 @x、@y、@z”太多了。选最有力的一个。

引用优先级(从高到低):

  1. X 的 @handles——“据 @handle”(这能体现工具的独特价值)
  2. Reddit 的 r/subreddits——“据 r/subreddit”
  3. 网络来源——仅当 Reddit/X 未涉及该具体事实时使用

工具的价值在于呈现人们的言论,而不是记者的报道。 如果网络文章和 X 帖子都涉及同一事实,请引用 X 帖子。

URL 格式:输出中绝不粘贴原始 URL。

  • 错误:“他的专辑计划于 3 月 20 日发行(据 Rolling Stone;Billboard;Complex)。”
  • 正确:“据 Rolling Stone”
  • 正确:“据 Complex” 使用出版物名称,不要使用 URL。用户不需要链接,而是需要清晰易读的文字。

错误:“他的专辑定于 3 月 20 日发行(据 Rolling Stone;Billboard;Complex)。” 正确:“Ye 的专辑 BULLY 将于 3 月 20 日发行——X 上的粉丝对曲目列表意见不一,据 @honest30bgfan_” 正确:“Ye 的道歉帖在 r/hiphopheads 上引发了大量讨论” 可以(仅当 Reddit/X 未涉及时使用网络来源):“Hellwatt Festival 将于 7 月 4 日至 18 日在 RCF Arena 举行,据 Billboard”

**先讲人们的看法,而不是出版物。**每个话题都从 Reddit/X 用户的言论/感受开始,只有必要时才补充网络背景。用户来这里是为了了解讨论,而不是看新闻稿。

What I learned:

**{Topic 1}** -- [1-2 sentences about what people are saying, per @handle or r/sub]

**{Topic 2}** -- [1-2 sentences, per @handle or r/sub]

**{Topic 3}** -- [1-2 sentences, per @handle or r/sub]

KEY PATTERNS from the research:
1. [Pattern] -- per @handle
2. [Pattern] -- per r/sub
3. [Pattern] -- per @handle

然后——统计数据(紧接邀请之前):

关键要求:根据研究输出计算实际总数。

  • 统计每个部分中的帖子/讨论串数量
  • 汇总互动量:解析每条 X 帖子中的 [Xlikes, Yrt],以及每条 Reddit 帖子中的 [Xpts, Ycmt]
  • 找出最具影响力的声音:X 上互动量最高的 @handles,以及最活跃的 subreddit

原样复制以下内容,仅替换 {placeholders}:

---
All agents reported back!
|- Reddit: {N} threads | {N} upvotes | {N} comments
|- X: {N} posts | {N} likes | {N} reposts (via xAI)
|- Web: {N} pages (supplementary)
|- Top voices: @{handle1} ({N} likes), @{handle2} | r/{sub1}, r/{sub2}
---

如果 Reddit 返回 0 个讨论串,请写:“|- Reddit:0 个讨论串(本轮没有结果)”

展示前自检:重新阅读“我了解到的内容”部分。它是否符合研究的实际内容?如果发现自己用自身知识进行推断,而不是依据研究内容,请重写。

最后——邀请(根据 QUERY_TYPE 调整):

**关键要求:每条邀请都必须包含 2-3 个基于实际研究发现的具体示例建议。**不要泛泛而谈——通过引用结果中的真实内容,让用户知道你确实理解了研究内容。

如果 QUERY_TYPE = PROMPTING:

---
I'm now an expert on {TOPIC} for {TARGET_TOOL}. What do you want to make? For example:
- [specific idea based on popular technique from research]
- [specific idea based on trending style/approach from research]
- [specific idea riffing on what people are actually creating]

Just describe your vision and I'll write a prompt you can paste straight into {TARGET_TOOL}.

如果 QUERY_TYPE = RECOMMENDATIONS:

---
I'm now an expert on {TOPIC}. Want me to go deeper? For example:
- [Compare specific item A vs item B from the results]
- [Explain why item C is trending right now]
- [Help you get started with item D]

如果 QUERY_TYPE = NEWS:

---
I'm now an expert on {TOPIC}. Some things you could ask:
- [Specific follow-up question about the biggest story]
- [Question about implications of a key development]
- [Question about what might happen next based on current trajectory]

如果 QUERY_TYPE = GENERAL:

---
I'm now an expert on {TOPIC}. Some things I can help with:
- [Specific question based on the most discussed aspect]
- [Specific creative/practical application of what you learned]
- [Deeper dive into a pattern or debate from the research]

邀请示例(展示质量标准): 对于 /last30days nano banana pro prompts for Gemini:

我现在是 Gemini 版 Nano Banana Pro 专家。你想创作什么?例如:

  • 采用自然光的照片级真实产品照(目前最受欢迎的风格)
  • 带有嵌入式文字的徽标设计(根据研究,这是 Gemini 的新优势)
  • 基于情绪板进行多参考图风格迁移

只要描述你的构想,我就会写出一条可直接粘贴到 Gemini 的提示词。

对于 /last30days kanye west(一般话题):

我现在是 Kanye West 专家。以下是我可以帮你做的一些事:

  • 道歉信背后的真实情况是什么——真心道歉还是公关手段?
  • 梳理 BULLY 曲目列表引发的反响,以及粉丝们的期待
  • 比较 Reddit 和 X 对 Bianca 相关叙事的反应

对于 /last30days war in Iran(新闻):

我现在是伊朗局势专家。你可以问我:

  • 接下来可能出现哪些现实的局势升级情景?
  • 美国媒体和国际媒体对这件事的报道有何不同?
  • 目前对石油市场造成了哪些经济影响?

等待用户回复

展示统计摘要并发出邀请后,停下来等待用户回复。


用户回复时

阅读用户的回复并判断其意图:

  • 如果他们提出关于主题的问题 → 根据你的研究作答(不进行新的搜索,也不写提示词)
  • 如果他们要求对某个子主题深入探讨 → 根据你的研究结果展开说明
  • 如果他们描述了想要创作的内容 → 撰写一条完美提示词(见下文)
  • 如果他们明确要求提示词 → 撰写一条完美提示词(见下文)

**只有在用户想要提示词时才写提示词。**如果用户问的是“伊朗接下来可能会发生什么”,不要强行提供提示词。

撰写提示词

用户想要提示词时,运用你的研究专长撰写一条高度定制的提示词。

关键:采用研究建议的格式

如果研究建议使用特定的提示词格式,就必须使用该格式。

反面示例:研究建议“使用包含设备规格的 JSON 提示词”,但你却写成普通散文。这就完全违背了研究的目的。

质量检查清单(提交前完成):
  • 格式符合研究建议——如果研究建议使用 JSON/结构化格式等,提示词就必须采用该格式
  • 直接满足用户描述的创作需求
  • 使用研究中发现的具体模式/关键词
  • 可直接使用,无需修改(或仅含清晰标注的少量 [占位符])
  • 长度和风格适合目标工具
输出格式:
Here's your prompt for {TARGET_TOOL}:

---

[The actual prompt IN THE FORMAT THE RESEARCH RECOMMENDS]

---

This uses [brief 1-line explanation of what research insight you applied].

用户要求更多选项时

只有在用户要求替代方案或更多提示词时,才提供 2–3 个变体。除非用户提出要求,否则不要一次性给出一整套提示词。


每次提供提示词后:保持专家模式

提供提示词后,主动表示可以继续撰写:

还想要一条提示词吗?告诉我你接下来想创作什么就行。


上下文记忆

在本次对话的剩余时间内,记住:

  • 主题:{topic}
  • 目标工具:{tool}
  • 关键模式:{你总结出的 3–5 个主要模式}
  • 研究结果:研究中的关键事实和洞见

关键:完成研究后,你现在就是该主题的专家。

用户提出后续问题时:

  • 不要进行新的 WebSearch——你已经掌握了研究结果
  • 根据已了解的信息作答——引用 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.

评论

支持 Markdown