gate-info-coincompare

Installation
SKILL.md

gate-info-coincompare

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.

Side-by-side comparison Skill. The user inputs 2-5 coins, the system calls market snapshot + fundamentals tools for each coin in parallel, and the LLM aggregates multi-dimensional data into a comparison table with overall analysis.

Trigger Scenarios: User mentions two or more coins + keywords like compare, versus, vs, which is better, difference, head-to-head.

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-info-research.

Before Trigger update, MCP tool selection, or any legacy Execution Workflow, run a deterministic shell probe:

PRIMARY_SKILL="gate-info-research"
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. Follow https://github.com/gate/gate-skills/blob/master/skills/gate-info-research/SKILL.md and its playbook contract. Carry over the minimum context: symbols[].
  • __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.sh exists → use only the Bash example.
  • Windows (native PowerShell): If update-skill.ps1 exists → use only the PowerShell example.
  • Windows without .ps1 (typical ClawHub install): If only update-skill.sh exists → 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_TOKEN or run apply / revoke-pending.

Bash (blocking — no auto; example Cursor):

GATE_SKILL_CHECK_STRICT=1 bash "$HOME/.cursor/skills/gate-info-coincompare/scripts/update-skill.sh" check "gate-info-coincompare"

PowerShell:

$env:GATE_SKILL_CHECK_STRICT = '1'
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\.cursor\skills\gate-info-coincompare\scripts\update-skill.ps1" check "gate-info-coincompare"

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:

  1. STOP — do NOT proceed to Execution yet.

  2. Inform the user (e.g. newer version available; summarize if helpful).

  3. 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 declinesrevoke-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-info-coincompare/scripts/update-skill.sh" apply "gate-info-coincompare"
bash "$HOME/.cursor/skills/gate-info-coincompare/scripts/update-skill.sh" revoke-pending "gate-info-coincompare"
$env:GATE_SKILL_CONFIRM_TOKEN = '<paste from check stdout>'
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\.cursor\skills\gate-info-coincompare\scripts\update-skill.ps1" apply "gate-info-coincompare"
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\.cursor\skills\gate-info-coincompare\scripts\update-skill.ps1" revoke-pending "gate-info-coincompare"

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. Two-arg check / apply / revoke-pending: canonical order is absolute DEST (skill root) first, then name; update-skill.sh / update-skill.ps1 auto-swap when only one normalized path contains SKILL.md (e.g. agent passes name then path).
  • ClawHub vs full tree: Installs without update-skill.ps1 may copy it from gate/gate-skills under skills/<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-Info ✅ Required

MCP Tools Used

Query Operations (Read-only)

  • info_coin_get_coin_info
  • info_coin_get_coin_rankings
  • info_coin_search_coins
  • info_marketsnapshot_batch_market_snapshot
  • info_marketsnapshot_get_market_snapshot
  • info_markettrend_get_technical_analysis

Authentication

  • API Key Required: No
  • Credentials Source: None; this skill uses read-only Gate Info / Gate News MCP access only.

Installation Check

  • Required: Gate-Info
  • 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-info-research.

User Intent Keywords/Pattern Action
Multi-coin comparison "compare BTC and ETH" "SOL vs AVAX" "Layer2 coin comparison" Execute this Skill's full workflow
Single coin analysis "analyze SOL for me" Route to gate-info-coinanalysis
Price only "what's BTC price" Call info_marketsnapshot_get_market_snapshot directly
Sector overview "how is the DeFi sector doing" Route to gate-info-marketoverview
Ranking list "top 10 coins by market cap" info_coin_get_coin_rankings not yet available — prompt user to list specific coins to compare

Execution Workflow

Legacy path only — this section applies when Step 0 emitted __FALLBACK__.

Step 1: Intent Recognition & Parameter Extraction

Extract from user input:

  • symbols[]: List of coins (2-5), e.g., [BTC, ETH, SOL]
  • If the user mentions project names (e.g., Solana, Avalanche), map to ticker symbols
  • If the user mentions a sector without specific coins (e.g., "which Layer2 coins are good"), prompt them to list 2-5 specific coins

Limits: Minimum 2, maximum 5. If more than 5, prompt user to narrow the scope. If only 1 coin, ask for at least one more or route to gate-info-coinanalysis.

Step 2: Call 2 MCP Tools per Coin in Parallel

For each symbol in the list, execute in parallel:

Step MCP Tool Parameters Retrieved Data Parallel
1a info_marketsnapshot_get_market_snapshot symbol={symbol}, timeframe="1d", source="spot" Market data: real-time price, K-line summary, market cap, FDV, Fear & Greed Index Yes
1b info_coin_get_coin_info query={symbol} Fundamentals: project info, sector, funding, tokenomics Yes

For 3 coins, this results in 6 parallel Tool calls with no dependencies. When info_marketsnapshot_batch_market_snapshot and info_coin_search_coins are available, prefer them; otherwise use per-coin calls above.

Step 3 (Optional): Technical Comparison

If the user explicitly requests technical comparison, or the number of coins is 3 or fewer, optionally call in parallel:

Step MCP Tool Parameters Retrieved Data Parallel
2 info_markettrend_get_technical_analysis symbol={symbol} Technical signals: RSI, MACD, MA alignment, support/resistance Yes

Step 4: LLM Cross-Comparison Report Generation

Group all Tool responses by coin, and the LLM generates a side-by-side comparison report using the template below.


Report Template

Legacy path only — this section applies when Step 0 emitted __FALLBACK__.

## Coin Comparison: {symbol_1} vs {symbol_2} [vs {symbol_3} ...]

### 1. Key Metrics Comparison

