SkillAtlasSkill 详情

writing-skills

🌐 简体中文 | 繁體中文 | English (upstream)

审核状态:已审核Quality 72Security 70

复制安装命令

用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。

复制前请先查看来源、License 和安全提示。

项目 README

来源文件:README.md

抓取于 2026年8月2日

superpowers-zh(AI 编程超能力 · 中文增强版)

🌐 简体中文 | 繁體中文 | English (upstream)

🦸 superpowers(250k+ ⭐)完整汉化 + 4 个中国原创 skills — 让 Claude Code / Copilot CLI / Hermes Agent / Cursor / Windsurf / Kiro / Gemini CLI / Qoder 等 20 款 AI 编程工具真正会干活。从头脑风暴到代码审查,从 TDD 到调试,每个 skill 都是经过实战验证的工作方法论。

Chinese community edition of superpowers — 20 skills across 20 AI coding tools, including full translations and China-specific development skills.

官网 sp.aiolaola.com GitHub stars npm version License: MIT PRs Welcome

📖 免费配套学习 → 从零学会 AI 编程(180 节)+ 从零构建 AI 智能体(40 节):两门免费实操课 + 实战社区,superpowers 装好后配上方法论效率翻倍

🌍 Also available in English · 日本語 · Español · 한국어 · 繁體中文

🆕 v1.7.0 更新亮点(完整 Release Notes →)

  • 🌍 全局安装 npx superpowers-zh --global —— 一次安装、所有项目共享,多项目党告别逐个重装
  • 🧩 新增 腾讯 CodeBuddy 与 华为云码道 CodeArts 两款国产 IDE(工具数 18 → 20)
  • 🌐 官网 sp.aiolaola.com + README 新增繁体中文(简 / 繁 / EN 三语)

📊 项目规模

📦 翻译 Skills🇨🇳 中国特色 Skills🤖 支持工具
146Claude Code / Copilot CLI / Hermes Agent / Cursor / Windsurf / Kiro / Gemini CLI / Codex / Aider / Trae / VS Code (Copilot) / DeerFlow / OpenCode / OpenClaw / Qwen Code / Antigravity / Claw Code / Qoder / CodeBuddy(腾讯)/ CodeArts(华为云码道)

❤️ 赞助商  🙏 想出现在这里?联系 jnMetaCode@qq.com 赞助

优云智算 by UCloud — 热门国产模型按次调用套餐包 感谢 优云智算 赞助本项目!优云智算是 UCloud 旗下 AI 云平台,主打包月、按次的高性价比国模 Agent Plan 套餐,支持 GLM-5.2,低至 49 元/月起。同时提供官转稳定海外模型。支持接入 Claude Code、Codex 及 API 调用。支持企业高并发、7×24 技术支持、自助开票。

🎁 通过此链接注册的用户,可得免费 5 元平台体验金!

这是什么?

superpowers 是目前最火的 AI 编程 skills 框架(250k+ stars),为 AI 编程工具提供系统化的工作方法论。

superpowers-zh 在完整翻译的基础上,新增了面向中国开发者的特色 skills。

没装 superpowers-zh:

你:给用户模块加个批量导出功能
AI:好的,我来实现...(直接开始写代码)
    export async function exportUsers() { ... }
你:等等,格式不对,没分页,大数据量会 OOM...

装了 superpowers-zh:

你:给用户模块加个批量导出功能
AI:在开始实现之前,我需要了解几个关键问题:
    1. 导出格式是 CSV 还是 Excel?
    2. 预计数据量多大?需要异步处理吗?
    3. 有权限要求吗?
    → 给出 2-3 个方案,确认后再动手

🆚 与英文上游的区别(老被问,一次说清)

维度superpowers(英文上游)superpowers-zh(中文增强版)
⭐ Star 数250k+—
📦 Skills 总数1420(14 翻译 + 4 国产原创 + 2 上游历史保留)
🌐 语言英文中文(技术术语保留英文)
🤖 支持工具6 款:Claude Code / Cursor / Codex / OpenCode / Copilot CLI / Gemini CLI20 款:上述 6 款 + Hermes Agent / Trae / Kiro / Qwen Code(通义灵码)/ OpenClaw / Claw Code / Antigravity / DeerFlow / VS Code / Windsurf / Aider / Qoder / CodeBuddy(腾讯) / CodeArts(华为云码道)
⚡ 安装方式按工具分别装(每款一条不同的 plugin marketplace 命令)npx superpowers-zh 一条命令自动识别项目里的工具并安装;识别不出可 --tool <name> 显式指定
🇨🇳 Git 平台GitHub 为主GitHub + Gitee + Coding + 极狐 GitLab + CNB(腾讯云原生构建)
🇨🇳 CI/CD 示例GitHub ActionsGitHub Actions + Gitee Go + Coding CI + 极狐 CI + .cnb.yml
🇨🇳 代码审查风格西方直接风格适配国内团队沟通文化
🇨🇳 Git 提交规范无Conventional Commits 中文适配
🇨🇳 中文文档规范无中文排版 + 中英混排规则 + 告别机翻味
➕ MCP 服务器构建无独立 mcp-builder skill
➕ 工作流执行器无独立 workflow-runner skill(多角色 YAML 编排)
🔄 版本跟进独立迭代同步上游 + 国产增量叠加
🤝 接受新 skill PR一般不接受(原文:"we don't generally accept contributions of new skills")欢迎 PR(中国开发者痛点优先)
💬 社区Discord微信公众号「AI不止语」+ 微信群 + QQ 群
📜 LicenseMITMIT

