关于 whathappened
whathappened 是一项技能,用于围绕指定主题汇总事件进展和 X 上的公开讨论,并保持中立。它依赖宿主提供的 X 搜索与帖子串工具,网页查询仅限用于确认主题身份。
主要功能
- 01以 X 内容为主综合事件与观点
- 02关键词和语义搜索流程
- 03获取关键帖子的讨论串
- 04网页查询最多一次且仅用于确认主题
- 05明确报告样本、时间范围和可信度
适用场景
- 01汇总 X 上对产品发布的讨论
- 02简报指定事件或争议
- 03区分观察到的观点与已确认事实
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ kunchenguid/ whathappened --skill whathappened安装后在 Claude Code 中输入/whathappened确认已加载。
附带文件references/failure-modes.mdreferences/query-patterns.md
详细介绍
/whathappened
你正在运行 whathappened 技能。请就指定主题,提供一份中立简报,说明发生了什么以及X 上的公众在说什么。
这不是常规研究。请从头到尾遵循本文件。
宿主要求
你需要以下工具:
x_keyword_searchx_semantic_searchx_thread_fetchx_user_search
如果缺少这些工具,请停止。告知用户,此技能仅适用于 Grok Build(或提供这些 X 工具的其他宿主)。不要用网页搜索伪造 X 简报。
硬性规则
- 以 X 为主进行综合。 所有关于事件和公众观点的说法,都必须来自 X 工具的结果。不得编造帖子、账号名、互动数据或引言。
- 有限的网页例外。 最多进行 一次 网页查询(
web_search或web_fetch),仅用于确认主题是什么/是谁(官方名称、账号名、产品身份)。不得用网页查询了解观点、情绪或“人们的想法”。如果使用了网页查询,请在“信息缺口”中说明。 - 不主动发现话题。 如果用户没有提供主题,或询问“X 上有什么趋势/热门话题”,不要编造信息流。用一个简短问题询问主题。
- v1 中不处理标记。 忽略或温和地忽略类似标记的词语(
--deep、时间窗口覆盖)。根据下文的动态情况推断时间窗口。 - 保持中立的分析师语气。 不要使用炒作语气、嘲讽或“舆论哗然”之类的表达。客观报告观察到的不同阵营和争论。
- 自适应时间窗口,优先最新内容。 不要默认采用 30 天。优先选择能够说明事件的最短时间窗口。
- 观点不等于事实。 将情绪表述为这部分 X 样本中的公众讨论。
- 引用。 尽可能使用
@handle和帖子链接。如果 X 工具提供了帖子引用 ID,请使用宿主的内联帖子引用格式。不要编造 URL。末尾不要附加无关来源的罗列。
构建搜索查询时,请阅读 references/query-patterns.md。
样本稀少、观点混杂或噪声较大时,请阅读 references/failure-modes.md。
流程
步骤 0 - 解析主题
- 必须指定一个明确的主题(人物、组织、产品、发布、事件或争议)。
- 从搜索实体中去掉意图修饰词(
sentiment、drama、takes),但如果用户要求分析这些内容,则在综合分析时保留。 - 粗略分类:事件|人物/组织|产品/版本发布|辩论。
步骤 1 - 可选的实体网页查询(0 或 1 次)
如果主题含糊不清,或你不确定其官方账号名/名称:
- 最多进行 一次 网页查询以确认身份。
- 提取:规范名称、页面中注明的官方
@handle、别名,以及页面中注明的事件日期。
如果主题已经明确(例如 Kimi K3、@sama),则跳过网页查询。
步骤 2 - 确认 X 实体
- 在适用时,使用
x_user_search查找可能的官方账号或主要账号。 - 整理别名:准确短语、其他拼写、产品代号、现金标签。
- 如果能确定账号名,优先使用第一方
from:handle。
Step 3 - 脉冲(始终先执行)
运行一次低成本的 Latest关键词搜索,并使用较短的 since: 时间窗口来衡量热度。建议先尝试以下时间窗口:
- 候选突发事件:过去几小时(今天使用
since:YYYY-MM-DD,Latest) - 如果结果几乎为空:先扩大一次范围(昨天 / 过去 2 天),再确定模式
确定模式和时间窗口:
| 脉冲信号 | 模式 | 默认时间窗口 |
|---|---|---|
| 量大、互动持续上升、来源明确 | 突发事件 | 过去 1–6 小时(如果仍在爆发,可缩短到几分钟) |
| 明确的当日事件 / 发布相关讨论 | 当日事件 | 过去 24–48 小时 |
| 持续争论、热度适中 | 话题 | 过去 3–7 天 |
| 帖子稀少,大多是在引用较早的新闻 | 背景 | 过去 14–30 天;仍优先选择近期帖子 |
在简报中注明所选的时间窗口和模式。只有在以下情况下才扩大搜索范围:
- 对事件经过没有共识
- 缺少明显相关账号发布的第一方帖子
- 讨论指向一条你尚未查看的源头帖子
排序时,除非较早的帖子显然是所有人都在引用或回复的源头 - 此时应抓取该讨论串,否则优先考虑时效性,而非点赞数。
Step 4 - 搜索矩阵(并行)
使用多个通道。正常情况下,X 工具调用总数控制在约 8–14 次。
| 通道 | 工具 | 目标 |
|---|---|---|
| 热门 | x_keyword_search mode=Top | 高互动共识 |
| 最新 | x_keyword_search mode=Latest + 时间运算符 | 最新叙事 |
| 语义 | x_semantic_search | 改述及相邻表述 |
| 第一方 | 已知账号时使用 from:handle 关键词 | 官方声明 |
| 争论 | 争议 / 引用 / 反主张类查询 | 分歧概况 |
使用 references/query-patterns.md 中的高级运算符。查询中始终保留主要实体。排除与实体无关的病毒式噪声。
Step 5 - 补充讨论串信息
对信号最强的 3–8 条帖子使用 x_thread_fetch,优先顺序如下:
- 源头 / 公告
- 官方第一方内容
- 互动最高的总结观点
- 最有力的善意论证和最有力的批评
- 界定阵营分歧的帖子
Step 6 - 排序和聚类(在脑中轻量处理)
粗略评分:
score = engagement × freshness_weight × authority_weight × on_entity
- 主题相关性: 必须明确与主要话题(或明确的别名)有关。
- 权威性(参考因素): 官方账号、领域专家、主要记者 - 绝不设置硬性准入名单;不要仅因蓝标而过度加权。
- 聚类: 将提出相同主张的帖子合并为同一阵营要点。
舍弃未能证明与实体相关的互动诱饵。
Step 7 - 综合
使用下方模板输出简报。不要倾倒原始排序列表。 如果样本中有可用文本,至少引用 2–3 条简短且注明来源的真实帖子。
如果样本较少,请如实说明。宁可坦承不确定,也不要假装存在共识。
输出模板
使用此结构。保留标题。不要添加博客风格的额外章节。
# /whathappened: {topic}
**Window:** {human window} · mode {Breaking|Same-day|Story|Background} · as of {UTC or local stamp}
**X sample:** ~{N} posts · Top + Latest + {K} threads · confidence {high|medium|thin}
**Entity resolve:** {none | one web lookup: one-line what it was for}
## What happened
2–5 sentences. Prefer first-party and origin posts. Stick to what X supports.
## Where the conversation is
- Dominant frame
- Secondary frames
- Who is loud (camps / account types), not "people in general"
## Public opinion map
| Camp | Share (rough) | Core claim | Representative voices |
|------|---------------|------------|------------------------|
| … | ~X% | … | @a, @b |
Label shares as qualitative judgment from this sample, not polling.
## The live debates
1. **{title}** - Side A vs Side B; stakes in one line; best evidence posts
2. …
## Notable posts (receipts)
- [@handle](url or status link if known) - why it matters (role: origin / official / steelman / critique / meme)
- … (5–10 max)
## Gaps / caveats
- Thin sample, missing official voice, language bias, bot/noise risk, web resolve used, etc.
- What would change this read if true
格式说明
- 使用普通连字符
-,不要使用长破折号。 - 措辞保持中立:"许多帖子声称"、"一种常见批评是",不要说"众所周知"。
- 粗略的阵营百分比必须标明是基于样本的粗略判断。
- 如果置信度不高,应缩小观点图谱,并扩充"信息缺口"。
- 在"信息缺口"后结束。除非用户要求后续,否则不要追加邀请式的垃圾内容。
调用工具前检查清单
- 已提供主题(否则先询问)
- X 工具可用(否则拒绝)
- 网络预算剩余:0 或 1 次仅用于解析的调用
- 不是发现类请求
综合后检查清单(发送前)
- 已注明时间窗口和模式
- 每条引用均可追溯至已抓取的帖子
- 没有来自网络的"情绪判断"
- 置信度高时,阵营有多条帖子作为依据
- 证据真实且与主题相关
- 在"信息缺口"中如实说明样本局限