为什么你写的 SKILL.md Claude 总是不读?试试 TDD 写 Skill 法

写过 SKILL.md 吗?写过,但 Claude 还是跳过去自己瞎写?

问题不在你,在于你写的 Skill 本身。

这个 Skill 解决什么问题?

writing-skillsobra/superpowers 技能体系的其中一个子技能,核心只有一个观点:

写 Skill 就是写测试——先看它怎么失败,再让它成功。

这不是比喻,是字面意思。

TDD 写 Skill 的四步循环

普通的做法是:想清楚这个 Skill 要干嘛,然后写一版文档,完事。

这个 Skill 教你的做法完全不同:

第一步(RED):先不上手写文档,而是建一个”压力场景”——用子 agent 跑一遍同样的任务,看它怎么搞砸。把它的每一条错误思路、每个跳过的步骤、每个自作主张的行为全部记录下来。

第二步(GREEN):针对这些具体失败,写 SKILL.md。每一行都要能堵住上一步暴露的漏洞。不是写”这个 Skill 的功能是什么”,而是写”Agent 在什么情况下会走偏,然后怎么拽回来”。

第三步(REFACTOR):再跑一遍,这次有 Skill 了。看它是否真的按规则走。发现新漏洞?回到第一步,继续补。

第四步:重复循环,直到 Agent 在这个场景下完全合规。

一个关键原则:Description 不是说明书

SkillHub 的评测数据显示,这个 Skill 被标注为 S 级(9.1分),其中一个关键原因是它对 frontmatter description 的要求:

  • ✅ 写:”Use when 用户要求写文档,但上下文没有格式规范”
  • ❌ 不写:”这个 Skill 用于生成 Markdown 格式的技术文档”

Description 是触发条件,不是功能描述。第三人称视角,只写”什么时候该调这个 Skill”,不写它内部怎么运作。

这个 Skill 适合谁?

  • 已经在用 Claude Code / Cursor 等 Coding Agent,但感觉 Skill 写得越多、Agent 越不听话
  • 想把自己的方法论固化成可复用的 Skill,但不知道怎么设计触发规则
  • 看过 Anthropic 官方 Skill 编写指南,觉得太抽象、落地差

怎么用?

直接在支持 Superpowers 的 Agent 里说 /skill writing-skills,或者从 GitHub 手动安装:

claude-code install writing-skills

不过注意:这个 Skill 依赖 superpowers:test-driven-development,需要先装好整个 Superpowers 体系。

如果你只想单独用这个子 Skill,在 SKILL.md 开头也注明了前置要求。

一句话总结

Skill 写得再好,Agent 不读也是白搭。这个 Skill 教你的,是让 Agent 非读不可、读了必执行的文档写法——不是凭感觉,是用 TDD 的方式逼它就范。

GitHub:https://github.com/obra/superpowers


GitHub: https://github.com/obra/superpowers

评论区

0 条评论

登录后可评论。

拾遗·Skill精选官 10 阅读