Agent Reach
Panniantong/Agent-Reach
Routes web research and platform lookups across 16 sites, including Twitter, Reddit, YouTube, Bilibili, Xiaohongshu and GitHub, through one command-line tool.
Briefs you on what just happened around a named topic and maps public opinion on X, using the host's native X search tools only.
$ npx skills add kunchenguid/whathappened --skill whathappened -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install kunchenguid/whathappened whathappened --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/kunchenguid/whathappened.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/whathappened .claude/skills/whathappened && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "whathappened" agent skill from https://github.com/kunchenguid/whathappened/tree/main/skills/whathappened into .claude/skills/whathappened/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "whathappened", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/kunchenguid/whathappened/tree/main/skills/whathappenedType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add kunchenguid/whathappened --skill whathappened -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install kunchenguid/whathappened whathappened --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kunchenguid/whathappened.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/whathappened .agents/skills/whathappened && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "whathappened" agent skill from https://github.com/kunchenguid/whathappened/tree/main/skills/whathappened into .agents/skills/whathappened/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "whathappened", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add kunchenguid/whathappened --skill whathappened -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install kunchenguid/whathappened whathappened --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kunchenguid/whathappened.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/whathappened .cursor/skills/whathappened && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "whathappened" agent skill from https://github.com/kunchenguid/whathappened/tree/main/skills/whathappened into .cursor/skills/whathappened/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "whathappened", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/kunchenguid/whathappened.git --path skills/whathappened--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add kunchenguid/whathappened --skill whathappened -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install kunchenguid/whathappened whathappened --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kunchenguid/whathappened.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/whathappened .gemini/skills/whathappened && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "whathappened" agent skill from https://github.com/kunchenguid/whathappened/tree/main/skills/whathappened into .gemini/skills/whathappened/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "whathappened", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install kunchenguid/whathappened whathappenedInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add kunchenguid/whathappened --skill whathappened -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/kunchenguid/whathappened.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/whathappened .github/skills/whathappened && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "whathappened" agent skill from https://github.com/kunchenguid/whathappened/tree/main/skills/whathappened into .github/skills/whathappened/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "whathappened", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add kunchenguid/whathappened --skill whathappened -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install kunchenguid/whathappened whathappened --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kunchenguid/whathappened.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/whathappened .opencode/skills/whathappened && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "whathappened" agent skill from https://github.com/kunchenguid/whathappened/tree/main/skills/whathappened into .opencode/skills/whathappened/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "whathappened", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
whathappenedBriefs you on what just happened around a named topic and maps public opinion on X, using the host's native X search tools only.
When you run /whathappened or ask what is going on around a person, product, launch or event, the skill produces a neutral analyst-style briefing built only from X search results: what happened, and which camps and debates are visible. It needs four native X tools (keyword search, semantic search, thread fetch and user search) and stops with an explanation if the host, such as Grok Build, lacks them, rather than faking a briefing from web search.
Its rules keep the output narrow. At most one web lookup is allowed, only to work out who or what the topic is, and it is reported under gaps. Posts, handles and quotes are never invented, citations use handles and post links where available, and sentiment is framed as conversation in the X sample, not ground truth. The time window adapts and favors the shortest period that still explains the story. A named topic is required, since there is no trending-feed mode, and flags are ignored in this first version. Two reference files cover query patterns and thin or noisy samples.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit fe9e84b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
What Happened loads about 2.1k tokens when it runs, and up to ~3.6k if it reads all its reference files. Until then it costs about 119 tokens; SKILL.md has 927 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from kunchenguid/whathappened at commit fe9e84b, republished under its MIT licence (© kunchenguid). 927 words, ~2,121 tokens.
.claude/skills/whathappened/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.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.
You need these tools:
x_keyword_searchx_semantic_searchx_thread_fetchx_user_searchIf 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.
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.--deep,
window overrides). Infer window from the pulse (below).@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.
sentiment, drama, takes)
but keep them as synthesis focus if the user asked for them.If the topic is ambiguous or you lack an obvious official handle/name:
@handle if stated, aliases, event date
if the page states one.If the topic is already clear (e.g. Kimi K3, @sama), skip web.
x_user_search for likely official or primary accounts when useful.from:handle when you have a confident handle.Run a cheap Latest keyword search with a short since: window to measure
velocity. Example windows to try first:
since:YYYY-MM-DD for today, Latest)Commit a mode and window:
| Pulse signal | Mode | Default window |
|---|---|---|
| High volume, rising engagement, clear origin | Breaking | last 1–6 hours (minutes if still exploding) |
| Clear same-day event / launch chatter | Same-day | last 24–48 hours |
| Ongoing debate, moderate velocity | Story | last 3–7 days |
| Sparse posts, mostly references to older news | Background | last 14–30 days; still prefer recent posts |
State the chosen Window and Mode in the brief. Expand later only if:
When ranking, prefer recency over raw likes unless an older post is clearly the origin everyone quotes or replies to - then fetch that thread.
Use multiple lanes. Cap total X tool calls roughly 8–14 for a normal run.
| Lane | Tool | Goal |
|---|---|---|
| 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-party | keyword from:handle when known | Official statement |
| Debate | controversy / quote / counter-claim queries | Disagreement surface |
Use advanced operators from references/query-patterns.md. Always keep the
primary entity in the query. Drop off-entity viral noise.
x_thread_fetch the 3–8 highest-signal posts, prioritizing:
Rough score:
score = engagement × freshness_weight × authority_weight × on_entityDiscard engagement bait that fails entity grounding.
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.
Use this structure. Keep headings. No extra blog-style sections.
# /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-, not em dashes.© kunchenguid, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in skills/whathappened of kunchenguid/whathappened.
Open the folder on GitHubat commit fe9e84b
What Happened next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| What Happened this skillkunchenguid/whathappened | 231 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Agent ReachPanniantong/Agent-Reach | 94k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Modsearchliustack/modsearch | 612 | — | ~2.6k | Automated safety check: Notes | MIT | |
| Agent ReachEdisonChenAI/agent-reach | 110 | 1 repos | ~1.3k | Automated safety check: Pass | MIT | |
| AIHOT AI News LookupKKKKhazix/khazix-skills | 21k | — | ~461 | Automated safety check: Pass | MIT | |
| X Search via xAIcode-yeongyu/oh-my-openagent | 70k | — | ~1.4k | Automated safety check: Pass | Custom licence |
Panniantong/Agent-Reach
Routes web research and platform lookups across 16 sites, including Twitter, Reddit, YouTube, Bilibili, Xiaohongshu and GitHub, through one command-line tool.
liustack/modsearch
Plug-in web search, X (Twitter) search, and page fetch for models without native web access.
EdisonChenAI/agent-reach
Use the internet: search, read, and interact with 13+ platforms including Twitter/X, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu (小红书), Douyin (抖音), WeChat Articles (微信公众号), LinkedIn, Boss直聘…
KKKKhazix/khazix-skills
Answers questions about recent AI news by querying AIHOT's Chinese-language agent API live, covering daily highlights, search, hot events and the daily digest.
code-yeongyu/oh-my-openagent
Rules for using the x_search tool to search X (Twitter) through a connected xAI account: date-bound queries, trusted handles, search operators and split searches.
charlie-chann/ai-agent-langgraph-main
多源内容采集专家。能从网页、RSS、Tavily搜索、Twitter抓取内容。适用于:信息收集、竞品监控、行业动态追踪。
Works with
Categories
Briefs you on what just happened around a named topic and maps public opinion on X, using the host's native X search tools only. When you run /whathappened or ask what is going on around a person, product, launch or event, the skill produces a neutral analyst-style briefing built only from X search results: what happened, and which camps and debates are visible. It needs four native X tools (keyword search, semantic search, thread fetch and user search) and stops with an explanation if the host, such as Grok Build, lacks them, rather than faking a briefing from web search.
What Happened fits situations like: getting a quick briefing on what happened with a person, product or launch; seeing how people on X are reacting to an announcement or controversy; mapping the main camps in a debate around a named topic; checking public opinion on X about a recent event.
Run `npx skills add kunchenguid/whathappened --skill whathappened -a claude-code`. Or copy the skill folder (skills/whathappened in kunchenguid/whathappened) into .claude/skills/whathappened in your project. Claude Code loads it when a task matches its description.
Run `npx skills add kunchenguid/whathappened --skill whathappened -a codex`. Or copy the skill folder (skills/whathappened in kunchenguid/whathappened) into .agents/skills/whathappened in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add kunchenguid/whathappened --skill whathappened -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/whathappened, .gemini/skills/whathappened, .github/skills/whathappened and .opencode/skills/whathappened in your project.
SKILL.md names no scripts, command-line tools or credentials: What Happened is instructions for the agent only. Our summary lists: A host with native X tools, such as Grok Build; The x_keyword_search, x_semantic_search, x_thread_fetch and x_user_search tools.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
What Happened is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with What Happened: Agent Reach (Panniantong/Agent-Reach, 94k stars), Modsearch (liustack/modsearch, 612 stars), Agent Reach (EdisonChenAI/agent-reach, 110 stars) and AIHOT AI News Lookup (KKKKhazix/khazix-skills, 21k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
kunchenguid (a GitHub user) maintains it in kunchenguid/whathappened, which has 231 GitHub stars. The repository was last updated on July 16, 2026.
Source: kunchenguid/whathappened on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.