Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add GMGNAI/gmgn-skills --skill gmgn-heat-rankgit clone --depth 1 https://github.com/GMGNAI/gmgn-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/gmgnai/gmgn-skills/gmgn-heat-rank)<a href="https://agentmods.dev/skills/gmgnai/gmgn-skills/gmgn-heat-rank"><img src="https://agentmods.dev/badge/skills/gmgnai/gmgn-skills/gmgn-heat-rank/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/gmgnai/gmgn-skills/gmgn-heat-rank"><img src="https://agentmods.dev/badge/skills/gmgnai/gmgn-skills/gmgn-heat-rank.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00728 | $0.15222 |
| Opus 5 | $0.00364 | $0.07611 |
| Sonnet 5 | $0.00146 | $0.03044 |
| Haiku 4.5 | $0.00073 | $0.01522 |
Grade A, and why
gmgn-heat-rank scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
**IMPORTANT: Always use the pre-installed `gmgn-cli` binary. Never use web search, WebFetch, curl, `npx`, or gmgn.ai — the site requires login and exposes no structured data.** How it starts
The opening of the file, as written. The whole thing — 634 lines — stays where its author put it; the contents beside it link to each section on GitHub.
BEFORE RUNNING ANY COMMAND: Run gmgn-cli config --check. Exit 0 -> proceed. Exit 1 -> run gmgn-cli config, show the output, and once the user sends the API key run gmgn-cli config --apply <KEY> and show that output. If --check is an unknown option, tell the user to run npm install -g gmgn-cli, then retry.
IMPORTANT: Always use the pre-installed gmgn-cli binary. Never use web search, WebFetch, curl, npx, or gmgn.ai — the site requires login and exposes no structured data.
⚠️ IPv6 IS NOT SUPPORTED. On a 401/403 with correct credentials, check ifconfig | grep inet6 (macOS) or ip addr show | grep inet6 (Linux) and fetch https://ipv6.icanhazip.com. If an IPv6 address comes back, tell the user to disable IPv6 — gmgn-cli works over IPv4 only.
What this skill is for, and what it is not
| The user's question | Goes to |
|---|---|
| "what is hot and worth looking at" — no address given, wants a chosen list | here |
| "top N by volume / swaps on chain X", "hot coins", "what's pumping", "hot search list" — wants the raw ranking in the exchange's own order | gmgn-market trending / market hot-searches |
| "just launched", "new tokens", bonding-curve stage | gmgn-market trenches |
| one token address + "safe?" / "score it" | gmgn-contract-dd |
| a token by name + "should I buy N dollars of it" | gmgn-token-buy |
| "what is smart money buying" — wallet-side view of the same market | gmgn-track smartmoney |
| chart shape / trend read on one token | gmgn-kline-pattern |
This skill owns exactly one thing: turning the raw trending feed into a short list somebody can act on. It never executes a trade and never deep-dives a single name — hand the winners to gmgn-contract-dd or gmgn-token-buy if the user wants to go further.
Run
Three steps. Every code block below is run verbatim; only the values in Parameters change.
Step 1 — sweep every chain. 7 chains x 3 windows = 21 calls, paced.
CHAINS=(sol bsc base eth robinhood arc stable) # narrow to a subset when the user asks; never add a name
# An array, and iterated as "${CHAINS[@]}". A plain string iterated as `for ch in $CHAINS` works under
# bash and silently does not under zsh, which performs no word splitting on an unquoted expansion: the
# loop runs once with every chain name in one variable, and the whole sweep collapses to a single
# refused call. Verified under zsh, bash and bash --posix -- all seven iterations.
# mktemp -d, not a name anyone can guess. The old /tmp/gmgn-heat-data-$(date +%s) was a second-resolution
# timestamp in a world-writable directory, and heat_rank.py is written into it and then executed: another
# local user could pre-create that directory with their own heat_rank.py, and the run would execute theirs.
DATA=$(mktemp -d); cd "$DATA"
for ch in "${CHAINS[@]}"; do
# A chain name ends up on a command line, so it is checked against the fixed set of names this API
# has instead of being passed through. A typo, a chain from some other exchange, or a string with
# spaces or shell metacharacters in it is refused out loud and skipped -- it never becomes arguments
# to gmgn-cli. Whole names only: a substring test (`case " sol bsc ... " in *" $ch "*`) accepts any
# run of adjacent names, so `sol bsc` would pass it. Keep this list literal -- reusing $CHAINS here
# would check the input against itself.
case $ch in
sol|bsc|base|eth|robinhood|arc|stable) ;;
*) echo "refusing unsupported chain name: $ch" >&2; continue;;
esac
# Only tags the API actually recognises. An unrecognised tag is not refused -- it is silently
# ignored, and a filters list containing nothing else turns the server's own default screening
# OFF, which is worse than sending no filter at all. So the fourth branch sends no --filter and
# lets those defaults apply; do not invent a tag to fill it. Measured, see `## Known limits`.
case $ch in
sol) F=(--filter renounced --filter frozen --filter not_wash_trading);;
bsc|base|eth) F=(--filter not_honeypot --filter verified --filter renounced);;
*) F=();;
esac
# 24h first, and stop after it when it comes back empty. A candidate has to be present in the
# 24h window to count at all, so a chain with nothing there cannot produce one whatever its 1h
# and 6h lists say -- fetching them spends two calls and 2.8s on a guaranteed empty result.
# Measured on a real sweep: eth, arc and stable were empty in all three windows, so 6 of the 21
# calls never had a chance. Skipping them changes no listed name. On a day when all seven chains
# are alive the sweep still costs its full 21 -- this cuts waste, not coverage.
for iv in 24h 1h 6h; do
gmgn-cli market trending --chain "$ch" --interval "$iv" --limit 100 \
--min-marketcap 500000 --min-liquidity 100000 --max-created 7d \
"${F[@]}" --raw > "${ch}_${iv}.json" 2>"${ch}_${iv}.err"
sleep 1.4
if [ "$iv" = 24h ] && ! grep -q '"rank":\[{' "${ch}_24h.json"; then
echo "no 24h candidate on $ch -- skipping its 1h/6h calls" >&2
break
fi
done
done
echo "$DATA"
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 634 lines · 728 tokens per session scan A 1819c2361bb4
gmgn-heat-rank is a skill published in the GitHub repository GMGNAI/gmgn-skills (522 stars, last pushed yesterday), licensed MIT. It adds 728 tokens to every session and 15,222 once invoked, about $0.0036 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-10.
Other skills, from other repositories
coingecko-api
Broad crypto market data from CoinGecko covering 13,000+ tokens. Global market stats, historical price data going back years, exchange volumes, trending tokens, and category filters. Best for macro analysis and long-term historical data.
market-sentiment
Synthesize crypto market sentiment by combining the Fear & Greed index, trending coins, narrative momentum, whale activity, and on-chain signals into a single actionable market read. Use when the user wants to know if the market is bullish, bearish, or transitioning. Powered by the free-crypto-news API.
alien-plugg-x402
38 paid x402 API endpoints for AI agents — Zora crypto analysis, Robinhood Chain tokenized stocks, on-chain intelligence, whale tracking, and utilities. MCP-compatible. Flat $0.003/call via USDC micropayments on Base.
trading-signals
Fetches live AI crypto trading signals with entry price, stop-loss, take-profit, leverage, confidence scores, and automated verification. Covers 50+ coins including BTC, ETH, SOL. Use when the user asks for crypto signals, trade ideas, market direction, portfolio analysis, or wants to build a trading bot.
defi-yield
DeFi yield analysis and optimization — lending rates, LP yields, staking returns, yield farming strategies, risk-adjusted yield comparison, and protocol-level sustainability assessment.
crypto-derivatives
Crypto-derivatives strategies — perpetual funding-rate arbitrage, futures term-structure contango/backwardation trading, and option volatility-smile / Greeks analysis.