关于 plugin-review
plugin-review 是用于检查 Wallet MCP 插件文件的技能,适合插件作者和 PR 审核者。它依据当前规范进行静态评估,也可选做只读 API 或 SDK 验证,并生成含可执行发现项的报告。
主要功能
- 01获取并遵循当前插件规范
- 02按评估标准检查插件文件
- 03可选验证 API、SDK 和地理限制
- 04按模板生成合规报告
- 05为 PR 评论整理报告内容
适用场景
- 01提交 PR 前自查 Wallet MCP 插件
- 02评估待审核的插件 PR
- 03验证插件文档中的接口和响应声明
- 04整理审查发现并撰写 PR 评论
MCP 相关
该技能审查 Wallet MCP 插件文件是否符合当前插件规范。它既不提供 MCP 工具,也不充当 MCP 服务。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ base/ skills --skill plugin-review安装后在 Claude Code 中输入/plugin-review确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/comment-guidelines.mdevaluation-criteria.mdlive-testing.mdreport-template.md详细介绍
插件审查
根据当前插件规范验证 Wallet MCP 插件文件,并生成包含可操作发现的符合性报告。
适用于作者(提交 PR 前自检)和审查者(评估收到的 PR)。
工作流
-
获取当前规范(规范会变更,切勿依赖过时副本):
curl -s https://raw.githubusercontent.com/base/skills/master/skills/wallet-mcp/references/plugin-spec.md值得阅读的相关文档:
references/custom-plugins.md、references/approval-mode.md、references/batch-calls.md和SKILL.md(根目录技能)。skills/wallet-mcp/plugins/下现有的原生插件可作为约定范例。 -
完整阅读插件文件。如果正在审查 PR:
gh pr view <n> --repo base/skills --json title,body,number,headRefName,files,additions,deletions gh pr diff <n> --repo base/skills # raw plugin file (diff may be truncated): gh api "repos/base/skills/pulls/<n>/files" --jq '.[] | select(.filename|endswith(".md")) | .raw_url' -
静态符合性评估——依据
references/evaluation-criteria.md中的每个维度进行评估(包括合规性/语言检查和高风险类别门槛)。使用references/report-template.md编写报告。 -
(可选)实时 API/SDK 验证——通过只读调用测试文档中说明的端点/SDK/合约。参见
references/live-testing.md。对于永续合约/预测市场/赌博类插件,还要执行地理封锁验证(比较前端与 API 的访问限制)。在报告中追加## 实时 API/SDK 验证一节。这通常会推翻文档中的说法(伪造/受限端点、无法访问的主机、错误的响应结构)。 -
保存报告。 如果正在审查 PR,且对方要求发表评论,请使用
references/comment-guidelines.md根据报告起草 PR 评论,并通过以下命令发布:gh pr comment <n> --repo base/skills --body-file <comment-file>。
多个 PR
并行评估多个 PR:为每个 PR 启动一个子 Agent(各自编写报告并返回简短的结论摘要)。向每个子 Agent 提供规范(或其原始 URL)、PR 编号、评估标准、报告模板和评论指南。
关键注意事项
这些问题反复出现,也很容易出错——详情请参阅 references/evaluation-criteria.md:
- 智能账户签名会导致朴素签名方式失效。 默认的 Wallet MCP 钱包是智能合约;
sign返回的是长度可变的 ERC-1271/6492 签名(>200 字节),而不是 65 字节的 EOA 签名。任何将签名嵌入固定宽度 calldata 槽位的插件,或将链下 EIP-712 签名写入 calldata 的插件(例如 Permit2buildCallWithPermit2),在该钱包上都无法使用。正确做法:在链上授予额度。 irreversible风险并非适用于所有链上写入操作。 规范要求“在值得强调时标记”。纯兑换使用slippage(先例:Uniswap、Aerodrome 使用[slippage],而非irreversible)。仅在风险不对称或特别严重的情况下(如永续合约/清算、代币发行/跑路风险)使用irreversible。不要要求兑换操作使用此标记。- 不要自行登记。 插件 PR 不得修改
SKILL.md中的插件表、Integration Types 的 "Examples" 单元格,或 "Existing Plugin Conformance" 表——这些内容由维护者管理(已在 plugin-spec.md 的 "Contribution Scope" 中明文规定)。唯一允许修改的共享文件,是在词汇表中追加真正全新的标签。将差异限制为plugins/<slug>.md(以及该标签行)。 version是插件文档的版本——不是 npm/软件包版本,也不是全局规范版本。规范没有规定特定的起始编号。- 核实声明,不要轻信。 文档中的身份验证模型、允许列表是否完整、响应格式和合约地址经常有误。应进行探查(实时测试)。
- 插件文件中的引用链接必须使用
../references/...(插件文件位于plugins/,引用资料位于references/)。 - 必须使用中立措辞。 不得声称收益、费率或性能,不得说“你应该购买 X”或“始终在此处存入”,也不得默认推荐特定代币。引导性措辞会成为阻止合并的理由。
- 永续合约、预测市场和隐私类插件在作为原生插件纳入前需要经过法律审查。请在报告中将此标为合并前的流程关卡。
- API 地理封锁对等性。 如果协议前端会屏蔽美国 IP(或其他地区的 IP),API 必须执行等效限制。如果 API 未做到这一点,Wallet MCP 就有被用作规避工具的风险——请将其标为阻止合并的问题。