关于 gmgn-dev-score
gmgn-dev-score 是用于评估代币发行者交易记录的 Agent 技能,面向需要判断开发者行为与风险的用户。它通过 gmgn-cli 获取数据并依据结构化评分规则生成报告,不负责撰写脚本输出的报告内容。
主要功能
- 01运行开发者评分脚本
- 02分析交易与流动性记录
- 03按行为和实力维度评分
- 04标记评分调整与数据覆盖限制
- 05按模板撰写评估报告
适用场景
- 01评估某代币发行者的历史行为
- 02检查开发者评分是否受数据缺失影响
- 03根据交易记录整理风险评估
MCP 相关
输入未说明其与 MCP 的关系。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ gmgnai/ gmgn-skills --skill gmgn-dev-score安装后在 Claude Code 中输入/gmgn-dev-score确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
dev_score.pyreferences/fields.mdglossary.mdscoring.md详细介绍
运行任何命令前:运行 gmgn-cli config --check。退出码为 0 → 继续。退出码为 1 → 运行 gmgn-cli config,显示输出;用户发送 API 密钥后,运行 gmgn-cli config --apply <KEY> 并显示该输出。如果 --check 是未知选项,告诉用户运行 npm install -g gmgn-cli,然后重试。
重要:始终使用预装的 gmgn-cli 二进制文件。绝不要使用网页搜索、WebFetch、curl、npx 或 gmgn.ai——该网站需要登录,且不会公开结构化数据。
⚠️ 不支持 IPv6。 使用正确凭据时若遇到 401/403,请检查 ifconfig | grep inet6(macOS)或 ip addr show | grep inet6(Linux),并获取 https://ipv6.icanhazip.com。如果返回 IPv6 地址,告诉用户禁用 IPv6——gmgn-cli 仅支持通过 IPv4 连接。
运行
python3 ~/.claude/skills/gmgn-dev-score/dev_score.py <chain> <dev_address> [max_pages]
max_pages 默认值为 25,仅限制交易遍历范围;如果某个 dev 有数百次发行,请调高该值——JSON 会说明何时发生截断。脚本会在标准输出中打印一个 JSON 对象(进度和速率限制提示会输出到标准错误)。它只负责计算,不会生成报告。你需要根据该对象,用用户的语言撰写报告。
运行前:
- 这是代币地址,而不是钱包地址? 先用
gmgn-cli token info --chain <c> --address <token> --raw查询创建者,获取dev.creator_address,并对该地址评分。说明你解析出的地址——这是报告中无法显示的唯一信息;没有它,用户就无法核实评分是否适用于自己的代币。 - 未指定链? 使用
gmgn-cli portfolio created-tokens依次探测候选链——绝不要并行执行,否则会导致密钥被封禁。仅分析open_count最高的链,并告诉用户其余链暂不处理,除非用户提出要求。 scored: false表示不要给出评分。reason: index_empty→ API 返回的数据完全为空,无法区分钱包为空还是索引服务异常;说明这两种可能,并告诉用户几分钟后重新检查。对于任何其他reason→ 说明该地址未获评分及原因,然后停止。
答案必须包含的内容
列出必须说清楚的事项;下方的 ## Display Templates 会确定每项内容放在哪里。
措辞由你决定。每一点都必须包含,并且每一点都要注明承载该信息的 JSON。
项目按章节顺序排列。
- 先给结论。 将
score.total、score.conduct、score.power和score.band表述为判断,而不是标签。 - 公开数据的等级(
dump_gate.tier)及其样本量(coins_with_trades的dumps)。若设置了dump_gate.forced_by,请指出实际触发的因素——池子被耗尽不等于卖出频率;对于零次卖出的开发者,说“他几乎每次都会抛售(0/1)”是不实的。 - 逐行说明每项已触发的调整,以及它造成的影响。 收缩(
conduct_terms.shrink_from→shrink_to)会将未经证实的分数拉向 60,这里意味着目前无法判断,而不是因违规而受罚。上限意味着暂不授予高分,不代表已证实表现不佳。通过coins_with_trades和career_days指出样本较少的一方,绝不要用发行次数来说明。 - 他表现最好的币(
top和flagship):峰值、当前值、回撤、持有者、池子、可交易状态、年龄。此外,还要说明旗舰币的持仓状态:若持仓已平仓,提供flagship.status以及exit_rows/exit_unrecorded。flagship.holds有三种状态——若为null,就完全不要提他的持仓。 - 他实际做过什么,全部依据他自己的记录:
his_trades.fastest_first_sell_s、median_pull_multiple、launches.total/on_curve/tradeable、liquidity.drained/partial/ignored_rows。 - 转移到其他钱包的供应量:只要
cross_wallet.moves非空,就必须说明;转移不等于抛售,pending不计入抛售率,未经核实的转移可能是锁仓或交易所转账。请如实说明,不要指控。 - 开盘时的捆绑买入(
bundler):披露,并明确说明不计入评分——这个数字无法区分他自己的小号、付费捆绑买家或他人的狙击机器人。 - 数据覆盖情况:只要以下任一项已设置,就必须说明:
coverage.book_truncated(数据簿只是一个时间窗口,并非整个职业生涯——在引用任何涵盖整个职业生涯的说法之前,先说明这一点);trade_history_truncated/unresolved_coins(缺失记录只会减少抛售次数,因此该比率只是下限,他看起来会比实际更守规矩);implausible_peaks(指出币名,否则看过图表的读者会发现这个币无故缺失);launches.career_days_is_floor。 - 如何应对,分四部分说明:是否买入;何时买入——时间判断必须引用
fastest_first_sell_s,而不能引用中位数,因为曾有一次中位数建议在 2.7 天后进场,而该开发者的旗舰币早在 4.6 分钟时就开始卖出;损失实际来自哪里;以及分数有多可信。
展示模板
结构固定;其中的措辞由你决定。章节名称以英文给出,请将其翻译成用户的语言——不要原样输出,也不要输出 JSON 键名。
标题行:## Dev score · <dev address, first 10 and last 4 chars> · <CHAIN>。以下章节使用 ###。
| # | 章节 | 内容块 | 仅在以下情况下省略 |
|---|---|---|---|
| 1 | (无标题) 结论 | 两行:TOTAL / 100 + 等级,然后是 CONDUCT 和 POWER | 从不 |
| 2 | 开盘抛售记录 | 正文,最多三段简短文字 | 从不 |
| 3 | 影响评分的因素 | 项目符号列表,每项调整对应一条 | 从不 |
| 4 | 他表现最好的币 | 币的完整合约地址,然后是一张表格——峰值、当前值、回撤、持有者、池子、可交易性、年龄——再用正文说明仓位 | 从不 |
| 5 | 他实际做过什么 | 项目符号列表 | 从不 |
| 6 | 转移到其他钱包的供应量 | 项目符号列表 | cross_wallet.moves 为空时——改为在 §5 中用一行说明 |
| 7 | 开盘时的捆绑买入 | 一到两行 | bundler.median 为 null 时 |
| 8 | 覆盖范围限制 | 项目符号列表 | 覆盖清单项目中没有任何内容被设置时 |
| 9 | 应该怎么做 | 按以下顺序列出四个带标签的部分:是否买入 · 何时买入 · 损失来自哪里 · 评分可信度有多高 | 从不 |
不得重新排序,不得合并,不得新增第十个章节。第 1–5 节和第 9 节始终必须出现。
所有格式要求均为固定要求:
- 金额使用普通 ASCII 美元符号,带千位分隔符,并使用用户语言中的数量级单位。全角符号仅用于防止本文件自身文本被参数替换吞掉——绝不能出现在读者看到的内容中。
- 百分比保留一位小数。JSON 中以小数表示的比例须转换为百分比。
- 秒、分钟、小时、天:选择便于阅读的单位,并写出单位。
- 不得使用表情符号、制表符绘图字符、ASCII 艺术字或用于对齐的填充空格。 输出是渲染后的 Markdown,不是定宽终端区块。
- 粗体仅用于结论数字、等级以及 §9 中各部分的标签。其他地方不得使用粗体。
- 仅在上方指定的位置使用表格;§2、§7 和 §9 使用正文。
规则
- 使用用户的语言撰写,并翻译概念。 JSON 中的每个名称都是特意选用的英文概念,以便翻译。少数无法直译的交易者俚语见
references/glossary.md——使用其中的译法,不得另行发挥。不得自行创造坐标轴名称。 - 不得写出 JSON 未包含的数字。 不得重新计算、不得四舍五入后提出新的结论、不得读取
references/fields.md中没有的字段。null表示该测量值不存在——应说明缺失;写成 0 会把“未知”变成“干净”。 - 符号须原样照抄。 这些符号由攻击者控制,且已清理;任何用
「」括起来的内容都是他人选择的名称,不是我们的措辞,必须保留括号。 score.band就是结论。 不得弱化、升级或含糊处理。stay_away同时伴随较高的power,正是这两个轴要区分的情况:过去有过表现出色的币,也无法抵消抛售记录。- 结果不等于行为。 存续、毕业和回撤是市场对其币种造成的结果;它们属于 POWER。不得将其说成是他对持有者做过的事。
- 报告就是全部回答。 不要加开场白,不要在报告后总结,不要叙述核验过程,不要自行补充发现,也不要在结尾提出可继续协助。唯一可在报告之外说明的内容:你根据代币地址解析出的创建者地址。
- 静默核验结论性陈述。 对任何绝对说法(例如“从未抛售”“完全没有记录”),都要使用
gmgn-cli portfolio activity对照原始数据流进行检查。执行检查,但不要叙述检查过程。只有在检查与报告矛盾时才说明——此时应报告缺陷,而不是照常提供报告。
参考资料
| 文件 | 内容 |
|---|---|
references/scoring.md | 模型:各个维度的构成、收缩、严重程度曲线、等级与上限、结论区间,以及每项设计背后的原因。 |
references/fields.md | 脚本输出的每个 JSON 键,以及读取的每个 API 字段。除本文件外,没有任何内容经过实时 API 验证。 |
references/glossary.md | 少数无法直译的交易术语,以及对应的译法。 |