gate-news-briefing
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
More from gate/gate-skills
gate-exchange-futures
Gate Exchange USDT perpetual futures trading skill. Use when the user wants to trade contracts, open/close perpetual positions, or manage futures leverage. Triggers on 'open long', 'close short', 'USDT perpetual', 'futures TP/SL'.
125gate-exchange-spot
Gate spot trading and account operations skill. Use when the user asks to buy/sell crypto on spot, check account value, list spot balances, or place conditional/trigger orders. Triggers on 'buy coin', 'sell spot', 'take profit', 'stop loss', 'cancel order', 'my spot balance', '查看我的现货账户余额', or '现货账户余额'.
113gate-exchange-marketanalysis
Gate Exchange market analysis tool. Use when the user asks for deep market metrics like liquidity, slippage, funding arbitrage, or manipulation risk. Triggers on 'liquidity', 'depth', 'slippage', 'momentum', 'buy/sell pressure', 'squeeze', 'funding rate', 'arbitrage', 'basis', 'premium'.
102gate-info-trendanalysis
Trend and technical analysis. Use this skill ONLY when the user's query is exclusively about technical indicators or trend analysis for one coin with no other analysis dimensions. Trigger phrases: technical analysis, K-line, RSI, MACD, trend, support, resistance. If the query ALSO mentions fundamentals, risk, news, sentiment, or any other analysis dimension, use gate-info-research instead — it handles multi-dimension queries in a single unified report.
84gate-dex-market
On-chain DEX market data queries via Gate: token prices/价格, K-line/OHLC candlestick charts, token rankings, security risk audits, new token discovery, holder analysis, and trading volume stats. Read-only — no transactions. Use when the user asks for 'token price', 'price of ETH', 'check SOL price', '查价格', 'K线', 'candlestick', 'OHLC', 'top gainers', 'trending tokens', 'is this token safe', 'honeypot check', 'new tokens', 'trading volume', or 'liquidity events'. Do NOT use for swap/trade execution (use gate-dex-trade) or wallet balance/account queries (use gate-dex-wallet).
76gate-info-riskcheck
Token and address risk assessment. Use this skill ONLY when the user's query is exclusively about token/contract/address security with no other analysis dimensions. Trigger phrases: is this token safe, check contract risk, is this address safe, honeypot, rug. If the query ALSO mentions fundamentals, technicals, news, sentiment, or any other analysis dimension, use gate-info-research instead — it handles multi-dimension queries in a single unified report. Address risk mode (is this address safe) is exclusive to this skill and must NOT be routed to gate-info-research.
76