| name | gate-news-briefing |
| version | 2026.3.25-1 |
| updated | 2026-03-25 |
| 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. |
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, and per-skill version checks when scripts/ is present).
- 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.
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 scripts/update-skill.ps1. 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.
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.
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.
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)
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 check reports update_available, or BLOCK_UNTIL_USER_CONFIRMS_UPDATE, or strict exit 3, end this turn after asking. Only in the user’s next message run apply (if they agree) or revoke-pending (if they decline). Do not chain apply in the same turn as check for this flow.
- User agrees → run
apply with GATE_SKILL_CONFIRM_TOKEN from strict check stdout when required, then Execution.
- User declines →
revoke-pending, then Execution on the current install.
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
name above; must match skills/<name>/ on gate-skills.
- Invoke: Use
$SKILL_ROOT/scripts/update-skill.sh (or .ps1) where $SKILL_ROOT/SKILL.md is 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 without skills/<name>/SKILL.md) as the install. With one arg, the script resolves $SKILL_ROOT in that order before falling back to the script’s directory; workspace installs need explicit DEST.
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
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
Installation Check
- Required: Gate-News
- Install: Run installer skill for your IDE
- Cursor:
gate-mcp-cursor-installer
- Codex:
gate-mcp-codex-installer
- Claude:
gate-mcp-claude-installer
- OpenClaw:
gate-mcp-openclaw-installer
Routing Rules
| 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
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=SOL
time_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
## 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