一句话总结: 英文上游 = 方法论内核;中文增强版 = 方法论内核 + 20 款工具一键适配 + 国内 Git/CI 生态 + 中文化表达习惯。

🤖 支持 20 款主流 AI 编程工具

工具类型一键安装手动安装
Claude CodeCLInpx superpowers-zh.claude/skills/
Copilot CLICLInpx superpowers-zh --tool copilot.claude/skills/
Hermes AgentCLInpx superpowers-zh --tool hermes.hermes/skills/
CursorIDEnpx superpowers-zh.cursor/skills/
WindsurfIDEnpx superpowers-zh.windsurf/skills/
KiroIDEnpx superpowers-zh.kiro/steering/
Gemini CLICLInpx superpowers-zh.gemini/skills/
Codex CLICLInpx superpowers-zh.codex/skills/
AiderCLInpx superpowers-zh.aider/skills/
TraeIDEnpx superpowers-zh.trae/skills/ + .trae/rules/
VS Code (Copilot)IDE 插件npx superpowers-zh.github/superpowers/
DeerFlow 2.0Agent 框架npx superpowers-zhskills/custom/
OpenCodeCLInpx superpowers-zh.opencode/skills/
OpenClawCLInpx superpowers-zhskills/
Qwen Code (通义灵码)IDE 插件npx superpowers-zh.qwen/skills/
AntigravityCLInpx superpowers-zh.agents/skills/
Claw CodeCLI (Rust)npx superpowers-zh.claw/skills/
Qoder (阿里 AI IDE)IDEnpx superpowers-zh.qoder/skills/ + .qoder/rules/
CodeBuddy (腾讯 AI IDE)IDEnpx superpowers-zh.codebuddy/skills/ + CODEBUDDY.md
华为云码道 CodeArtsIDEnpx superpowers-zh.codeartsdoer/skills/

运行 npx superpowers-zh 会自动检测你项目中使用的工具,将 20 个 skills 安装到正确位置。

翻译的 Skills(14 个)

Skill用途
头脑风暴 (brainstorming)需求分析 → 设计规格,不写代码先想清楚
编写计划 (writing-plans)把规格拆成可执行的实施步骤
执行计划 (executing-plans)按计划逐步实施,每步验证
测试驱动开发 (test-driven-development)严格 TDD:先写测试,再写代码
系统化调试 (systematic-debugging)四阶段调试法:定位→分析→假设→修复
请求代码审查 (requesting-code-review)派遣审查 agent 检查代码质量
接收代码审查 (receiving-code-review)技术严谨地处理审查反馈,拒绝敷衍
完成前验证 (verification-before-completion)证据先行——声称完成前必须跑验证
派遣并行 Agent (dispatching-parallel-agents)多任务并发执行
子 Agent 驱动开发 (subagent-driven-development)每个任务一个 agent,两轮审查
Git Worktree 使用 (using-git-worktrees)隔离式特性开发
完成开发分支 (finishing-a-development-branch)合并/PR/保留/丢弃四选一
编写 Skills (writing-skills)创建新 skill 的方法论
使用 Superpowers (using-superpowers)元技能:如何调用和优先使用 skills

🇨🇳 中国特色 Skills(6 个)

⚠️ 下表前 4 个 chinese-* 为「手动调用」skill——不会自动触发,需在对话中显式输入 /chinese-xxx 才会加载。 设计为参考资料而非工作流,避免污染上游 skill 的自动调度(如 requesting-code-review、brainstorming 等)。

Skill用途调用方式上游有吗?
中文代码审查 (chinese-code-review)符合国内团队文化的代码审查规范/chinese-code-review(手动)无
中文 Git 工作流 (chinese-git-workflow)适配 Gitee/Coding/极狐 GitLab/CNB/chinese-git-workflow(手动)无
中文技术文档 (chinese-documentation)中文排版规范、中英混排、告别机翻味/chinese-documentation(手动)无
中文提交规范 (chinese-commit-conventions)适配国内团队的 commit message 规范/chinese-commit-conventions(手动)无
MCP 服务器构建 (mcp-builder)构建生产级 MCP 工具,扩展 AI 能力边界自动无
工作流执行器 (workflow-runner)在 AI 工具内运行多角色 YAML 工作流自动无

快速开始

方式一:npm 安装(推荐)

项目级(默认,装到当前项目):

cd /your/project
npx superpowers-zh

⚠️ 项目级安装不要在主目录(~)下跑。v1.2.1 起会拒绝并提示,老版本会把 skills 和 CLAUDE.md 等 bootstrap 文件写到你的 home 目录,污染所有项目。如已误装见下文「卸载 / 误装清理」。想让 skills 对所有项目生效,请用下面的全局安装,而不是在 ~ 下跑项目级。

全局安装(v1.7.0+,装到用户目录,所有项目共享,适合同时维护多个项目):

npx superpowers-zh --global                 # 自动检测已装工具
npx superpowers-zh --global --tool claude   # 或指定工具

全局安装把 skills 装到工具的用户级目录(如 ~/.claude/skills),一次安装所有项目自动可用,更新时也只需重装一次。项目级优先、全局兜底,二者可共存。

