技能库 / 效率工具 / 撰写与校验技能(SKILL)

撰写与校验技能(SKILL)

创建或维护 Agent 技能文档(如 SKILL.md)时遵循结构与发布前校验。

v1.0.0
作者 / 来源

github-obra

在来源站打开

安装方式

CLI 安装(推荐)

claw install oss-superpowers-writing-skills

需要安装 CLAW CLI

手动下载安装

下载 ZIP 后解压到技能目录即可安装。若在桌面客户端 WebView中直接下载出现异常,本站会改为提示页 + 原始链接,请按页内说明操作。

下载 ZIP (oss-superpowers-writing-skills-v1.0.0.zip)

触发指令

/writing-skills

跨平台安装指引

该技能声明兼容以下 1 个平台,将 ZIP 解压到对应目录即可被识别。

支持矩阵
Claude Code Coding Agent
macOS / Linux:~/.claude/skills/
Windows:%USERPROFILE%\.claude\skills\
unzip oss-superpowers-writing-skills-v1.0.0.zip -d ~/.claude/skills/
目录不存在时请先 mkdir -p 创建;启用 Skill 后请重启对应 Agent 让配置生效。

使用指南

撰写技能(Skills)

写技能 = 把 TDD 用在流程文档上。

个人技能目录示例:Claude Code 用 ~/.claude/skills,Codex 用 ~/.agents/skills/

你写 压力场景(带子代理的测试),看 无技能时的失败基线,再写 技能文档,再看 有技能时是否遵守,最后 收紧漏洞(重构)。

核心: 若没见过 无技能时代理如何失败,就不知道技能是否教对了。

前置: 必须先理解 test-driven-development;本技能把红—绿—重构映射到文档。

官方补充: Anthropic 技能撰写最佳实践见 anthropic-best-practices.md,与本文 TDD 取向互补。

技能是什么

技能是 可复用的方法、模式、工具、参考手册
不是「我某次怎么解决的故事」。

与 TDD 的对应

| TDD | 技能 | |-----|------| | 测试用例 | 带子代理的压力场景 | | 生产代码 | SKILL.md | | 红 | 无技能时违规(基线) | | 绿 | 有技能时遵守 | | 重构 | 堵漏洞同时保持遵守 | | 先写测试 | 写技能 先跑基线 | | 看它失败 | 记录代理的借口原文 | | 最简实现 | 只针对这些违规写技能 | | 看它通过 | 再跑场景确认 | | 重构循环 | 新借口 → 补规则 → 再验 |

何时新建技能

适合: 技巧不直观、会跨项目复用、模式够通用、他人也用得上。
不适合: 一次性解法、别处已有标准文档、仅项目约定(放 CLAUDE.md)、可用正则/校验机戒 enforce 的(优先自动化)。

技能类型

  • 技法:有步骤可循(如条件等待、根因追踪)
  • 模式:思维方式(如用不变量测)
  • 参考:API、语法、工具文档(如 Office)

目录结构

skills/
  skill-name/
    SKILL.md          # 必填主文档
    其他文件           # 仅当必要(大参考、脚本)

扁平命名空间;大参考(100+ 行)或 可复用脚本 才拆文件;原则与短代码模式可内联。

SKILL.md 结构建议

YAML 头: namedescription 必填(见 agentskills.io/specification);总长 ≤1024 字符。name 仅字母数字连字符。description第三人称,只写 何时用(触发条件、症状),不要 概括流程(见下 CSO)。

正文建议块:概述、何时用(可含小流程图)、核心模式、速查表、实现要点、常见错误、可选「真实收益」。

Claude 检索优化(CSO)

描述字段只写「何时用」,不写「做什么」: 若描述里总结工作流,模型可能 只读描述不读正文,导致少做步骤(实测:写「任务间 code review」会只做一次评审,改描述为纯触发条件后才会读流程图做两阶段评审)。

好描述: 以「在……情况下使用」开头,写 具体问题/症状(竞态、不稳定),少写技术细节除非技能本身绑技术栈。

关键词: 错误文案、症状词、同义词、真实命令与库名。

命名: 动词开头、-ing 进程名往往好用(creating-skills)。

Token: 入门/高频加载技能要短(如每工作流 <150 词,整技能 <200–500 词);细节移到 --help 或其它技能交叉引用,不要重复贴长流程。

交叉引用其它技能

**必须子技能:** Use superpowers:xxx**必须先掌握:**,不要用 @path 强制预加载(烧上下文)。

流程图

仅当 决策不显然、易早停、或 A/B 选择时用 Graphviz;参考材料用表;线性步骤用编号列表。风格见 @graphviz-conventions.dot;可用目录内 render-graphs.js 渲染 SVG。

代码示例

一个精品胜过多个平庸;选最相关语言;完整可运行、注释讲 为什么;不要五种语言各一份填空模板。

文件组织形态

  • 全内联:单 SKILL.md
  • 带可复用工具:SKILL.md + 示例代码
  • 重参考:SKILL.md + 大参考 md + scripts/

铁律(与 TDD 相同)

没有先失败的测试(基线场景),就不写技能。
没有先测的编辑,就不算完成修改。

先写技能再测、或「小改不用测」→ 删改重来。无例外。

各类技能的测法简述: 纪律类 → 学术问答 + 高压组合(时间/沉没成本/疲惫)+ 收集借口进表;技法类 → 应用场景与变体;模式类 → 识别何时用/不用;参考类 → 检索与应用、覆盖缺口测试。

跳过测试的借口

「显然清楚」「只是参考」「测试小题大做」「上线再测」「太烦」「我很有把握」「通读就够了」「没时间」—— 全部驳回:发布前必须测。

防「合理化」写作技巧

规则要 显式封死漏洞(列清「不要保留作参考、不要边测边改编」等);文首可加 违反字面即违反精神;把基线里出现的借口收进 借口—现实 表;列 红旗—停 清单;描述里可写 即将违反时的症状

技能的红—绿—重构

  • 红: 无技能跑压力场景,记录行为与 原文借口
  • 绿:最小 技能只堵已见问题;再跑应遵守。
  • 重构: 新借口 → 补条文 → 再测至够硬。

完整方法论见 @testing-skills-with-subagents.md(压力类型、堵洞顺序、元测试)。

反模式

叙事型「某年某月我们发现…」;多语言稀释;流程图里塞代码;无意义节点名 helper1/step3。

部署纪律

每写一个技能必须走完部署清单;不要批量写一堆却都不测。未测技能 = 未测代码。

清单摘要(须 TodoWrite 逐项)

红: 3+ 组合压力场景(纪律类)、无技能跑基线、记录失败模式。
绿: name/description 合规、概述、针对基线、代码或链接、一个好例子、有技能再跑通过。
重构: 新借口、理性化表、红旗列表、复测。
质量: 非显然才用流程图、速查表、常见错误、无小说叙事、附属文件仅当必要。
发布: 提交 git,有用可提 PR。

发现路径

用户遇问题 → description 命中 → 扫概述 → 看速查 → 需要时再加载示例。把可搜词放前、放密。

结语

写技能与写生产代码 同一纪律:先失败测试、红绿重构、证据先于断言。你会 TDD 写代码,就该 TDD 写技能。