编写技能(Writing Skills)

Verified 高级 Advanced 流程型 Process claude-code
3 min read · 133 lines

编写技能就是将 TDD 应用到流程文档上

编写技能(Writing Skills)

概述

编写技能就是将测试驱动开发(TDD)应用到流程文档上。

你编写测试用例(压力场景+子代理),看它们失败(基线行为),编写技能(文档),看测试通过(代理遵从),然后重构(封堵漏洞)。

核心原则: 如果你没有看到代理在没有技能的情况下失败,你就不知道这个技能教的是否正确。

什么是技能?

技能是: 经验证的技术、模式或工具的参考指南 技能不是: 关于你如何解决某次问题的叙事

TDD 映射

TDD 概念 技能创建
测试用例 压力场景 + 子代理
生产代码 技能文档(SKILL.md)
测试失败(RED) 代理在没有技能时违反规则
测试通过(GREEN) 代理在有技能时遵从
重构(REFACTOR) 封堵漏洞同时保持合规

何时创建技能

创建条件:

  • 技术对你来说不是直觉性的
  • 跨项目会再次引用
  • 模式广泛适用
  • 其他人会受益

不要创建:

  • 一次性解决方案
  • 标准实践(已有良好文档)
  • 项目特定约定(放在 CLAUDE.md)

技能类型

  • Technique(技术):有步骤的具体方法
  • Pattern(模式):思考问题的方式
  • Reference(参考):API 文档、语法指南

SKILL.md 结构

# 技能名称

## 概述
核心原则 1-2 句话

## 何时使用
触发条件和场景

## 核心模式
前后对比代码

## 快速参考
表格或要点

## 常见错误
问题 + 修复

## 实际效果(可选)
具体成果

Claude 搜索优化(CSO)

关键:描述 = 何时使用,不是技能做什么

关键发现: 测试表明,当描述总结了技能的工作流程时,Claude 可能按描述而非阅读完整技能内容来执行。

# ❌ 差:总结了工作流——Claude 可能按此执行而跳过技能正文
description: Use when executing plans - dispatches subagent per task with code review between tasks

# ✅ 好:只有触发条件,无工作流总结
description: Use when executing implementation plans with independent tasks in the current session

Token 效率

  • getting-started 工作流:<150 词
  • 常用技能:<200 词
  • 其他技能:<500 词

铁律(与 TDD 相同)

没有失败测试就不编写技能

防合理化加固

封堵每个漏洞

不仅声明规则——禁止具体的变通方法。

解决"精神 vs 字面"争论

**违反规则的字面意思就是违反规则的精神。**

建立合理化表格

从基线测试中捕获的每个借口都放入表格。

创建红旗列表

让代理在找借口时能自我检查。

技能创建清单

RED 阶段:

  • 创建压力场景(3+ 组合压力)
  • 无技能运行场景——逐字记录基线行为
  • 识别合理化模式

GREEN 阶段:

  • 编写技能应对具体基线失败
  • 有技能运行场景——验证代理遵从

REFACTOR 阶段:

  • 识别新的合理化
  • 添加显式对策
  • 重新测试直到防弹

相关技能 Related Skills