支持通用全局安装的工具(均为 docs 已证实的用户级加载路径):Claude Code · Codex CLI · Qoder · Windsurf · Qwen Code · OpenClaw · OpenCode。其中 Codex CLI 全局装到 ~/.agents/skills(Codex 启动扫描目录)。其余工具(Cursor / Kiro / Trae / Aider / DeerFlow / VS Code / Hermes / Claw)规则是项目级或存于应用内设置,--global 会提示改用项目级;Gemini CLI / Antigravity 有各自专属的全局方式(Gemini 走扩展目录),见对应 docs/README.*.md。

项目级(默认)全局(--global)
安装位置<项目>/.claude/skills 等~/.claude/skills 等用户级目录
生效范围仅当前项目所有项目
适合单项目、需项目内版本固定多项目、想一次装好到处可用
卸载npx superpowers-zh --uninstallnpx superpowers-zh --global --uninstall

方式二:手动安装(low-fidelity,仅作备选)

⚠️ 手动 cp -r skills 是低保版安装,不等同于完整 plugin。

superpowers-zh 是一个完整 plugin,包含:skills/(20 个能力)+ hooks/(SessionStart 钩子,让 skill 在合适时机自动触发)+ CLAUDE.md / GEMINI.md 等 bootstrap 引导文件 + 4 套 plugin manifest(Claude Code / Cursor / Codex / Marketplace)。

下面的 cp -r skills 命令只复制 skills 目录,不会自动配置 hooks、不会生成 bootstrap 引导。结果:skills 物理上存在,但 AI 不会在合适时机自动调用,需要你每次手动喊 "use brainstorming skill" 之类。

强烈推荐用方式一 npx superpowers-zh —— 它会一键处理 skills 复制 + bootstrap 生成 + hooks 配置 + 工具特定适配。仅在 npx 不可用(极端无网络环境)时才退到手动。

# 克隆仓库
git clone https://github.com/jnMetaCode/superpowers-zh.git

# 复制 skills 到你的项目(选择你使用的工具)
cp -r superpowers-zh/skills /your/project/.claude/skills      # Claude Code / Copilot CLI
cp -r superpowers-zh/skills /your/project/.hermes/skills      # Hermes Agent
cp -r superpowers-zh/skills /your/project/.cursor/skills      # Cursor
cp -r superpowers-zh/skills /your/project/.codex/skills       # Codex CLI
cp -r superpowers-zh/skills /your/project/.kiro/steering      # Kiro
cp -r superpowers-zh/skills /your/project/skills/custom       # DeerFlow 2.0
cp -r superpowers-zh/skills /your/project/.trae/rules         # Trae
cp -r superpowers-zh/skills /your/project/.agents        # Antigravity
cp -r superpowers-zh/skills /your/project/.github/superpowers # VS Code (Copilot)
cp -r superpowers-zh/skills /your/project/skills              # OpenClaw
cp -r superpowers-zh/skills /your/project/.windsurf/skills   # Windsurf
cp -r superpowers-zh/skills /your/project/.gemini/skills     # Gemini CLI
cp -r superpowers-zh/skills /your/project/.aider/skills      # Aider
cp -r superpowers-zh/skills /your/project/.opencode/skills   # OpenCode
cp -r superpowers-zh/skills /your/project/.qwen/skills       # Qwen Code
cp -r superpowers-zh/skills /your/project/.claw/skills       # Claw Code(Rust 版)
cp -r superpowers-zh/skills /your/project/.qoder/skills      # Qoder(阿里 AI IDE)

方式三:在配置文件中引用

根据你使用的工具,在对应配置文件中引用 skills:

工具配置文件说明
Claude CodeCLAUDE.md项目根目录
Copilot CLICLAUDE.md与 Claude Code 共用插件格式
Hermes AgentHERMES.md 或 .hermes.md项目根目录,安装时自动生成
Kiro.kiro/steering/*.md支持 always/globs/手动三种模式
DeerFlow 2.0skills/custom/*/SKILL.md字节跳动开源 SuperAgent,自动发现自定义 skills
Trae.trae/rules/project_rules.md项目级规则
AntigravityGEMINI.md 或 AGENTS.md项目根目录
VS Code.github/copilot-instructions.mdCopilot 自定义指令
Cursor.cursor/rules/*.md项目级规则目录
OpenClawskills/*/SKILL.md工作区级 skills 目录,自动发现
Windsurf.windsurf/skills/*/SKILL.md项目级 skills 目录
Gemini CLI.gemini/skills/*/SKILL.md项目级 skills 目录
Aider.aider/skills/*/SKILL.md项目级 skills 目录
OpenCode.opencode/skills/*/SKILL.md项目级 skills 目录
Hermes Agent.hermes/skills/*/SKILL.md项目级 skills 目录
Qwen Code.qwen/skills/*/SKILL.md项目级 skills 目录
Claw Code.claw/skills/*/SKILL.mdRust 版 CLI agent,兼容 Claude Code 的 SKILL.md 格式
Qoder.qoder/skills/*/SKILL.md + .qoder/rules/superpowers-zh.md阿里 AI IDE,自动生成 trigger: always_on 的 bootstrap rule

详细安装指南:Kiro · DeerFlow · Trae · Antigravity · VS Code · Codex · OpenCode · OpenClaw · Windsurf · Gemini CLI · Aider · Qwen Code · Hermes Agent · Qoder · CodeBuddy · 华为云码道 · Kimi Code · Pi

卸载 / 误装清理(v1.2.1+)

