Claude
Skills
Sign in
Back

gate-news-intel

Included with Lifetime
$97 forever

Use this skill whenever the user’s main ask is news, events, listings, social/UGC, or market move attribution. Primary gate-cli news (optional info for market context). Covers briefings, event explain, market move attribution via explain-market-move, exchange announcements, UGC X/Reddit/YouTube, sentiment. Triggers: what happened, why crash, why pump, market move reason, new listings, community take. Delegate: gate-info-research (research-first), gate-info-web3 (on-chain), gate-info-risk (safety). v0.5.2; do not use unshipped +brief +event-explain +community-scan +market +coin shortcuts.

Web3scripts

What this skill does


# gate-news-intel

## 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](https://github.com/gate/gate-skills/blob/master/skills/gate-runtime-rules.md)
→ Also read [info-news-runtime-rules.md](https://github.com/gate/gate-skills/blob/master/skills/info-news-runtime-rules.md) for **gate-info** and **gate-news** shared rules.
- **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.

## CLI and playbook contract

1. **Primary boundary**: **news, events, announcements, and social/UGC intelligence**. Optional **`info`** calls appear only in playbooks that explicitly add market or coin background (`intel_plus_market`, `market_wide_intel`).
2. Every command MUST exist under **`gate-cli v0.5.2`**. Call only what is listed in [playbooks/gate-news-intel.yaml](https://github.com/gate/gate-skills/blob/master/playbooks/gate-news-intel.yaml). When preflight `route` is `CLI`, do **not** use Gate MCP from this skill.
3. Always pass **`--format json`** on data-collection commands.
4. **Separate fact from opinion**: label **facts** (dated events, official announcements, news wires) vs **community / UGC / X / social** (always cite source type: UGC, X, Reddit, YouTube, sentiment index).
5. **Synthesis order (PRD 5.6.7)**:
   - **“Why did it drop / crash?”** → causal **event chain first** (Section 2), then optionally market/coin background (Section 4).
   - **“How does the community see ...?”** → **Section 3 (community / UGC / X / sentiment) before** broad market overview (Section 4).
6. Final user-facing reports may use the user’s locale; this `SKILL.md` stays English for discovery (repository `CLAUDE.md` rule 1).

---

## Step 0 — Preflight

Follow [skills/_shared/preflight.md](https://github.com/gate/gate-skills/blob/master/skills/_shared/preflight.md) verbatim:

1. Run `gate-cli preflight --format json`; parse `.route`, `.status`, `.user_message`.
2. Branch: `CLI` → continue; `MCP_FALLBACK` → emit `__FALLBACK__` and halt (legacy MCP fallback is outside this repo’s primary skills); `BLOCK` → echo `user_message` and halt.
3. When `status == "ready_with_migration_warning"`, remember it — Step 3 appends one migrate hint at the end of the report.

4. **Version detection**: Run `gate-cli --version 2>&1` and extract the version number (e.g. `0.7.2` from `"gate-cli version 0.7.2 (build ...)"`). Store as `cli_version`. This is used in Step 1 to decide whether `market_move_explain` can use `explain-market-move` (requires v0.7.2+) or must fall back.

Do NOT run `news` / `info` data collection until `route == "CLI"`.

---

## Step 1 — Intent routing

Map the user query to **exactly one** playbook id from [playbooks/gate-news-intel.yaml](https://github.com/gate/gate-skills/blob/master/playbooks/gate-news-intel.yaml).

| Playbook id | When to pick | Required slots |
|-------------|----------------|----------------|
| `news_brief` | Headlines / “what happened recently” **with a named asset** | `symbol` |
| `event_explain` | Pure event timeline / detail lookup **without** price-move attribution | `symbol` |
| `market_move_explain` | “Why did X move / crash / pump / dump”, price-move attribution, market move reason | `symbol`, `query` |
| `exchange_listings` | Listings, delistings, maintenance, **announcements** | — |
| `community_intel` | “Community take”, Reddit, YouTube, X, social / sentiment (social-first) | `symbol` |
| `intel_plus_market` | User wants **news + market or coin background** | `symbol` |
| `market_wide_intel` | Broad “what is happening in crypto” **without** a ticker | — |

#### Version-dependent routing

`market_move_explain` requires `gate-cli` **v0.7.2+** (the earliest version that ships `explain-market-move`). The playbook's `cli_baseline` field documents this. All other playbooks remain compatible with v0.5.2.

**If routed to `market_move_explain` but `cli_version` < 0.7.2**: fall back to `event_explain` and include this notice in the report footer:
> explain-market-move requires gate-cli v0.7.2+. Falling back to event_explain with manual news/event stitching. Upgrade gate-cli for server-side Tavily-powered attribution with AI summary.

### Slot extraction

- `symbol`: ticker (`BTC`, `ETH`, ...). Ask if missing when the playbook requires it.
- `query`: user's original natural-language question, e.g. "Why did BTC surge?". Required for `market_move_explain`; extracted verbatim from the user's input.
- `time_range`: default `24h` / `7d` / `30d` for most playbooks; NARROWED to `30m` / `1h` / `2h` / `4h` / `24h` (default `2h`) for `market_move_explain` (see `arg_enums` in the playbook).
- `event_id`: only when the user references a concrete event for `get-event-detail`.
- `topic_query`: for `market_wide_intel` web search.

#### Coin fallback rules (market_move_explain)

When the user triggers `market_move_explain` but no coin is explicitly named:

1. **Explicit coin in query**: extract and use it (e.g. "ETH why crash" -> ETH).
2. **Context coin**: if the conversation has a unique coin, use it.
3. **Broad-market, no coin**: default to `BTC` and append a notice: "No coin specified; defaulting to BTC as the broad-market representative asset."
4. **Vague reference** ("this coin", "that altcoin"): ask the user which specific coin.
5. **Event impact, no coin**: ask the user which coin to analyze.
6. **Traditional finance** (e.g. "US stocks", "China A-shares", "S&P 500"): pass through as the `coin` value.
7. **Non-crypto, ambiguous**: ask the user or route to the appropriate domain skill.

When coin defaults to BTC, the notice MUST be visible in the final report (Section 1 of the market move template).

### Cross-skill routing at Step 1

| User signal | Route to |
|-------------|----------|
| “Is it safe / honeypot / blacklist” | `gate-info-risk` (primary) |
| “Trace this address / on-chain / TVL / reserves” | `gate-info-web3` (primary) |
| “Analyze this coin / fundamentals / technicals / macro” (research-first) | `gate-info-research` (primary) |

---

## Step 2 — Data collection

Execute the chosen playbook. Same `parallel_group` → concurrent; wait between groups.

**Shortcut fallbacks (not executed as literal commands)** — use the YAML command blocks; see `cli_future_shortcut` in the playbook for `+brief`, `+event-explain`, `+community-scan`, `+market-move-explain`.

**`exchange_listings`**: base invocation uses `limit` + `format` only; if the user supplied `symbol`, add `--coin {symbol}` when the CLI supports it (`get-exchange-announcements --help`).

**`event_explain`**: call `get-event-detail` **only** when `event_id` is known; otherwise omit that command. For price-move attribution queries, you should have already routed to `market_move_explain`.

**`market_move_explain`**: Execute in **two groups**:
- Group A (parallel, core data): `explain-market-move` (Tavily-based news/event evidence with AI summary) + `get-market-snapshot` (current price, change%, volume) + `get-orderbook` (bid/ask wall, depth imbalance).
- Group B (after Group A completes, parallel): `get-technical-analysis` (TA signals across timeframes) + `get-coin-info` (fundamentals) + community commands (`search-x` + `get-social-sentiment`) only when `symbol != BTC`. For BTC, skip community — Tavily already captures macro/geopolitical signals.

After data collection, the agent MUST perform its own final attribution synthesis using ALL collected data. Do not treat any single tool output as the authoritative conclusion. Prioritize events with higher `relevance_score` as primary drivers, cross-referencing with price/volume data from the snapshot and orderbook.

**Info failures**: In `intel_plus_market` and `market_move_explain`, info/community commands are **optional** — if they fail, mark that section as unavailable and still deliver the repor
Files: 8
Size: 75.5 KB
Complexity: 75/100
Category: Web3

Related in Web3