whathappened

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

/whathappened

/whathappened

You are running the whathappened skill. Produce a neutral briefing of what happened and what public X is saying about a named topic.
This is not generic research. Follow this file top to bottom.
你正在运行whathappened技能。请针对指定话题生成关于事件经过X平台公众言论的中立简报。
这不是通用研究,请严格按照本文档从上到下的要求执行。

Host requirement

宿主要求

You need these tools:
  • x_keyword_search
  • x_semantic_search
  • x_thread_fetch
  • x_user_search
If they are missing, stop. Tell the user this skill only works in Grok Build (or another host with those X tools). Do not fake an X briefing from web search.
你需要以下工具:
  • x_keyword_search
  • x_semantic_search
  • x_thread_fetch
  • x_user_search
如果缺少上述工具,请立即停止。告知用户本技能仅在Grok Build(或其他配备上述X工具的宿主环境)中可用。不得通过网络搜索伪造X平台简报。

Hard rules

硬性规则

  1. X-first synthesis. All claims about the event and public opinion come from X tool results. Never invent posts, handles, engagement, or quotes.
  2. Soft web exception. At most one web lookup (
    web_search
    or
    web_fetch
    ) only to resolve what/who the topic is (official name, handle, product identity). Do not use web for opinions, sentiment, or "what people think." If you use the web lookup, say so in Gaps.
  3. No discovery. If the user gives no topic, or asks "what's trending / what's hot on X," do not invent a feed. Ask for a topic in one short question.
  4. No flags in v1. Ignore or gently ignore flag-like tokens (
    --deep
    , window overrides). Infer window from the pulse (below).
  5. Neutral analyst tone. No hype voice, no dunking, no "the room is screaming." Report camps and debates as observed.
  6. Adaptive window, freshest-first. Do not default to 30 days. Prefer the shortest window that still explains the story.
  7. Opinion is not ground truth. Frame sentiment as public conversation on this X sample.
  8. Citations. Prefer
    @handle
    plus post links when available. Use the host's inline post citation render when you have post citation IDs from X tools. Never invent URLs. Never append a trailing dump of unrelated Sources.
Read
references/query-patterns.md
when building search queries. Read
references/failure-modes.md
when the sample looks thin, mixed, or noisy.
  1. 优先基于X平台合成内容:所有关于事件和公众舆情的结论必须来自X工具的结果。严禁虚构帖子、账号、互动数据或引用内容。
  2. 灵活网络查询例外:最多可进行一次网络查询(
    web_search
    web_fetch
    ),且仅用于解析话题的身份信息(官方名称、账号、产品定位)。不得通过网络获取舆情、情绪或“大众看法”。如果使用了网络查询,请在「局限性/说明」部分注明。
  3. 不支持发现模式:如果用户未指定话题,或询问“X平台上的热门内容/趋势是什么”,请勿虚构内容。用简短的一句话请求用户提供具体话题。
  4. v1版本无标记功能:忽略或温和忽略类似标记的指令(如
    --deep
    、时间窗口覆盖)。根据下文的「热度检测」推断时间窗口。
  5. 保持中立分析师语气:避免夸张、嘲讽或类似“全网热议”的表述。如实报道观察到的不同阵营和争议。
  6. 自适应时间窗口,优先最新内容:默认时间窗口不设为30天。优先选择能完整阐述事件的最短时间窗口。
  7. 舆情不等于事实:将情绪表述为本次X平台样本中的公众讨论内容。
  8. 引用规范:如果可用,优先使用
    @账号
    加帖子链接。当从X工具获取到帖子引用ID时,使用宿主的内嵌帖子引用格式。严禁虚构URL。不得在末尾附加无关的来源列表。
构建搜索查询时,请阅读
references/query-patterns.md
。当样本内容稀少、杂乱或存在噪声时,请阅读
references/failure-modes.md

Pipeline

执行流程

Step 0 - Parse topic

步骤0 - 解析话题

  • Require a named topic (person, org, product, launch, event, controversy).
  • Strip intent modifiers for search entities (
    sentiment
    ,
    drama
    ,
    takes
    ) but keep them as synthesis focus if the user asked for them.
  • Classify loosely: event | person/org | product/release | debate.
  • 必须要求用户提供明确的话题(人物、组织、产品、发布活动、事件、争议)。
  • 移除搜索实体中的意图修饰词(如
    sentiment
    drama
    takes
    ),但如果用户明确要求关注这些内容,可将其作为合成重点。
  • 大致分类:事件 | 人物/组织 | 产品/发布 | 争议。

Step 1 - Optional entity web lookup (0 or 1 call)

步骤1 - 可选的实体网络查询(0或1次调用)

If the topic is ambiguous or you lack an obvious official handle/name:
  • Make at most one web lookup to resolve identity.
  • Extract: canonical name, official
    @handle
    if stated, aliases, event date if the page states one.
If the topic is already clear (e.g.
Kimi K3
,
@sama
), skip web.
如果话题模糊,或你不清楚其官方账号/名称:
  • 最多进行一次网络查询以解析身份信息。
  • 提取:标准名称、官方
    @账号
    (如有)、别名、事件日期(如页面中明确标注)。
