1. 从零装一个 skill,为什么值得折腾
如果你已经在用 Claude Code、Cursor、Codex CLI 这类 AI 编码工具,大概率遇到过同一个问题:模型很聪明,但每次让它写方案,它上来就给你堆代码,或者问一句答一句,缺少一个稳定的“先问清楚再动手”的节奏。grill-me这个 skill 解决的就是这件事——它只做一件事:在写 PLAN 之前,先把需求问透。相比那些动辄几十个工具、上下文塞满的重型 skill 框架,它轻量得多,装完就能用。
这篇要做的,是把mattpocock/skills仓库里的grill-me通过npx skills add装进本地 AI 编码工具,然后拿一个五子棋项目当样例,落地一份AGENTS.md,最后用一次真实对话确认 skill 真的被加载了。整个过程围绕三个关键词:npx、skills、AGENTS.md。适合谁?适合已经在用 AI 写代码、想让 AI 在动手前先“问清楚”的开发者,尤其是做多模块工程、需要先出实施方案再编码的场景。
我试过直接让模型写五子棋服务端方案,结果它默认我要做单机版,棋盘尺寸、积分规则、断线处理全靠猜。后来把grill-me装上,它先反问了我十几个问题,方案质量立刻不一样。下面按步骤来。
2. 前置准备:TaoToken 统一 Key 与 API 通道
在装 skill 之前,先把模型通道配好。不管你用哪种 AI 编码工具,最终都要落到一个能调用的 API 上。TaoToken 提供统一的 Key 和 API 入口,官网是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 地址是 https://taotoken.net/api (这个不加 UTM)。
你需要先拿到一个 API Key。进入控制台创建:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite ,然后在 API Keys 页面生成密钥:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite 。生成后复制保存,后面配置里要用。
这里有个容易踩的坑:很多人把 Key 直接写进项目里的配置文件然后提交到 Git。别这么干。用环境变量或者本地不提交的配置文件,下面两种配置方式你选一种就行。
2.1 方式一:settings.json(Claude Code 风格)
如果你用的是 Claude Code 或兼容它的工具,配置写在settings.json里。路径通常在用户目录下的工具配置目录,比如~/.claude/settings.json。内容大致如下:
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "你的_TaoToken_API_Key" } }注意ANTHROPIC_BASE_URL填的是https://taotoken.net/api,不要多加路径。ANTHROPIC_AUTH_TOKEN换成你刚才生成的 Key。保存后重启工具,让它重新读取配置。
2.2 方式二:config.toml(Codex CLI 风格)
如果你用的是 Codex CLI 这类读 TOML 的工具,配置写在~/.codex/config.toml:
model_provider = "taotoken" [model_providers.taotoken] name = "TaoToken" base_url = "https://taotoken.net/api" env_key = "TAOTOKEN_API_KEY" [profiles.default] model_provider = "taotoken" model = "claude-sonnet-4-20250514"然后在 shell 里导出环境变量:
export TAOTOKEN_API_KEY="你的_TaoToken_API_Key"Windows PowerShell 用:
$env:TAOTOKEN_API_KEY="你的_TaoToken_API_Key"两种方式二选一,不要同时配,否则工具可能读错。配完先别急着装 skill,先确认通道能通,不然后面报错你分不清是 skill 的问题还是 Key 的问题。
3. 用 npx skills add 装 grill-me
skills是一个通过npx直接运行的 CLI,不需要全局安装。它的作用是把 GitHub 仓库里的 skill 拉到你本地 AI 工具的 skill 目录。grill-me在mattpocock/skills这个仓库里。
3.1 确认 Node 环境
npx依赖 Node.js。先确认版本:
node -v npx -vNode 18 以上基本没问题。如果提示npx: command not found,说明 Node 没装好,先去装 Node LTS 版本。
3.2 执行安装命令
最直接的写法是带上完整仓库地址和 skill 名:
npx skills@latest add https://github.com/mattpocock/skills --skill grill-me也可以简写成仓库的owner/repo形式:
npx skills@latest add mattpocock/skills --skill grill-me两种写法效果一样。--skill grill-me指定只装这一个 skill,不加的话会把仓库里所有 skill 都拉下来。第一次运行会提示你确认安装位置,一般选当前用户级目录,这样所有项目都能用。
安装过程中你会看到类似输出:
Fetching mattpocock/skills... Found skill: grill-me Installing to ~/.claude/skills/grill-me Done.如果卡在Fetching很久,多半是网络问题,重试一次即可。装完后去对应目录确认文件在不在:
ls ~/.claude/skills/grill-me能看到SKILL.md之类的文件就说明装好了。不同工具的 skill 目录名不一样,Codex 可能是~/.codex/skills,以你工具实际读取的路径为准。
3.3 验证 skill 被识别
装完先别写项目,先让工具列一下可用 skill。多数工具支持类似/skills或skills list的命令。如果工具没有这个命令,直接看目录结构也行。关键是确认grill-me出现在工具能扫描到的 skill 根目录下,而不是装到了别的地方。
4. 用五子棋项目落地 AGENTS.md
skill 装好了,接下来要有一个真实项目来验证它。这里用五子棋当样例,因为它规则清晰、状态机不复杂,但又足够覆盖“先问清楚再动手”的场景。核心是写一份AGENTS.md,让 AI 在动手前先读它、按它约束行为。
4.1 AGENTS.md 是什么
AGENTS.md是放在项目根目录的约定文件,AI 编码工具在进入项目时会优先读它。你可以把它理解成“给 AI 看的项目说明书 + 行为约束”。它和grill-me配合的逻辑是:grill-me负责在对话里追问需求,AGENTS.md负责把已经确认的规则固化下来,避免 AI 每次重新猜。
4.2 五子棋 AGENTS.md 骨架
下面是一份可以直接用的骨架,重点在“状态”和“约束”两段:
# 五子棋项目 AGENTS.md > 状态:等待审核 > 本文件仅定义实施方案;审核通过前不创建工程骨架、不编写业务代码。 > 当前仓库状态:client、proto、server 均为空目录,需要从零初始化。 ## 1. 已确认的产品规则 ### 1.1 账号与会话 - 使用“用户名 + 密码”注册和登录,不设置独立昵称。 - 用户名按去除首尾空格并转小写后的值做唯一性判断。 - 密码只保存哈希,禁止保存或记录明文。 - 同一账号只允许一个有效在线会话;新登录顶掉旧连接。 ### 1.2 棋局规则 - 棋盘为 15 × 15。 - 黑方先手。 - 横、竖、两个斜线方向连续五颗或以上即获胜。 - 不实现禁手规则。 - 棋盘填满且无人获胜时为平局。 - 支持主动认输;对局中主动离开等同认输。 ### 1.3 断线规则 - 连接断开不立即判负,保留玩家与进行中房间的绑定。 - 仅一方离线时进入 5 分钟重连宽限期;超时后离线方判负。 - 双方同时离线时暂停单方判负计时,进入 30 分钟保留期。 ## 2. 技术基线 | 领域 | 选型 | |---|---| | 语言 | TypeScript / Kotlin 二选一 | | 客户端 | Vue 3 + Vite | | 协议 | proto3,二进制 WebSocket | | 持久化 | MongoDB | | 测试 | Vitest / JUnit 5 | ## 3. 执行约束 - 只有本文件获得明确批准后才开始编码。 - 编码按阶段提交,每一阶段先通过验收条件再进入下一阶段。 - 若发现技术选型无法兼容,暂停开发并提交替代方案重新审核。这份骨架的关键不是写得多全,而是把“等待审核”“审核通过前不写代码”这两条放在最前面。grill-me的价值就在这里——它会逼你先把这些规则问出来,而不是让 AI 自己拍脑袋。
4.3 让 grill-me 参与生成 AGENTS.md
装好 skill 后,在项目根目录启动你的 AI 编码工具,然后直接说:
用 grill-me 帮我梳理五子棋项目的需求,先不要写代码,只问问题。正常的话,它不会立刻输出方案,而是开始反问。比如它会问:棋盘尺寸固定吗?要不要禁手?断线怎么处理?积分怎么算?这些问题回答完,你再让它把结论整理进AGENTS.md。这一步就是验证 skill 是否生效的最直接方式。
5. 验证请求:确认 skill 真的被加载
光看目录不够,要做一次实际对话验证。下面是我实测的一个流程,你可以照着走一遍。
5.1 发起一次带 skill 的对话
在项目根目录打开工具,输入:
/grill-me 我要做一个五子棋在线对战平台,先帮我问清楚需求。如果你的工具不支持斜杠调用,就直接在提示里点名:
使用 grill-me skill,帮我梳理五子棋在线对战平台的需求,只提问,不写代码。5.2 观察返回行为
skill 被正确加载时,你会看到它进入“只问不写”的模式,输出一串问题,而不是直接给代码或方案。典型的问题包括:
1. 棋盘尺寸是固定 15x15 还是可配置? 2. 是否需要禁手规则? 3. 断线后是立即判负还是给重连宽限期? 4. 积分是排位和友谊赛分开计算吗? 5. 观战人数上限是多少?如果它上来就给你一大段代码,说明 skill 没被加载,或者你的提示没有触发它。这时候回去检查 skill 目录和工具配置。
5.3 确认加载成功的三个信号
第一,它主动提问而不是直接产出。第二,问题围绕你给的项目场景,不是泛泛而谈。第三,你回答完一轮后,它会继续追问细节,而不是急着收尾。三个信号都出现,基本可以确认grill-me生效了。
5.4 把结论回写 AGENTS.md
对话结束后,让它把确认的规则整理成AGENTS.md:
把刚才确认的规则整理成 AGENTS.md,保留“等待审核”状态,不要写业务代码。生成的骨架参考第 4.2 节。到这里,从装 skill 到落地AGENTS.md的闭环就走完了。
6. 本篇常见错排查
6.1 npx skills add 报 404 或仓库找不到
多半是仓库名写错。确认是mattpocock/skills,不是mattpocock/skill。带完整 URL 时确认没有多余空格。如果仓库是私有的,npx拉不下来,需要换公开仓库或配置访问凭据。
6.2 装完但工具里看不到 skill
先确认安装路径和工具读取路径一致。有的工具读~/.claude/skills,有的读项目内的.skills目录。用npx skills add时留意它提示的安装位置,必要时手动指定目标目录。装完重启工具,让它重新扫描。
6.3 skill 被加载了但行为不对
检查SKILL.md里的触发条件。有些 skill 需要特定关键词或斜杠命令才会激活。如果直接说“帮我写五子棋”它不触发,试试显式点名grill-me。另外确认你的提示里没有让它“直接给代码”,那会覆盖 skill 的“只问不写”行为。
6.4 API 通道报 401 或 403
回到第 2 节检查 Key。常见原因有三个:Key 复制时带了空格;base_url写成了https://taotoken.net/api/多了斜杠;环境变量名和配置里引用的名字不一致。用echo $TAOTOKEN_API_KEY确认变量真的导出了。
6.5 AGENTS.md 被忽略
确认文件名大小写正确,是AGENTS.md不是agents.md。确认它在项目根目录,不是子目录。有些工具需要重启或重新打开项目才会读取。如果还是不行,在对话里显式说“请先读 AGENTS.md 再回答”。
6.6 对话验证时 skill 没反应
先确认这次对话用的模型通道是通的。如果 Key 失效,工具可能降级到默认行为,看起来像 skill 没加载。先跑一个最简单的请求确认通道正常,再测 skill。另外,部分工具对 skill 的支持需要版本较新,升级到最新版再试。
7. 继续往下走
装grill-me只是第一步。真正让 AI 编码工具好用的,是“skill 负责追问、AGENTS.md 负责固化、统一 Key 负责通道”这三件事配合起来。你可以把grill-me用在任何需要先出方案的项目上,不限于五子棋。
如果你要长期做编码和 Agent 类任务,可以看看 Coding Plan:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite 。想直接验证模型对话效果,用模型对话入口:https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_content=models&utm_campaign=rewrite 。接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite ,配置遇到问题先翻它。Claude Code 相关接入参考 https://taotoken.net/claude-code-anthropic?utm_source=taotoken_aicg_blog_end&utm_content=claude-code-anthropic&utm_campaign=rewrite 。
最后留一个实用技巧:把AGENTS.md里“等待审核”那段保留着,每次让 AI 动手前先确认状态改成“已批准”。这个习惯能省掉大量返工。