cd /your/project          # 或 cd ~ 如果误装到了主目录
npx superpowers-zh@latest --uninstall

会做这些:

  • 删除所有装过的 skill 目录(.claude/skills/、.trae/skills/ 等)
  • 删除独立 bootstrap 文件(.trae/rules/superpowers-zh.md、.qoder/rules/superpowers-zh.md、.agents/rules.md)
  • 清理追加到 CLAUDE.md / HERMES.md / GEMINI.md / CONVENTIONS.md 里的 superpowers-zh 段,保留你自己写的内容

数据安全说明:v1.2.1 起,安装会把追加内容包在 <!-- superpowers-zh:begin/end --> 哨兵注释之间,卸载按哨兵精确切除。识别不可靠时跳过 + 警告,绝不会误删用户内容。

其他参数:

参数用途
--tool <name>自动检测不到时显式指定(cursor / trae / hermes / 等)
--force允许在主目录(~)安装(默认拒绝,不建议)
--uninstall卸载当前目录下的 superpowers-zh
--help / --version帮助 / 版本

贡献

欢迎参与!翻译改进、新增 skills、Bug 修复都可以。

贡献方向

我们只接收符合 superpowers 定位的 skill——AI 编程工作流方法论。好的 skill 应该:

  • 教 AI 助手怎么干活,而不是某个框架/语言的教程
  • 解决上游英文版不覆盖的中国开发者痛点
  • 有明确的步骤、检查清单、示例,AI 加载后能直接执行

欢迎提 Issue 讨论你的想法!


交流 · Community

微信公众号 AI不止语 二维码
微信扫码关注

微信公众号 「AI不止语」(微信搜索 AI_BuZhiYu)— 技术问答 · 项目更新 · 实战文章

渠道加入方式
QQ 2群点击加入(群号 1071280067)
微信群关注公众号后回复「群」获取入群方式

🌟 相关项目生态

八个项目组合使用,覆盖 AI 编程 + AI 视频创作 + 桌面陪伴的完整链路。

项目定位一句话
superpowers-zh(本项目) 🧠 工作方法论20 个 skills 教 AI 怎么干活(TDD / 调试 / 代码审查等)
agency-agents-zh 🎭 专家角色库211 个即插即用 AI 专家,含 46 中国原创(小红书 / 抖音 / 飞书 / 钉钉)
agency-orchestrator🚀 编排引擎一句话 → 211 专家协作,几分钟出方案(9 家 LLM / 6 免费)
ai-coding-guide📖 实战教程66 个 Claude Code 技巧 + 9 款工具最佳实践 + 配置模板
shellward🛡️ 安全中间件8 层防御 + DLP 数据流 + 注入检测,零依赖(含 MCP Server)
🆕 ai-shortfilm-prompts🎬 视频提示词Mx-Shell《丧尸清道夫》5 段式方法论 + Skill,Seedance / 小云雀 / Sora / 可灵 / 即梦通用
🆕 local-agent-toolkit🛠️ Agent 本地三件套给 agent 配上记忆 / 技能管理 / 运行追踪,零依赖、数据不出本机;本仓库 skills 可用 npx @jnmetacode/skillet add jnMetaCode/superpowers-zh/skills/<名称> 一键安装
🆕 codepet🐾 桌面养成桌宠码宠 CodePet —— 你写代码 / 用 Claude Code,它就涨经验、升级、换状态、跳舞。全本地、隐私优先、开源

🔥 重点推荐:agency-orchestrator — 一句话调度 211 个 AI 专家协作,几分钟交付完整方案

以前写个方案:你当指挥官,把 AI 轮流扮演 5 个角色,复制粘贴 10 次,1 小时没了。

现在: 丢一句话进去 "做一个电商退款流程",产品 → 架构 → 安全 → 测试 → DBA 自动接力,几分钟完整方案落地。

  • 🎭 211+ 专家角色(含 46 个中国市场原创:小红书 / 抖音 / 微信 / 飞书 / 钉钉)
  • 🧩 零代码 YAML,一行 prompt 就能跑
  • 💰 9 家 LLM 可选(DeepSeek / Claude / OpenAI / Ollama 等,6 家免费)
  • 🔗 与 superpowers-zh 互补:本项目管"怎么做"(方法论),orchestrator 管"谁来做"(角色协作)

👉 立即体验 agency-orchestrator →


致谢


许可证

MIT License — 自由使用,商业或个人均可。


🦸 AI 编程超能力:让 Claude Code / Hermes Agent / Cursor / Claw Code / Qoder 等 20 款工具真正会干活

Star 本项目 · 提交 Issue · 贡献代码

内容与创作Agent / MCP / Skill 创作DevOps 与部署

中风险

  • 来源需自行核对维护者身份。
  • 包含脚本或命令调用,安装前请复核。
  • 可能需要外部 token、网络权限或第三方服务。
  • 未检测到高风险命令。
  • 扫描发现:2 条。

Codex — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/jnMetaCode/superpowers-zh.git
  3. 将 "skills/writing-skills" 文件夹复制到 Codex 的 skills 目录中。
  4. 重启 Codex 让新的 skill 生效。

Codex — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Codex 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Codex 让新的 skill 生效。

Claude Code — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/jnMetaCode/superpowers-zh.git
  3. 将 "skills/writing-skills" 文件夹复制到 Claude Code 的 skills 目录中。
  4. 重启 Claude Code 让新的 skill 生效。