| Metric | {symbol_1} | {symbol_2} | {symbol_3} |
|--------|-----------|-----------|-----------|
| Price | ${price_1} | ${price_2} | ${price_3} |
| 24h Change | {change_24h_1}% | {change_24h_2}% | {change_24h_3}% |
| 7d Change | {change_7d_1}% | {change_7d_2}% | {change_7d_3}% |
| Market Cap | ${mcap_1} | ${mcap_2} | ${mcap_3} |
| Market Cap Rank | #{rank_1} | #{rank_2} | #{rank_3} |
| FDV | ${fdv_1} | ${fdv_2} | ${fdv_3} |
| 24h Volume | ${vol_1} | ${vol_2} | ${vol_3} |
| Fear & Greed Index | {fg_1} | {fg_2} | {fg_3} |

### 2. Fundamentals Comparison

| Dimension | {symbol_1} | {symbol_2} | {symbol_3} |
|-----------|-----------|-----------|-----------|
| Sector | {category_1} | {category_2} | {category_3} |
| Total Funding | ${funding_1} | ${funding_2} | ${funding_3} |
| Key Investors | {investors_1} | {investors_2} | {investors_3} |
| Circulating Ratio | {circ_ratio_1}% | {circ_ratio_2}% | {circ_ratio_3}% |
| Upcoming Unlocks | {unlock_1} | {unlock_2} | {unlock_3} |

### 3. Technical Comparison (if available)

| Dimension | {symbol_1} | {symbol_2} | {symbol_3} |
|-----------|-----------|-----------|-----------|
| Overall Signal | {signal_1} | {signal_2} | {signal_3} |
| RSI(14) | {rsi_1} | {rsi_2} | {rsi_3} |
| MACD | {macd_1} | {macd_2} | {macd_3} |
| MA Alignment | {ma_1} | {ma_2} | {ma_3} |

### 4. Comparative Summary

{LLM generates a 3-5 sentence cross-comparison analysis covering:}
- Strengths and weaknesses of each coin across dimensions
- Which coin has stronger recent performance and which is weakening
- Whether fundamentals and market data align
- Differentiated risks to watch

### 5. Dimension-by-Dimension Winners

| Dimension | Best Performer | Weakest Performer | Notes |
|-----------|---------------|-------------------|-------|
| Short-term Gains | {best_1} | {worst_1} | ... |
| Market Cap / FDV Ratio | {best_2} | {worst_2} | ... |
| Funding Background | {best_3} | {worst_3} | ... |
| Technical Signals | {best_4} | {worst_4} | ... |

### ⚠️ Risk Warnings

{Risk differentials identified in the comparison, e.g.:}
- {symbol_x} has only {x}% circulating supply — significantly higher unlock pressure than peers
- {symbol_y} RSI is in overbought territory — higher short-term pullback risk than {symbol_z}
- {symbol_w} 24h volume is disproportionately low relative to market cap — liquidity disadvantage

> The above analysis is a data-driven side-by-side comparison and does not constitute investment advice. Please make decisions based on your own risk tolerance.

Decision Logic

Condition Assessment
24h change difference > 10% between coins Flag "Significant short-term performance divergence"
FDV/Market Cap ratio for one coin > 2x others Flag "Relatively elevated FDV — higher unlock risk"
Circulating ratio < 30% Flag "Low circulating ratio — future sell pressure risk"
24h volume / market cap < 1% Flag "Low liquidity — slippage risk for large trades"
RSI difference > 30 (one overbought, another oversold) Flag "Technicals in opposite states — evaluate separately"
Any Tool returns empty/error Mark corresponding column as "Data unavailable"; display remaining coins normally
Two coins are from entirely different sectors Remind user: "Cross-sector comparison is for reference only — core value drivers differ significantly"

Error Handling

Error Type Handling
A coin does not exist Note the name may be incorrect; exclude it and continue comparing the rest
Only 1 coin provided Route to gate-info-coinanalysis (single coin analysis)
More than 5 coins provided Prompt user to narrow down to 5 or fewer, or suggest comparing in batches
A coin's Tool times out Skip that coin's dimension; mark as "Temporarily unavailable" in the table
All Tools fail Return error message; suggest the user try again later
User inputs an address Route to gate-info-addresstracker

Cross-Skill Routing

User Follow-up Intent Route To
"Give me a deep dive on SOL" gate-info-coinanalysis
"Show me SOL technicals in detail" gate-info-trendanalysis
"Any recent news for these coins?" gate-news-briefing
"Is SOL's contract safe?" gate-info-riskcheck
"Why did ETH pump but SOL didn't?" gate-news-eventexplain
"How about on-chain data comparison?" gate-info-tokenonchain

Available Tools & Degradation Notes

PRD-Defined Tool Actually Available Tool Status Degradation Strategy
info_marketsnapshot_batch_market_snapshot info_marketsnapshot_get_market_snapshot Degraded Call get_market_snapshot per coin in parallel — no speed impact
info_coin_search_coins info_coin_get_coin_info Degraded Use get_coin_info with symbol query as substitute
info_markettrend_get_technical_analysis info_markettrend_get_technical_analysis ✅ Ready

Safety Rules

  1. No investment advice: Comparative analysis is data-driven and must include a "not investment advice" disclaimer
  2. No ranking recommendations: Do not output conclusions like "buy A instead of B" — only present data differences
  3. No price predictions: Do not output specific target prices or up/down predictions
  4. Data transparency: Label data source and update time for each dimension
  5. Flag missing data: When any dimension has no data, explicitly mark "Data unavailable" — never fabricate data
  6. Cross-sector reminder: When compared coins belong to different sectors, remind the user of fundamental logic differences
Related skills

More from gate/gate-skills

Installs
71
GitHub Stars
28
First Seen
Mar 12, 2026