Skip to content

/gmgn-wallet-style

Tag any wallet's trading style — one main title from a 20-cell frequency×P&L grid (印钞机, 磨损户, P小将, 一击必杀, and 16 others), one holding-speed subtitle (秒杀流/日内流/波段流/长持流), and any of 14 orthogonal badges plus a wash-trader flag. Every tag states the number that triggered it. Use when

BOOST
From plugin
gmgn-cli
59517 skills
Install
$ npx -y skills add gmgnai/gmgn-skills --skill gmgn-wallet-style --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/gmgn-wallet-style

Context preview

The summary Claude sees to decide when to auto-load this skill.

Tag any wallet's trading style — one main title from a 20-cell frequency×P&L grid (印钞机, 磨损户, P小将, 一击必杀, and 16 others), one holding-speed subtitle (秒杀流/日内流/波段流/长持流), and any of 14 orthogonal badges plus a wash-trader flag. Every tag states the number that triggered it. Use when

SKILL.md

gmgn-wallet-style.SKILL.md
name: gmgn-wallet-style
description: Tag any wallet's trading style — one main title from a 20-cell frequency×P&L grid (印钞机, 磨损户, P小将, 一击必杀, and 16 others), one holding-speed subtitle (秒杀流/日内流/波段流/长持流), and any of 14 orthogonal badges plus a wash-trader flag. Every tag states the number that triggered it. Use when the user asks what kind of trader a wallet is — 「这个钱包什么风格」, 「交易风格」, 「打法」, 「是不是机器人」, 「是不是狙击盘的」, 「帮我给这个钱包打标签」, "what's this wallet's trading style", "tag this wallet". A bare wallet address with no question goes to gmgn-wallet-analysis. If the user also wants the tag shown on a real GMGN screenshot or as a clickable interactive page ("生成标签预览", "把标签叠加到这张截图上", "1:1还原钱包页并加标签", "可交互交易风格标签"), answer with Part A below and then also do Part B — the same algorithm, rendered. When 打法 / 风格 comes with 问题, 建议, 复盘 or 一句话总结, hand off to gmgn-wallet-review, which returns one tag plus a one-line recap and next step.
argument-hint: "--chain <sol|bsc|base|eth|arbitrum|hyperevm|robinhood|arc|stable> --wallet <wallet_address> [--period 7d|30d] [--screenshot <path>]"
metadata:
  cliHelp: "gmgn-cli portfolio stats --help && gmgn-cli portfolio activity --help"

**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` for data. Never WebFetch, curl, or browse gmgn.ai — the wallet page requires login and renders dynamically, so scraping it returns nothing useful and risks a ban. If the user wants the tag shown on the real page layout, ask them to paste a screenshot; do not attempt to fetch one.**

**This skill takes a WALLET address, not a token contract address.** If the user says 「CA」 they usually mean a token contract — see [Step 0](#step-0--confirm-its-a-wallet-not-a-token) before running anything. Never silently treat a token address as a wallet: the call will succeed and return an all-zero profile, which looks like a real answer and is not one.

This skill has one required part and one conditional part. **Part A** computes the tag from real data — always run it. **Part B** renders that tag as a clickable HTML preview — run it only when the user's ask involves seeing the tag in context (a screenshot, a mockup, "预览", "界面", "叠加", "效果图"). A plain style-tag question gets a plain-text answer from Part A alone; do not build a page nobody asked for.

Sub-commands

| Purpose | Command | |---------|---------| | Trading statistics | `gmgn-cli portfolio stats --chain <chain> --wallet <address> --period 7d --raw` | | Transaction sample | `gmgn-cli portfolio activity --chain <chain> --wallet <address> --limit 50 --raw` (paginate, see Step 2) |

Two calls, one wallet. Everything below is computed by you from those two responses — no script, no third call.

Supported Chains

`sol`, `bsc`, `base`, `eth`, `arbitrum`, `hyperevm`, `robinhood`, `arc`, `stable` — the chains `gmgn-cli portfolio stats` and `portfolio activity` accept. Treat this as an allowlist: any other value is rejected before a command runs, never passed through.

Prerequisites

  • `gmgn-cli` installed: `npm install -g gmgn-cli`
  • API key configured: `gmgn-cli config`

Nothing else. No Python, no local script, no other tool.

Parameters

| Parameter | Required | Description | |-----------|----------|--------------| | `--chain` | Yes | One of the nine chains above. `sol` for a base58 address; for `0x…` use the chain the user names, else `bsc` | | `--wallet` | Yes | Wallet address — **not** a token contract | | `--period` | No | `7d` (default) or `30d`. Only these two exist |

Step 0 — Confirm it's a wallet, not a token

Run this check before the first command, in this order:

1. **The user said 「CA」, 「合约」, 「代币」, "contract", or "token"** → they most likely mean a token contract address. Ask which they want: a wallet style profile (this skill), or a token analysis. Do not guess. 2. **The address is malformed** — an EVM address must match `^0x[0-9a-fA-F]{40}$` and a Solana address `^[1-9A-HJ-NP-Za-km-z]{32,44}$`; anything else (spaces, quotes, `;`, `$`, a leading `-`) → say so and stop. Do not "fix" it. Only a validated address and an allowlisted chain may be put into a command, each as its own quoted argument. 3. **Two or more addresses in the message** → if the user said which one to profile, use that one and say which you used. If they did not, ask. Never pick one silently. 4. **No address at all, only a token symbol or name** → ask for the address. This skill cannot resolve names.

After `portfolio stats` returns, apply one more check: if `buy` + `sell` is 0 **and** `pnl_stat.token_num` is 0 **and** `common.created_token_count` is 0, this is either a token contract address, a fresh wallet, or a wallet that only ever received transfers. Say which possibilities remain and stop — do not emit tags.

Step 1 — Pull stats

gmgn-cli portfolio stats --chain <chain> --wallet <address> --period 7d --raw

Every numeric field arrives as a JSON string, not a number — convert before comparing. Read these fields, with the fallbacks exactly as written:

| Value | Field | Fallback | |-------|-------|----------| | Buys | `buy` | `buy_count` | | Sells | `sell` | `sell_count` | | Return ratio | `realized_profit_pnl` | `pnl` | | Cost basis | `bought_cost` | `total_cost` | | Realized P&L | `realized_profit` | — | | Win rate | `pnl_stat.winrate` | — | | Tokens traded | `pnl_stat.token_num` | — | | P&L buckets | `pnl_stat.pnl_gt_5x_num` / `pnl_2x_5x_num` / `pnl_0x_2x_num` / `pnl_nd5_0x_num` / `pnl_lt_nd5_num` | — | | Launches | `common.created_token_count` | — | | GMGN labels | `common.tags` | — | | Wallet age | `common.created_at` (Unix seconds) | — |

`realized_profit_pnl` is a **ratio, not a percentage**: `0.35` means +35%, `2.0` means the wallet tripled its money

Read more
Ships withgmgn-cli

GMGN OpenAPI skills for AI Agent — query tokens, wallets, and market data, and execute on-chain trades across Solana, BSC, and Base.

Get the whole plugin, auto-invoked
Stats
595
Stars
106
Forks
Active
Maintenance
Python
Language
MIT
License
2d ago
Last commit
6mo ago
Created

Repo: gmgnai/gmgn-skills

Other skills on gmgn-cli.