Claude Code — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Claude Code 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Claude Code 让新的 skill 生效。

Cursor — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/jnMetaCode/superpowers-zh.git
  3. 将 "skills/writing-skills" 文件夹复制到 Cursor 的 skills 目录中。
  4. 重启 Cursor 让新的 skill 生效。

Cursor — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Cursor 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Cursor 让新的 skill 生效。

GitHub Copilot — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/jnMetaCode/superpowers-zh.git
  3. 将 "skills/writing-skills" 文件夹复制到 GitHub Copilot 的 skills 目录中。
  4. 重启 GitHub Copilot 让新的 skill 生效。

GitHub Copilot — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 GitHub Copilot 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 GitHub Copilot 让新的 skill 生效。

Windsurf — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/jnMetaCode/superpowers-zh.git
  3. 将 "skills/writing-skills" 文件夹复制到 Windsurf 的 skills 目录中。
  4. 重启 Windsurf 让新的 skill 生效。

Windsurf — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Windsurf 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Windsurf 让新的 skill 生效。
查看 SKILL.md 原文
name: writing-skills
description: 当创建新技能、编辑现有技能或在部署前验证技能是否有效时使用
version: "1.0.0"
license: MIT
metadata:
  hermes:
    tags: [skills, documentation]

编写技能

概述

编写技能就是将测试驱动开发应用于流程文档。

个人技能存放在智能体特定的目录中(Claude Code 用 ~/.claude/skills,Codex 用 ~/.agents/skills/)

你编写测试用例(带子智能体的压力场景),观察它们失败(基线行为),编写技能(文档),观察测试通过(智能体遵守规则),然后重构(堵住漏洞)。

核心原则: 如果你没有观察到智能体在没有该技能时失败,你就不知道这个技能是否教了正确的东西。

必需背景: 在使用此技能前,你必须理解 superpowers:test-driven-development。该技能定义了基本的红-绿-重构循环。本技能将 TDD 适配到文档编写中。

官方指南: Anthropic 官方的技能编写最佳实践请参见 anthropic-best-practices.md。该文档提供了补充本技能 TDD 导向方法的额外模式和指南。

什么是技能?

技能是经过验证的技术、模式或工具的参考指南。技能帮助未来的 Claude 实例找到并应用有效的方法。

技能是: 可复用的技术、模式、工具、参考指南

技能不是: 关于你某次如何解决问题的叙事

TDD 映射到技能

TDD 概念技能创建
测试用例带子智能体的压力场景
生产代码技能文档(SKILL.md)
测试失败(红)智能体在没有技能时违反规则(基线)
测试通过(绿)智能体在有技能时遵守规则
重构在保持合规的同时堵住漏洞
先写测试在编写技能之前先运行基线场景
观察失败记录智能体使用的确切合理化借口
最小代码编写针对那些具体违规行为的技能
观察通过验证智能体现在遵守规则
重构循环发现新的合理化借口 → 堵住 → 重新验证

整个技能创建过程遵循红-绿-重构。

何时创建技能

创建条件:

  • 技术对你来说不是直觉上显而易见的
  • 你会在不同项目中反复引用
  • 模式具有广泛适用性(非项目特定)
  • 其他人也会受益

不要创建:

  • 一次性解决方案
  • 其他地方有充分文档的标准实践
  • 项目特定的约定(放在 CLAUDE.md 中)
  • 机械性约束(如果可以用正则/验证强制执行,就自动化——文档留给需要判断的场景)

技能类型

技术类

有具体步骤的方法(condition-based-waiting、root-cause-tracing)

模式类

思考问题的方式(flatten-with-flags、test-invariants)

参考类

API 文档、语法指南、工具文档(office docs)

目录结构

skills/
  skill-name/
    SKILL.md              # 主参考文档(必需)
    supporting-file.*     # 仅在需要时

扁平命名空间 - 所有技能在一个可搜索的命名空间中

分离文件的情况:

  1. 大量参考内容(100+ 行)- API 文档、全面的语法说明
  2. 可复用工具 - 脚本、实用程序、模板

保持内联:

  • 原则和概念
  • 代码模式(< 50 行)
  • 其他所有内容

SKILL.md 结构

Frontmatter(YAML):

  • 两个必需字段:name 和 description(完整支持字段参见 agentskills.io/specification)
  • 总计最多 1024 字符
  • name:只使用字母、数字和连字符(不要用括号、特殊字符)
  • description:第三人称,仅描述何时使用(不是做什么)
    • 以"Use when..."开头,聚焦于触发条件
    • 包含具体的症状、场景和上下文
    • 绝不总结技能的流程或工作流(参见 CSO 章节了解原因)
    • 尽量控制在 500 字符以内
---
name: Skill-Name-With-Hyphens
description: Use when [具体的触发条件和症状]
---

# 技能名称

## 概述
这是什么?用 1-2 句话说明核心原则。

## 何时使用
[如果决策不明显,使用小型内联流程图]

症状和用例的要点列表
不适用的场景

## 核心模式(技术/模式类)
前后代码对比

## 快速参考
用于快速浏览常见操作的表格或要点

## 实现
简单模式内联代码
大量参考或可复用工具链接到文件

## 常见错误
常见问题 + 修复方法

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

Claude 搜索优化(CSO)

发现至关重要: 未来的 Claude 需要找到你的技能

1. 丰富的描述字段

