何时使用
- 创建新技能时
- 编辑现有技能时
- 部署前验证技能
writing-skills 是将 Test-Driven Development 应用于流程文档的 Skill。
核心原则:
如果没有看过没有技能的代理失败,你就不知道技能教的是否正确。
写作技能就是 TDD 应用于文档开发。
你写测试用例(带子代理的压力场景),看它们失败(基线行为),写技能(文档),看测试通过(代理遵守),然后重构(堵住漏洞)。
Skill 是经过验证的技术、模式或工具的参考指南。帮助未来的 Claude 实例找到并应用有效方法。
Skill 是:
Skill 不是:
| TDD 概念 | Skill 创建 |
|---|---|
| 测试用例 | 带子代理的压力场景 |
| 生产代码 | Skill 文档(SKILL.md) |
| 测试失败(RED) | 无技能时代理违反规则(基线) |
| 测试通过(GREEN) | 技能存在时代理遵守 |
| 重构 | 在保持合规的同时堵住漏洞 |
| 先写测试 | 写技能前运行基线场景 |
| 看它失败 | 记录代理使用的具体合理化借口 |
| 最小代码 | 写技能解决那些具体违规 |
| 看它通过 | 验证代理现在遵守 |
| 重构循环 | 找新合理化 → 堵住 → 再验证 |
整个技能创建过程遵循 RED-GREEN-REFACTOR。
有步骤要遵循的具体方法(condition-based-waiting, root-cause-tracing)
思考问题的方式(flatten-with-flags, test-invariants)
API 文档、语法指南、工具文档(office docs)
skills/ skill-name/ SKILL.md # 主参考(必须) supporting-file.* # 仅在需要时扁平命名空间 - 所有技能在一个可搜索命名空间
---name: skill-name-with-hyphensrepo: superpowersdescription: Use when [具体触发条件和症状]---name 和 description# ❌ 错误:总结工作流程 - Claude 可能按这个走而不是读完整内容repo: superpowersdescription: Use when executing plans - dispatches subagent per task with code review between tasks
# ✅ 正确:只有触发条件,没有工作流程总结repo: superpowersdescription: Use when executing implementation plans with independent tasks in the current session# Skill Name
## Overview这是什么?用 1-2 句话概括核心原则。
## When to Use[如果决策不明显,小型内联流程图]
带症状和使用场景的项目符号列表何时不使用
## Core Pattern之前/之后代码对比(针对技术/模式)
## Quick Reference用于扫描常见操作的表格或项目符号
## Common Mistakes什么问题 + 修复
## Real-World Impact具体结果(可选)没有先失败测试就不能写 SKILL这适用于新技能和现有技能的编辑。
先写技能再测试?删掉,重来。 编辑技能不测试?同样违规。
没有例外:
| 借口 | 现实 |
|---|---|
| ”技能明显很清楚” | 你觉得清楚 ≠ 其他代理觉得清楚。测试它。 |
| “只是参考” | 参考可能有缺口、不清楚的部分。测试检索。 |
| “测试太overkill” | 未测试的技能有问题。始终。15分钟测试节省数小时。 |
| “有问题再测” | 问题 = 代理无法使用技能。部署前测试。 |
| “太乏味不想测” | 测试比调试坏技能更不乏味。 |
| “我确信它很好” | 过度自信保证有问题。无论如何要测试。 |
不要说规则——禁止具体变通方案:
❌ 错误:写代码在测试前?删掉它。
✅ 正确:写代码在测试前?删掉它。重来。
没有例外:- 不要保留作为"参考"- 不要在写测试时"适应"它- 不要看它- 删掉就是删掉尽早添加基本原则:
违反规则的字面就是违反规则的精神。这切断了一整类”我在遵循精神”的合理化。
从基线测试中捕获合理化。每次代理找借口都记录在表格中。
何时使用
关键要点
禁止
test-driven-development(TDD 基础)。systematic-debugging(调查技能问题)。查看源文件: GitHub原始文件