@@ -32,6 +32,7 @@ This is a **Claude Code plugin** — a collection of GMGN OpenAPI skills for on-
| `gmgn-wallet-score` | Wallet scoring across three angles — profitability (track-record score), copy-tradeability (score + latency/slippage/gas backtest), and Dev reputation for token-creator wallets — plus trading-style tags | User asks about a wallet's profitability ("钱包盈利能力怎么样", "is this wallet profitable"), copy-trade worthiness ("is this wallet worth copying", "跟单评分", "钱包评分", "值不值得跟单", "if I copy this wallet what's my real return"), or launch/Dev reputation ("钱包发盘情况怎么样", "是不是发币方钱包", "dev 信誉怎么样"); user gives a wallet address and wants any of these judgments |
| `gmgn-track` | Track trade activity of wallets I follow, KOL trades, Smart Money trades across chains | User asks about trades from wallets they follow; user wants to see what KOLs or Smart Money are buying/selling; user asks "show me what wallets I follow have traded recently", "what are KOLs buying", "show me smart money moves on BSC" |
| `gmgn-swap` | Token swap execution + order status query | User wants to swap tokens, execute a trade, or check an order status; user asks "swap SOL for USDC", "buy this token", "check my order"; **requires private key configured in `.env`** |
| `gmgn-kline-pattern` | Names the chart pattern (uptrend channel / breakdown / bounce off the lows / distribution / basing / chop) and scores it 0-100 from six measurements computed off the kline response | User asks about 走势, 趋势, 形态, price action, chart pattern, "is it breaking down", "is it consolidating"; user wants a read of the chart rather than the raw candles |
## Quick Decision Guide
@@ -42,6 +43,7 @@ Match the user's request to the right skill and workflow:
| "is this token safe", "check this token", "research this token", token address provided | `gmgn-token` → full workflow: `docs/workflow-token-research.md` |
description:Price-action pattern reading — classifies a token's candles into a named pattern (uptrend channel, breakdown, bounce off the lows, distribution at highs, basing, wide chop, consolidation) and scores it 0-100 from six measurements you compute directly from the kline response. Every point added or deducted states its reason. Use when the user asks about K 线, K线形态, 走势, 趋势, 形态, price action, chart pattern, whether a chart looks strong or weak, is it breaking down, is it consolidating, or wants a technical read of a token's chart rather than the raw numbers.
**BEFORE RUNNING ANY COMMAND: Run `gmgn-cli config --check`. If exit code is 0, proceed normally. If exit code is 1, run `gmgn-cli config` and show output, then apply the key with `gmgn-cli config --apply <KEY>`. If unknown option, tell user to run `npm install -g gmgn-cli`.**
**IMPORTANT: Always use `gmgn-cli`. Do NOT use curl, WebFetch, or visit gmgn.ai.**
**BEFORE PUTTING THE ADDRESS ON A COMMAND LINE: check its shape yourself.** EVM chains need `0x` plus exactly 40 hex characters; `sol` needs 32-44 base58 characters. If it does not match, stop and tell the user the address looks malformed — never pass unvalidated user text into a shell, and never strip characters to make it fit. Details under Parameters.
| `abs(slope) ≤ 0.02` | 0 | sideways — no direction yet |
| `vol_ratio > 3` and the last candle closed green | **+8** | latest bar N× volume — volume-backed push up |
| `vol_ratio > 3` and the last candle closed red | **−10** | latest bar N× volume — volume-backed dump |
| `vol_ratio < 0.3` | **−5** | volume shrank to N% of average — attention fading |
| `drawdown > 0.60` | **−15** | down N% from the range high — catching-a-knife risk |
| `0.30 < drawdown ≤ 0.60` | **−6** | down N% from the range high |
| `drawdown < 0.05` | **+8** | trading right at the range high |
| `N > 40` and `max(C[-20:]) > max(C[-40:-20]) × 1.02` and `mean(V[-20:]) < mean(V[-40:-20]) × 0.7` | **−10** | divergence: new price high on shrinking volume — the move lacks participation |
Any rule whose input was marked unavailable in Step 2 is **skipped, not scored as 0**. List
what was skipped underneath the evidence.
Report these as **context only — they do not change the score**:
-`volatility > 0.15` → very high volatility, size down
-`volatility < 0.02` → low volatility
- 5 or more consecutive green candles → short-term overbought
- 5 or more consecutive red candles → downtrend not exhausted
They change how a position should be sized, not whether the pattern is strong.
## Step 5 — Output format
```
Price action · <chain> · <address>
──────────────────────────────────────────────
Pattern: <pattern> Score: <n> / 100
Slope (20 bars) <+n.n%>
Volatility <n.n%>
Volume ratio <n.nn>x
Drawdown in range <n%>
Range <min low> / <max high>
Bars <resolution> × <N>
Per-item evidence
▲ <reason> (+12)
▼ <reason> (-15)
· <context item, no delta>
Not measured
<any measurement whose denominator was 0, and the rules it skipped>
──────────────────────────────────────────────
A pattern describes what already happened. It does not predict price
and is not investment advice.
```
**Printing the numbers.** Memecoin prices run to 1e-06 and smaller, and hand-copying a
decimal like `0.0000038120523` is how a report ends up off by a factor of a thousand — that has
actually happened in testing. Print any value below `0.001` in scientific notation
(`3.8120523e-06`), and take every printed figure from the value you computed. Never retype a
number from the raw JSON by eye.
The kline response carries **no symbol or token name** — identify the token by chain and
address, which is what you were given. Do not run another command just to fetch a name, and do
not fill one in from memory.
Answer in the user's language: Chinese if they wrote Chinese, English otherwise.
## Scenario → what you get
| The user asks | What to return |
|---------------|----------------|
| 「这个币的走势怎么样」 / "how does the chart look" | The named pattern, the score, and the six numbers behind it |
| 「现在是什么形态」 / "is it breaking down" | The pattern name and which condition matched |
| 「能追吗」 / "is it overbought" | The consecutive-bar and volume context — the score never answers "should I buy" |
**It does not answer:** is the contract safe, who holds it, is anyone talking about it. For raw
candle data use `gmgn-market`; for contract safety use `gmgn-token`; for holder structure use
`gmgn-holder-analysis`.
## Notes
- All commands use `--raw` for single-line JSON output.
- **Never skip Step 2.** Show the six numbers. A pattern name without the measurements behind
it is unverifiable, and the point of this skill is that the user can check the reasoning.
- A pattern is a description of what already happened, not a prediction. If the user reads the
score as a buy signal, say so plainly.
- These are price candles. Market-cap candles are not exposed by the CLI.
- Read-only: this skill runs only `market kline`. No signing, no private key, no trade commands.
## Where the thresholds came from
The rules above are a simplification of a reference implementation that used EMA9/EMA21, a
least-squares regression slope and a true-range ATR. Those need iteration and regression, which
is not something to do by hand across a hundred candles, so each was replaced by one pass of
arithmetic: simple moving averages, a five-bar-average difference, and mean `(high − low) / close`.
The substitutes were checked against the original on 7 real candle sets (BSC and Solana, 15m
and 1h, 87-100 candles each). **Trend direction agreed on 6 of 7; the final pattern label agreed
on 6 of 7.** The single disagreement was bullish-vs-bearish consolidation on a token that had
just turned over: EMA weights recent bars more heavily, so it crosses before a simple moving
average does. That is an inherent property of the two averages, not an error — expect this
skill and an EMA-based tool to differ on tokens right at a turning point.
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.