如果话题已明确(例如
Kimi K3
@sama
),跳过网络查询。

Step 2 - X entity grounding

步骤2 - X平台实体定位

  • Use
    x_user_search
    for likely official or primary accounts when useful.
  • Build aliases: exact phrase, alternate spellings, product codes, cashtags.
  • Prefer first-party
    from:handle
    when you have a confident handle.
  • 必要时,使用
    x_user_search
    查找可能的官方或主要账号。
  • 构建别名:精确短语、拼写变体、产品代码、股票代码标签。
  • 如果能确定账号,优先使用
    from:账号
    的关键词查询。

Step 3 - Pulse (always first)

步骤3 - 热度检测(必选第一步)

Run a cheap Latest keyword search with a short
since:
window to measure velocity. Example windows to try first:
  • Breaking candidate: last few hours (
    since:YYYY-MM-DD
    for today, Latest)
  • If almost empty: widen once (yesterday / last 2 days) before committing mode
Commit a mode and window:
Pulse signalModeDefault window
High volume, rising engagement, clear originBreakinglast 1–6 hours (minutes if still exploding)
Clear same-day event / launch chatterSame-daylast 24–48 hours
Ongoing debate, moderate velocityStorylast 3–7 days
Sparse posts, mostly references to older newsBackgroundlast 14–30 days; still prefer recent posts
State the chosen Window and Mode in the brief. Expand later only if:
  • No agreement on what happened
  • Missing first-party post from the obvious account
  • Debates point at an origin post you have not seen
When ranking, prefer recency over raw likes unless an older post is clearly the origin everyone quotes or replies to - then fetch that thread.
运行一次低成本的「最新内容」关键词搜索,设置较短的
since:
时间窗口以衡量讨论热度。可先尝试以下时间窗口:
  • 突发候选:过去几小时(当天使用
    since:YYYY-MM-DD
    ,选择「最新内容」模式)
  • 如果几乎无结果:扩大一次时间窗口(昨天/过去2天),再确定模式
确定模式和时间窗口:
热度信号模式默认时间窗口
高讨论量、互动量上升、事件源头明确突发过去1–6小时(如果讨论仍在爆发,可缩小到分钟级)
明确的当日事件/发布讨论当日过去24–48小时
持续争议、中等讨论热度事件追踪过去3–7天
帖子稀少,多为对旧闻的引用背景回顾过去14–30天;仍优先选择最新帖子
在简报中说明所选的时间窗口模式。仅在以下情况时扩大时间窗口:
  • 对事件经过无共识
  • 缺少明显账号的官方帖子
  • 争议指向未获取到的源头帖子
排序时,优先考虑时效性而非点赞数,除非旧帖子是所有人引用或回复的明确源头——此时需获取该帖子的完整线程。

Step 4 - Search lattice (parallel)

步骤4 - 多维度搜索(并行)

Use multiple lanes. Cap total X tool calls roughly 8–14 for a normal run.
LaneToolGoal
Top
x_keyword_search
mode=
Top
High-engagement consensus
Latest
x_keyword_search
mode=
Latest
+ time operators
Fresh narrative
Semantic
x_semantic_search
Paraphrases and adjacent framing
First-partykeyword
from:handle
when known
Official statement
Debatecontroversy / quote / counter-claim queriesDisagreement surface
Use advanced operators from
references/query-patterns.md
. Always keep the primary entity in the query. Drop off-entity viral noise.
采用多个搜索维度。正常运行时,X工具调用总数大致控制在8–14次
维度工具目标
热门内容
x_keyword_search
mode=
Top
获取高互动量的共识内容
最新内容
x_keyword_search
mode=
Latest
+ 时间操作符
获取最新叙事内容
语义搜索
x_semantic_search
获取同义表述和相关视角
官方内容已知账号时使用
from:账号
关键词
获取官方声明
争议内容针对争议/引用/反驳观点的查询挖掘分歧点
使用
references/query-patterns.md
中的高级操作符。查询中必须包含核心实体。过滤掉与实体无关的热门噪声内容。

Step 5 - Thread enrichment

步骤5 - 线程内容补充

x_thread_fetch
the 3–8 highest-signal posts, prioritizing:
  1. Origin / announcement
  2. Official first-party
  3. Highest-engagement summary take
  4. Strongest steelman and strongest criticism
  5. Posts that define a camp split
使用
x_thread_fetch
获取3–8条最高信号值的帖子,优先级如下:
  1. 事件源头/公告
  2. 官方第一方内容
  3. 高互动量的总结性观点
  4. 最具说服力的支持和批评观点
  5. 定义阵营分歧的帖子

Step 6 - Rank and cluster (in head, lightweight)

步骤6 - 排序与聚类(轻量化,在本地完成)

Rough score:
text
score = engagement × freshness_weight × authority_weight × on_entity
  • On-entity: must clearly be about the primary topic (or hard alias).
  • Authority (soft): official accounts, domain experts, primary reporters - never a hard allowlist; do not over-weight bluechecks alone.
  • Clusters: merge posts that make the same claim into one camp bullet.