目的: Claude 读取描述来决定为当前任务加载哪些技能。让它能回答:"我现在应该读这个技能吗?"

格式: 以"Use when..."开头,聚焦于触发条件

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

描述应该只描述触发条件。不要在描述中总结技能的流程或工作流。

为什么这很重要: 测试表明,当描述总结了技能的工作流时,Claude 可能会跟随描述而非阅读完整的技能内容。一个写着"任务间进行代码审查"的描述导致 Claude 只做了一次审查,尽管技能的流程图清楚地展示了两次审查(先规格合规再代码质量)。

当描述改为仅"在当前会话中执行包含独立任务的实现计划时使用"(无工作流摘要)时,Claude 正确地阅读了流程图并遵循了两阶段审查流程。

陷阱: 总结工作流的描述创建了 Claude 会走的捷径。技能正文变成了 Claude 跳过的文档。

# 错误:总结了工作流 - Claude 可能会跟随描述而非阅读技能
description: Use when executing plans - dispatches subagent per task with code review between tasks

# 错误:流程细节太多
description: Use for TDD - write test first, watch it fail, write minimal code, refactor

# 正确:只有触发条件,无工作流摘要
description: Use when executing implementation plans with independent tasks in the current session

# 正确:仅触发条件
description: Use when implementing any feature or bugfix, before writing implementation code

内容:

  • 使用具体的触发条件、症状和场景来表明此技能适用
  • 描述问题(竞态条件、行为不一致)而非语言特定的症状(setTimeout、sleep)
  • 保持触发条件技术无关,除非技能本身是技术特定的
  • 如果技能是技术特定的,在触发条件中明确说明
  • 用第三人称写(注入到系统提示中)
  • 绝不总结技能的流程或工作流
# 错误:太抽象、模糊,未包含何时使用
description: For async testing

# 错误:第一人称
description: I can help you with async tests when they're flaky

# 错误:提到了技术但技能并非该技术特定的
description: Use when tests use setTimeout/sleep and are flaky

# 正确:以"Use when"开头,描述问题,无工作流
description: Use when tests have race conditions, timing dependencies, or pass/fail inconsistently

# 正确:技术特定的技能带有明确的触发条件
description: Use when using React Router and handling authentication redirects

2. 关键词覆盖

使用 Claude 会搜索的词语:

  • 错误信息:"Hook timed out"、"ENOTEMPTY"、"race condition"
  • 症状:"flaky"、"hanging"、"zombie"、"pollution"
  • 同义词:"timeout/hang/freeze"、"cleanup/teardown/afterEach"
  • 工具:实际命令、库名称、文件类型

3. 描述性命名

使用主动语态,动词优先:

  • ✅ creating-skills 而非 skill-creation
  • ✅ condition-based-waiting 而非 async-test-helpers

4. Token 效率(关键)

问题: getting-started 和频繁引用的技能会加载到每个对话中。每个 token 都很重要。

目标字数:

  • getting-started 工作流:每个 <150 词
  • 频繁加载的技能:总计 <200 词
  • 其他技能:<500 词(仍要简洁)

技巧:

将细节移到工具帮助中:

# 错误:在 SKILL.md 中列出所有参数
search-conversations supports --text, --both, --after DATE, --before DATE, --limit N

# 正确:引用 --help
search-conversations 支持多种模式和过滤器。运行 --help 查看详情。

使用交叉引用:

# 错误:重复工作流细节
搜索时,用模板分派子智能体……
[20 行重复的说明]

# 正确:引用其他技能
始终使用子智能体(节省 50-100 倍上下文)。必需:使用 [other-skill-name] 工作流。

压缩示例:

# 错误:冗长的示例(42 词)
你的搭档:"我们之前是怎么处理 React Router 中的认证错误的?"
你:我来搜索过去对话中的 React Router 认证模式。
[用搜索查询分派子智能体:"React Router authentication error handling 401"]

# 正确:精简的示例(20 词)
搭档:"我们之前是怎么处理 React Router 中的认证错误的?"
你:正在搜索……
[分派子智能体 → 整合]

消除冗余:

  • 不要重复交叉引用的技能中已有的内容
  • 不要解释从命令中就能看出的东西
  • 不要为同一模式提供多个示例

验证:

wc -w skills/path/SKILL.md
# getting-started 工作流:目标 <150 每个
# 其他频繁加载的:目标总计 <200

用你做的事或核心洞察来命名:

  • ✅ condition-based-waiting > async-test-helpers
  • ✅ using-skills 而非 skill-usage
  • ✅ flatten-with-flags > data-structure-refactoring
  • ✅ root-cause-tracing > debugging-techniques

动名词(-ing)适合描述流程:

  • creating-skills、testing-skills、debugging-with-logs
  • 主动的,描述你正在进行的操作

4. 交叉引用其他技能

编写引用其他技能的文档时:

仅使用技能名称,带有明确的必需标记:

  • ✅ 好的:**必需子技能:** 使用 superpowers:test-driven-development
  • ✅ 好的:**必需背景:** 你必须理解 superpowers:systematic-debugging
  • ❌ 差的:参见 skills/testing/test-driven-development(不清楚是否必需)
  • ❌ 差的:@skills/testing/test-driven-development/SKILL.md(强制加载,浪费上下文)

为什么不用 @ 链接: @ 语法会立即强制加载文件,在你需要之前就消耗 200k+ 的上下文。

流程图使用

