gate/gate-skills

gate-info-coincompare

Coin comparison. Use this skill whenever the user asks to compare two or more coins. Trigger phrases include: compare, versus, vs, which is better, difference. MCP tools: info_marketsnapshot_get_market_snapshot, info_coin_get_coin_info per coin (or batch/search when available).

First seen Mar 12, 2026

Installation

$ npx skills add gate/gate-skills --skill gate-info-coincompare

Also in this package

Other skills from gate/gate-skills · top by installs.

npx skills add gate/gate-skills

Browse all from gate/gate-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Declared
Codex Declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Declared
Cline Not declared
OpenCode Not declared

Also listed on

Alternate registries and mirrors of this skill.

Repository health

Stars 39
Default branch master
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version2026.4.6-1
Declared agents cursor codex gemini antigravity

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 21,379 B
  • docs SUMMARY.md 307 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 143 installs

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 GATESKILLUPDATEMODE=auto. The script only compares local vs remote; if Result=updateavailable, 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 GATESKILLCHECKSTRICT=1. When Result=updateavailable, check exits 3 and prints GATESKILLCHECK_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 GATESKILLCONFIRM_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. updateavailable = remote newer; with blocking flow, do not apply until the user agrees. checkfailed = 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): GATESKILLUPDATEAGENTACTION=…. BLOCKUNTILUSERCONFIRMSUPDATE → Step 2 before Execution. CONTINUESKILLEXECUTION → 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 updateavailable, or BLOCKUNTILUSERCONFIRMS_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 GATESKILLCONFIRM_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 GATESKILLUPDATEMODE=auto) fail until GATESKILLCONFIRMTOKEN 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 GATESKILLCONFIRM_TOKEN is allowed.

If skipped or check_failed: no update step; proceed to Execution.

Optional — GATESKILLUPDATE_MODE=auto

For CI / unattended automation only: setting GATESKILLUPDATE_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 $SKILLROOT/scripts/update-skill.sh (or .ps1) where $SKILLROOT/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)

  • infocoingetcoininfo
  • infocoingetcoinrankings
  • infocoinsearch_coins
  • infomarketsnapshotbatchmarketsnapshot
  • infomarketsnapshotgetmarketsnapshot
  • infomarkettrendgettechnicalanalysis

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 infomarketsnapshotgetmarketsnapshot directly
Sector overview "how is the DeFi sector doing" Route to gate-info-marketoverview
Ranking list "top 10 coins by market cap" infocoingetcoinrankings 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 infomarketsnapshotgetmarketsnapshot symbol={symbol}, timeframe="1d", source="spot" Market data: real-time price, K-line summary, market cap, FDV, Fear & Greed Index Yes
1b infocoingetcoininfo query={symbol} Fundamentals: project info, sector, funding, tokenomics Yes

For 3 coins, this results in 6 parallel Tool calls with no dependencies. When infomarketsnapshotbatchmarketsnapshot and infocoinsearch_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 infomarkettrendgettechnicalanalysis 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
infomarketsnapshotbatchmarketsnapshot infomarketsnapshotgetmarketsnapshot Degraded Call getmarketsnapshot per coin in parallel — no speed impact
infocoinsearch_coins infocoingetcoininfo Degraded Use getcoininfo with symbol query as substitute
infomarkettrendgettechnicalanalysis infomarkettrendgettechnicalanalysis ✅ 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