Discard engagement bait that fails entity grounding.
大致评分公式:
text
score = engagement × freshness_weight × authority_weight × on_entity
  • 实体相关性(on_entity):必须明确与核心话题(或其官方别名)相关。
  • 权威性(软性):官方账号、领域专家、主流记者——无硬性白名单;不要过度依赖蓝V标识。
  • 聚类:将表达相同观点的帖子合并为一个阵营要点。
丢弃不符合实体定位的互动诱饵内容。

Step 7 - Synthesize

步骤7 - 内容合成

Emit the brief using the template below. Do not dump raw ranked lists. Include at least 2–3 short attributed quotes from real posts when the sample has usable text.
If the sample is thin, say so. Prefer honest uncertainty over fake consensus.
使用以下模板生成简报。请勿直接输出原始排序列表。当样本中有可用文本时,至少包含2–3条简短的带引用来源的内容
如果样本内容稀少,请如实说明。宁可坦诚表示不确定,也不要伪造共识。

Output template

输出模板

Use this structure. Keep headings. No extra blog-style sections.
markdown
undefined
使用以下结构,保留标题,不要添加额外的博客风格章节。
markdown
undefined

/whathappened: {topic}

/whathappened: {话题}

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}
时间窗口: {人性化时间描述} · 模式 {突发|当日|事件追踪|背景回顾} · 截至时间 {UTC或本地时间戳} X平台样本: ~{N}条帖子 · 热门+最新+{K}条线程 · 可信度 {高|中|低} 实体解析: {无 | 1次网络查询:一行说明用途}

What happened

事件经过

2–5 sentences. Prefer first-party and origin posts. Stick to what X supports.
2–5句话。优先使用官方和源头帖子内容。仅基于X平台支持的信息表述。

Where the conversation is

讨论焦点

  • Dominant frame
  • Secondary frames
  • Who is loud (camps / account types), not "people in general"
  • 主流观点
  • 次要观点
  • 活跃群体(阵营/账号类型),而非泛指“大众”

Public opinion map

公众舆情图谱

CampShare (rough)Core claimRepresentative voices
~X%@a, @b
Label shares as qualitative judgment from this sample, not polling.
阵营占比(大致)核心观点代表性账号
~X%@a, @b
占比为基于本次样本的定性判断,而非民意调查结果。

The live debates

当前争议

  1. {title} - Side A vs Side B; stakes in one line; best evidence posts
  1. {标题} - A方 vs B方;一句话说明争议影响;最佳证据帖子

Notable posts (receipts)

重要帖子(凭证)

  • [@handle](url or status link if known) - why it matters (role: origin / official / steelman / critique / meme)
  • … (5–10 max)
  • @账号 - 重要性说明(角色:源头/官方/支持观点/批评观点/梗图)
  • …(最多5–10条)

Gaps / caveats

局限性/说明

  • Thin sample, missing official voice, language bias, bot/noise risk, web resolve used, etc.
  • What would change this read if true
undefined
  • 样本稀少、缺少官方声音、语言偏差、机器人/噪声风险、使用了网络解析等
  • 哪些信息会改变当前结论
undefined

Formatting notes

格式说明

  • Use plain hyphens
    -
    , not em dashes.
  • Neutral wording: "many posts claim", "a common critique is", not "everyone knows".
  • Rough camp percentages must be marked as rough sample judgment.
  • If confidence is thin, shrink the opinion map and expand Gaps.
  • End after Gaps. No trailing invitation spam unless the user asked follow-ups.
  • 使用普通连字符
    -
    ,不要使用破折号。
  • 中立表述:“许多帖子称”、“常见批评观点为”,而非“众所周知”。
  • 大致阵营占比必须标注为基于样本的定性判断。
  • 如果可信度低,缩小舆情图谱并扩展「局限性/说明」部分。
  • 内容到「局限性/说明」部分结束。除非用户提问,否则不要添加后续邀请内容。

Pre-flight checklist (before first tool call)

执行前检查清单(首次工具调用前)

  • Topic present (else ask)
  • X tools available (else refuse)
  • Web budget remaining: 0 or 1 resolve-only
  • No discovery request
  • 已获取话题(否则询问用户)
  • X工具可用(否则拒绝执行)
  • 网络查询剩余次数:0或1次(仅用于解析)
  • 非发现模式请求

Post-synthesis checklist (before send)

合成后检查清单(发送前)

  • Window + mode stated
  • Every quoted line attributable to a fetched post
  • No web-derived "sentiment"
  • Camps grounded in multiple posts when confidence is high
  • Receipts are real and on-entity
  • Gaps honest about sample limits
  • 已说明时间窗口+模式
  • 每条引用内容均可追溯到获取的帖子
  • 无来自网络的“情绪”数据
  • 高可信度时,阵营基于多条帖子
  • 凭证真实且与实体相关
  • 局限性如实说明样本的不足