@gate/gate-news-briefing
News briefing. Use this skill ONLY when the user's query is exclusively about recent news or headlines with no other analysis dimensions. Trigger phrases: what happened recently, today's highlights, crypto news, any new updates. If the query ALSO mentions coin analysis, risk check, technicals, or any other analysis dimension, use gate-info-research instead — it handles multi-dimension queries in a single unified report.
| name | gate-news-briefing |
| version | 2026.4.7-1 |
| updated | 2026-04-07 |
| description | News briefing. Use this skill ONLY when the user's query is exclusively about recent news or headlines with no other analysis dimensions. Trigger phrases: what happened recently, today's highlights, crypto news, any new updates. If the query ALSO mentions coin analysis, risk check, technicals, or any other analysis dimension, use gate-info-research instead — it handles multi-dimension queries in a single unified report. |
| required_credentials | [] |
| required_env_vars | [] |
| required_permissions | [] |
gate-news-briefing
General Rules
⚠️ STOP — You MUST read and strictly follow the shared runtime rules before proceeding.
Do NOT select or call any tool until all rules are read. These rules have the highest priority.
→ Read gate-runtime-rules.md
→ Also read info-news-runtime-rules.md for gate-info / gate-news-specific rules (tool degradation, report standards, security, routing degradation, per-skill version checks when scripts/ is present, and legacy wrapper routing).
- Only call MCP tools explicitly listed in this skill. Tools not documented here must NOT be called, even if they exist in the MCP server.
- Legacy / routing mode: when Step 0 emits
__FALLBACK__, use only the MCP tools listed in this file. When Step 0 emits__ROUTE_CLI__, do not call those MCP tools; delegate to the mapped primary skill per Step 0.
The crypto industry "morning briefing" Skill. The user asks what's been happening; the system calls 3 MCP Tools in parallel to fetch major events + trending news + social sentiment, then the LLM aggregates into a layered news briefing.
Trigger Scenarios: User asks about recent/today's news, headlines, or what's been happening.
Per-skill updates: This directory includes scripts/update-skill.sh and may include scripts/update-skill.ps1. ClawHub packages uploaded to the marketplace often omit update-skill.ps1 (upload-page restriction); GitHub / Bitbucket source trees keep both. Policy: info-news-runtime-rules.md §1. The Trigger update steps below apply in addition to gate-runtime-rules.md; when scripts are present, use this flow for version checks before execution.
Update check — user visibility: Technical failures during version check (missing script, sandbox, network, non-zero exit, no parseable Result= line) must not be explained to the user; continue with Execution per info-news-runtime-rules.md. Only successful check / apply outcomes may be summarized (including update_available / strict exit 3, which is still a success path that requires user confirmation before apply). Do not auto-download update-skill.* from the network. Static reference if .ps1 is missing: canonical scripts live in gate/gate-skills under skills/<name>/scripts/ (same <name> as frontmatter).
Step 0 — Wrapper routing probe
This legacy skill is a compatibility alias for the primary CLI skill
gate-news-intel.
Before Trigger update, MCP tool selection, or any legacy Execution Workflow, run a deterministic shell probe:
PRIMARY_SKILL="gate-news-intel"
HAS_PRIMARY=0
for root in \
"$HOME/.cursor/skills" \
"$HOME/.codex/skills" \
"$HOME/.openclaw/skills" \
"$HOME/.agents/skills" \
"$HOME/.gemini/antigravity/skills"
do
if [ -f "$root/$PRIMARY_SKILL/SKILL.md" ]; then
HAS_PRIMARY=1
break
fi
done
if command -v gate-cli >/dev/null 2>&1 && [ "$HAS_PRIMARY" = "1" ]; then
echo "__ROUTE_CLI__"
else
echo "__FALLBACK__"
fi
Interpretation:
__ROUTE_CLI__→ stop here. Do not run Trigger update or the legacy MCP sections below. Followhttps://github.com/gate/gate-skills/blob/master/skills/gate-news-intel/SKILL.mdand its playbook contract. Carry over the minimum context: optionalsymbolandtime_range; if no ticker is present, let the primary skill choosemarket_wide_intel.__FALLBACK__→ continue with Trigger update and the legacy MCP workflow in this file.
Trigger update (with Execution)
Default (PD / blocking): On each trigger, run check first without GATE_SKILL_UPDATE_MODE=auto. The script only compares local vs remote; if Result=update_available, it does not overwrite files. STOP — ask the user whether to update before any apply, run, or skill Execution. In sandboxes (e.g. Cursor), use full / all permissions when later running apply. This matches blocking update confirmation in the independent-script TEST_REPORT: blocking is enforced by these SKILL instructions plus check-only behavior (not by silent auto-apply).
Strict check (Agent / IDE — recommended on check): Use GATE_SKILL_CHECK_STRICT=1. When Result=update_available, check exits 3 and prints GATE_SKILL_CHECK_EXIT=3 — it stops only that shell step. Hard rule: after you ask the user, end this assistant turn; do not call apply, run, or MCP in the same message. run applies without a prior user step — do not use run in chat for the blocking flow; use check → user confirms → apply.
Step 1 — Check
Install root: check / apply read $DEST/SKILL.md. Typical $SKILL_ROOT: $HOME/.cursor/skills/<name>/, $HOME/.codex/skills/<name>/, $HOME/.openclaw/skills/<name>/, $HOME/.agents/skills/<name>/, $HOME/.gemini/antigravity/skills/<name>/. Single-arg: the script resolves DEST in that order when SKILL.md exists; otherwise DEST is scripts/../. Workspace-only trees need two-arg check / apply with explicit DEST.
Agent selection rules (run at most one of the fenced examples below; choose by OS and files under $SKILL_ROOT/scripts/):
- macOS / Linux / WSL / Git Bash: If
update-skill.shexists → use only the Bash example. - Windows (native PowerShell): If
update-skill.ps1exists → use only the PowerShell example. - Windows without
.ps1(typical ClawHub install): If onlyupdate-skill.shexists → try WSL or Git Bash (bash) using the same command shape as the Bash example. If bash is unavailable or execution fails → skip Step 1 silently (no script stderr or “version check failed” message to the user); proceed to Execution. - Neither script exists: Skip Step 1 silently; proceed to Execution. Do not invent
GATE_SKILL_CONFIRM_TOKENor runapply/revoke-pending.
Bash (blocking — no auto; example Cursor):
GATE_SKILL_CHECK_STRICT=1 bash "$HOME/.cursor/skills/gate-news-briefing/scripts/update-skill.sh" check "gate-news-briefing"
PowerShell:
$env:GATE_SKILL_CHECK_STRICT = '1'
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\.cursor\skills\gate-news-briefing\scripts\update-skill.ps1" check "gate-news-briefing"
Result semantics: skipped = no action. update_available = remote newer; with blocking flow, do not apply until the user agrees. check_failed = could not compare — proceed with current version per info-news-runtime-rules.md; do not surface technical check failure details to the user.
Agent parse (stdout): GATE_SKILL_UPDATE_AGENT_ACTION=…. BLOCK_UNTIL_USER_CONFIRMS_UPDATE → Step 2 before Execution. CONTINUE_SKILL_EXECUTION → no block from the check script.
Step 2 — Confirm or Reject (blocking)
Runtime: Use the same shell family for Step 2 as for Step 1 (Bash vs PowerShell). If Step 1 was skipped, do not run apply or revoke-pending.
If update_available:
STOP — do NOT proceed to Execution yet.
Inform the user (e.g. newer version available; summarize if helpful).
Wait for the user’s reply — blocking step.
Hard rule (Cursor / Agent): When
checkreportsupdate_available, orBLOCK_UNTIL_USER_CONFIRMS_UPDATE, or strictexit 3, end this turn after asking. Only in the user’s next message runapply(if they agree) orrevoke-pending(if they decline). Do not chainapplyin the same turn ascheckfor this flow.- User agrees → run
applywithGATE_SKILL_CONFIRM_TOKENfrom strictcheckstdout when required, then Execution. - User declines →
revoke-pending, then Execution on the current install.
- User agrees → run
Two-step gate (strict check): apply / run (without GATE_SKILL_UPDATE_MODE=auto) fail until GATE_SKILL_CONFIRM_TOKEN matches .gate-skill-apply-token. User decline → revoke-pending.
GATE_SKILL_CONFIRM_TOKEN="<paste from check stdout>" bash "$HOME/.cursor/skills/gate-news-briefing/scripts/update-skill.sh" apply "gate-news-briefing"
bash "$HOME/.cursor/skills/gate-news-briefing/scripts/update-skill.sh" revoke-pending "gate-news-briefing"
$env:GATE_SKILL_CONFIRM_TOKEN = '<paste from check stdout>'
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\.cursor\skills\gate-news-briefing\scripts\update-skill.ps1" apply "gate-news-briefing"
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\.cursor\skills\gate-news-briefing\scripts\update-skill.ps1" revoke-pending "gate-news-briefing"
If Step 1 was not strict (no pending token): apply without GATE_SKILL_CONFIRM_TOKEN is allowed.
If skipped or check_failed: no update step; proceed to Execution.
Optional — GATE_SKILL_UPDATE_MODE=auto
For CI / unattended automation only: setting GATE_SKILL_UPDATE_MODE=auto on check makes the script apply immediately when the remote is newer — no user confirmation and incompatible with blocking update confirmation tests. Do not use auto on check when reproducing the blocking PD flow.
Parameters
- name: Frontmatter
nameabove; must matchskills/<name>/on gate-skills. - Invoke: Use
$SKILL_ROOT/scripts/update-skill.sh(or.ps1) where$SKILL_ROOT/SKILL.mdis this skill — e.g.~/.cursor/skills/<name>,~/.codex/skills/<name>,~/.openclaw/skills/<name>,~/.agents/skills/<name>,~/.gemini/antigravity/skills/<name>; do not treat~/.cursor(or any host root withoutskills/<name>/SKILL.md) as the install. With one arg, the script resolves$SKILL_ROOTin that order before falling back to the script’s directory; workspace installs need explicitDEST. Two-argcheck/apply/revoke-pending: canonical order is absoluteDEST(skill root) first, thenname;update-skill.sh/update-skill.ps1auto-swap when only one normalized path containsSKILL.md(e.g. agent passesnamethen path). - ClawHub vs full tree: Installs without
update-skill.ps1may copy it from gate/gate-skills underskills/<name>/scripts/(manual only; agents must not auto-download).
Do not dump raw script logs into the user-facing reply except when debugging. On check exit 3 (strict), do not run Execution until Step 2 is resolved. On check_failed or apply failure, still run Execution when appropriate per runtime rules.
MCP Dependencies
Legacy path only — this section applies when Step 0 emitted __FALLBACK__.
Required MCP Servers
| MCP Server | Status |
|---|---|
| Gate-News | ✅ Required |
MCP Tools Used
Query Operations (Read-only)
- news_events_get_latest_events
- news_feed_get_social_sentiment
- news_feed_search_news
Authentication
- API Key Required: No
- Credentials Source: None; this skill uses read-only Gate Info / Gate News MCP access only.
Installation Check
- Required: Gate-News
- Install: Use the local Gate MCP installation flow for the current host IDE before continuing.
- Continue only after the required Gate MCP server is available in the current environment.
Routing Rules
Legacy path only — when Step 0 emitted __ROUTE_CLI__, routing is delegated to
gate-news-intel.
| User Intent | Keywords | Action |
|---|---|---|
| General news briefing | "what happened recently" "today's headlines" "crypto news" "any new updates" | Execute this Skill's full workflow |
| Coin-specific news | "any SOL news" "what's happening with BTC" | Execute this Skill with coin parameter set to that coin |
| Reason for a move | "why did BTC crash" "what just happened" | Route to gate-news-eventexplain |
| Overall market conditions | "how's the market" | Route to gate-info-marketoverview |
| Exchange announcements | "any new listings on Binance" "new coins lately" | Route to gate-news-listing |
Execution Workflow
Legacy path only — this section applies when Step 0 emitted __FALLBACK__.
Step 0: Multi-Dimension Intent Check
Before executing this Skill, check if the user's query involves multiple analysis dimensions:
- If the query is exclusively about recent news or headlines, proceed with this Skill.
- If the query also mentions coin analysis, risk check, technicals, fundamentals, or any other analysis dimension beyond news, route to
gate-info-research— it handles multi-dimension queries with unified tool deduplication and coherent report aggregation.
Step 1: Intent Recognition & Parameter Extraction
Extract from user input:
coin(optional): Whether a specific coin is targeted, e.g., "SOL news" → coin=SOLtime_range: Time window (default: 24h; if user says "this week" → 7d)topic(optional): Whether focused on a specific topic (e.g., "regulation", "ETF", "DeFi")
Step 2: Call 3 MCP Tools in Parallel
General Briefing Mode (no specific coin):
| Step | MCP Tool | Parameters | Retrieved Data | Parallel |
|---|---|---|---|---|
| 1a | news_events_get_latest_events |
time_range={time_range}, limit=10 |
Major event list (with impact rating) | Yes |
| 1b | news_feed_search_news |
sort_by="importance", limit=10, lang="en" |
Top news ranked by importance | Yes |
| 1c | news_feed_get_social_sentiment |
(no specific coin) | Market-wide social sentiment overview | Yes |
Coin-Specific Mode (user specified a coin):
| Step | MCP Tool | Parameters | Retrieved Data | Parallel |
|---|---|---|---|---|
| 1a | news_events_get_latest_events |
coin={coin}, time_range={time_range}, limit=10 |
Events related to that coin | Yes |
| 1b | news_feed_search_news |
coin={coin}, sort_by="importance", limit=10 |
News related to that coin | Yes |
| 1c | news_feed_get_social_sentiment |
coin={coin} |
Social sentiment for that coin | Yes |
Step 3: LLM Aggregation
The LLM must:
- De-duplicate events and news (the same event may appear in both feeds)
- Rank by impact/importance
- Categorize (Regulation, Projects, Market, Technology, etc.)
- Combine with social sentiment to identify market focus areas
Step 4: Output Structured Briefing
Report Template
Legacy path only — this section applies when Step 0 emitted __FALLBACK__.
## Crypto Industry News Briefing
> Time range: Past {time_range} | Generated: {timestamp}
### 🔴 Major Events
{Top 1-3 events by impact, each containing:}
**1. {event_title}**
- Time: {event_time}
- Impact: {Market/industry impact assessment}
- Involved: {Related coins/projects/institutions}
- Details: {2-3 sentence summary}
**2. {event_title}**
- ...
---
### 📰 Trending News
{Grouped by category, 2-5 items per category:}
**Regulation & Policy**
1. {title} — {source} ({time})
{One-sentence summary}
2. ...
**Projects & Technology**
1. {title} — {source} ({time})
{One-sentence summary}
2. ...
**Market & Trading**
1. {title} — {source} ({time})
{One-sentence summary}
2. ...
**DeFi / NFT / GameFi** (if applicable)
1. ...
---
### 💬 Social Sentiment
| Metric | Status |
|--------|--------|
| Overall Sentiment | {Bullish/Bearish/Neutral} |
| Discussion Volume | {High/Medium/Low} |
| Trending Topics | {topic1}, {topic2}, {topic3} |
| KOL Focus | {focus description} |
**Top 5 Coins by Discussion Volume** (if data available)
| Rank | Coin | Volume Change | Sentiment |
|------|------|--------------|-----------|
| 1 | {coin} | +{change}% | {Bullish/Bearish} |
| 2 | ... | ... | ... |
---
### 📌 Worth Watching
{LLM distills 2-3 noteworthy points from news and sentiment:}
- {Point 1}
- {Point 2}
- {Point 3}
> The above is a news summary and does not constitute investment advice.
Coin-Specific Mode Template
## {symbol} News Briefing
> Time range: Past {time_range} | Generated: {timestamp}
### Recent Key Events
1. {event} — {time}
{details}
2. ...
### Related News
1. [{title}]({url}) — {source} ({time})
{summary}
2. ...
### Social Sentiment
- Discussion Volume: {High/Medium/Low} (vs 7-day average: {change}%)
- Sentiment Bias: {Bullish/Bearish/Neutral}
- KOL Views: {Summary of key KOL opinions}
### Summary
{1-2 sentence summary of the coin's recent news landscape}
De-duplication & Ranking Logic
| Rule | Description |
|---|---|
| Event-News de-duplication | If an event title closely matches a news headline (similarity > 80%), merge into one entry — events take priority |
| Importance ranking | Events ranked by impact rating; news ranked by importance field |
| Time ordering | At equal importance, reverse chronological (newest first) |
| Categorization | News auto-categorized: Regulation & Policy / Projects & Technology / Market & Trading / DeFi / Other |
Error Handling
| Error Type | Handling |
|---|---|
news_events_get_latest_events fails |
Skip "Major Events" section; show news only |
news_feed_search_news fails |
Show events only; note "News feed temporarily unavailable" |
news_feed_get_social_sentiment fails |
Skip "Social Sentiment" section |
| All Tools fail | Return error message; suggest the user try again later |
| Too few news items (< 3) | Expand time range (e.g., 24h → 48h) and note the change |
Cross-Skill Routing
| User Follow-up Intent | Route To |
|---|---|
| "Why did XX pump/dump?" | gate-news-eventexplain |
| "Analyze XX for me" | gate-info-coinanalysis |
| "How's the overall market?" | gate-info-marketoverview |
| "Any new listings on Binance?" | gate-news-listing |
| "Tell me more about ETF" | Deep search via news_feed_search_news(query="ETF") |
Safety Rules
- Source attribution: Every news item must include the source (media name) and time
- No interpretive speculation: News summaries must remain objective — no subjective extrapolation
- No fabricated news: If data is insufficient, reduce the number of items rather than fabricate content
- Neutral handling of sensitive topics: Maintain neutral tone when covering regulation, politics, or other sensitive subjects
- Timeliness labeling: Clearly label the time range covered by the data
Loading...
Select a file to preview
Analyzing security...
Checking scan reports and verification data.
Bill of Materials
Everything this skill can do — files, network, commands, and more.