digraph when_flowchart {
    "需要展示信息?" [shape=diamond];
    "我可能在决策中犯错?" [shape=diamond];
    "使用 markdown" [shape=box];
    "小型内联流程图" [shape=box];

    "需要展示信息?" -> "我可能在决策中犯错?" [label="是"];
    "我可能在决策中犯错?" -> "小型内联流程图" [label="是"];
    "我可能在决策中犯错?" -> "使用 markdown" [label="否"];
}

仅在以下情况使用流程图:

  • 非显而易见的决策点
  • 你可能过早停止的流程循环
  • "何时使用 A vs B"的决策

绝不使用流程图用于:

  • 参考资料 → 表格、列表
  • 代码示例 → Markdown 代码块
  • 线性指令 → 编号列表
  • 无语义意义的标签(step1、helper2)

参见 @graphviz-conventions.dot 了解 graphviz 样式规则。

为你的搭档可视化: 使用此目录中的 render-graphs.js 将技能的流程图渲染为 SVG:

./render-graphs.js ../some-skill           # 每个图表分别渲染
./render-graphs.js ../some-skill --combine # 所有图表合并为一个 SVG

代码示例

一个优秀的示例胜过多个平庸的

选择最相关的语言:

  • 测试技术 → TypeScript/JavaScript
  • 系统调试 → Shell/Python
  • 数据处理 → Python

好的示例:

  • 完整可运行
  • 注释良好,解释为什么
  • 来自真实场景
  • 清晰展示模式
  • 可以直接适配(不是通用模板)

不要:

  • 用 5 种以上语言实现
  • 创建填空模板
  • 写人为构造的示例

你擅长语言移植——一个优秀的示例就够了。

文件组织

自包含技能

defense-in-depth/
  SKILL.md    # 所有内容内联

适用场景:所有内容都能放下,无需大量参考

带可复用工具的技能

condition-based-waiting/
  SKILL.md    # 概述 + 模式
  example.ts  # 可适配的工作代码

适用场景:工具是可复用的代码,不只是叙述

带大量参考的技能

pptx/
  SKILL.md       # 概述 + 工作流
  pptxgenjs.md   # 600 行 API 参考
  ooxml.md       # 500 行 XML 结构
  scripts/       # 可执行工具

适用场景:参考资料太多无法内联

铁律(与 TDD 相同)

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

这适用于新技能和对现有技能的编辑。

先写技能再测试?删掉它。重新开始。 编辑技能不测试?同样违规。

无例外:

  • 不适用于"简单的添加"
  • 不适用于"只是加一个章节"
  • 不适用于"文档更新"
  • 不要保留未测试的更改作为"参考"
  • 不要在运行测试时"调整"
  • 删除就是删除

必需背景: superpowers:test-driven-development 技能解释了为什么这很重要。相同的原则适用于文档。

测试所有技能类型

不同类型的技能需要不同的测试方法:

纪律执行类技能(规则/要求)

例如: TDD、完成前验证、编码前设计

测试方式:

  • 学术性问题:它们理解规则吗?
  • 压力场景:它们在压力下遵守吗?
  • 多重压力组合:时间 + 沉没成本 + 疲惫
  • 识别合理化借口并添加明确的反驳

成功标准: 智能体在最大压力下遵循规则

技术类技能(操作指南)

例如: condition-based-waiting、root-cause-tracing、defensive-programming

测试方式:

  • 应用场景:它们能正确应用技术吗?
  • 变体场景:它们能处理边界情况吗?
  • 缺失信息测试:说明是否有遗漏?

成功标准: 智能体成功将技术应用于新场景

模式类技能(心智模型)

例如: reducing-complexity、information-hiding 概念

测试方式:

  • 识别场景:它们能识别模式何时适用吗?
  • 应用场景:它们能使用心智模型吗?
  • 反例:它们知道何时不应用吗?

成功标准: 智能体正确识别何时/如何应用模式

参考类技能(文档/API)

例如: API 文档、命令参考、库指南

测试方式:

  • 检索场景:它们能找到正确的信息吗?
  • 应用场景:它们能正确使用找到的内容吗?
  • 覆盖测试:常见用例是否都涵盖了?

成功标准: 智能体找到并正确应用参考信息

跳过测试的常见合理化借口

借口现实
"技能显然很清晰"对你清晰 ≠ 对其他智能体清晰。测试它。
"这只是参考资料"参考资料可能有遗漏、不清楚的地方。测试检索。
"测试太过了"未测试的技能总有问题。15 分钟测试省下数小时。
"有问题再测试"问题 = 智能体无法使用技能。在部署前测试。
"测试太繁琐"测试比在生产中调试坏技能少繁琐得多。
"我有信心它很好"过度自信保证出问题。无论如何都要测试。
"学术审查就够了"阅读 ≠ 使用。测试应用场景。
"没时间测试"部署未测试的技能比后面修复浪费更多时间。

以上所有都意味着:部署前测试。无例外。

让技能经受住合理化的考验

执行纪律的技能(如 TDD)需要抵抗合理化。智能体很聪明,在压力下会找到漏洞。

心理学说明: 理解说服技巧为什么有效有助于你系统性地应用它们。参见 persuasion-principles.md 了解研究基础(Cialdini, 2021; Meincke et al., 2025),涵盖权威、承诺、稀缺、社会认同和归属原则。

明确堵住每个漏洞

不要只是陈述规则——禁止具体的变通方法:

```markdown 先写代码再写测试?删掉它。 ``` ```markdown 先写代码再写测试?删掉它。重新开始。

无例外:

  • 不要保留作为"参考"
  • 不要在写测试时"调整"它
  • 不要看它
  • 删除就是删除
</Good>

### 应对"精神 vs 字面"的辩论

在前面加入基础原则:

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

这切断了整类"我遵循的是精神"的合理化借口。

构建合理化借口表

从基线测试中捕获合理化借口(参见下方测试章节)。智能体使用的每个借口都进入表中:

| 借口 | 现实 |
|------|------|
| "太简单不值得测试" | 简单的代码也会出错。测试只需 30 秒。 |
| "我后面再测试" | 测试立即通过什么也证明不了。 |
| "后写测试效果一样" | 后写测试 = "这做了什么?" 先写测试 = "这应该做什么?" |

创建红线列表

让智能体容易自查是否在合理化:

## 红线 - 停下来重新开始

- 先写代码再写测试
- "我已经手动测试过了"
- "后写测试效果一样"
- "重要的是精神不是仪式"
- "这个情况不同,因为……"

**以上所有都意味着:删除代码。用 TDD 重新开始。**

更新 CSO 以包含违规症状

在描述中添加:你即将违反规则时的症状:

description: use when implementing any feature or bugfix, before writing implementation code

技能的红-绿-重构

遵循 TDD 循环:

红:编写失败的测试(基线)

在没有技能的情况下运行压力场景。逐字记录行为:

  • 它们做了什么选择?
  • 它们使用了什么合理化借口(原文)?
  • 哪些压力触发了违规?

这就是"观察测试失败"——在编写技能之前你必须看到智能体自然会怎么做。

绿:编写最小技能

编写针对那些具体合理化借口的技能。不要为假设情况添加额外内容。

用技能运行相同的场景。智能体应该现在遵守。

重构:堵住漏洞

智能体找到了新的合理化借口?添加明确的反驳。重新测试直到无懈可击。

测试方法论: 参见 @testing-skills-with-subagents.md 了解完整的测试方法:

  • 如何编写压力场景
  • 压力类型(时间、沉没成本、权威、疲惫)
  • 系统地堵住漏洞
  • 元测试技巧

反模式

叙事式示例

"在 2025-10-03 的会话中,我们发现空的 projectDir 导致了……" 为什么不好: 太具体,不可复用

多语言稀释

example-js.js、example-py.py、example-go.go 为什么不好: 质量平庸,维护负担重

流程图中的代码

step1 [label="import fs"];
step2 [label="read file"];

为什么不好: 无法复制粘贴,难以阅读

通用标签

helper1、helper2、step3、pattern4 为什么不好: 标签应有语义意义

停下:进入下一个技能之前

编写任何技能后,你必须停下来完成部署流程。

不要:

  • 批量创建多个技能而不逐个测试
  • 在当前技能验证前就进入下一个
  • 因为"批量处理更高效"就跳过测试

下面的部署清单对每个技能都是强制性的。

部署未测试的技能 = 部署未测试的代码。这是对质量标准的违反。

技能创建清单(TDD 适配版)

重要:使用 TodoWrite 为下面的每个清单项创建待办。

红色阶段 - 编写失败的测试:

  • 创建压力场景(纪律类技能需 3 个以上组合压力)
  • 在没有技能的情况下运行场景 - 逐字记录基线行为
  • 识别合理化借口中的模式

绿色阶段 - 编写最小技能:

  • 名称只使用字母、数字、连字符(无括号/特殊字符)
  • YAML frontmatter 包含必需的 name 和 description 字段(最多 1024 字符;参见 spec)
  • 描述以"Use when..."开头并包含具体的触发条件/症状
  • 描述用第三人称
  • 全文包含搜索关键词(错误、症状、工具)
  • 带有核心原则的清晰概述
  • 解决红色阶段识别出的具体基线失败
  • 代码内联或链接到独立文件
  • 一个优秀的示例(非多语言)
  • 用技能运行场景 - 验证智能体现在遵守

重构阶段 - 堵住漏洞:

  • 从测试中识别新的合理化借口
  • 添加明确的反驳(纪律类技能)
  • 从所有测试迭代中构建合理化借口表
  • 创建红线列表
  • 重新测试直到无懈可击

质量检查:

  • 仅在决策不明显时使用小流程图
  • 快速参考表
  • 常见错误章节
  • 无叙事性故事
  • 支持文件仅用于工具或大量参考

部署:

  • 将技能提交到 git 并推送到你的 fork(如果已配置)
  • 考虑通过 PR 贡献回去(如果具有广泛用途)

发现工作流

未来的 Claude 如何找到你的技能:

  1. 遇到问题("测试不稳定")
  2. 找到技能(描述匹配)
  3. 浏览概述(这相关吗?)
  4. 阅读模式(快速参考表)
  5. 加载示例(仅在实现时)

为此流程优化 - 把可搜索的术语放在前面和各处。

总结

创建技能就是流程文档的 TDD。

同样的铁律:没有失败的测试就不写技能。 同样的循环:红(基线)→ 绿(写技能)→ 重构(堵漏洞)。 同样的好处:更高的质量、更少的意外、无懈可击的结果。

如果你对代码遵循 TDD,对技能也应如此。这是同样的纪律应用于文档。

发现问题?提交给管理员复核

评分:

评论 (0)

暂无评论,成为第一个评论者吧!