Claude Code Skills 建立完全教学:从零打造你的 AI 自动化指令
手把手教你建立 Claude Code Skills(Slash Commands),涵盖 SKILL.md 写法、触发条件设计、参数处理、测试优化,附完整范例和最佳实践。
最后更新:2026-05-26
目录
1. 什么是 Claude Code Skills?
Skills(也叫 Slash Commands)是 Claude Code 的自订指令系统。你可以把常用的工作流程封装成一个指令,之后只需要输入 /指令名 就能触发整套流程。例如 /deploy 一键部署、/test 自动跑测试、/translate 自动翻译——这些都是 Skills。
-
本质:一个 Markdown 档案(Skill.Md),里面写好 Claude 要执行的步骤和规则
-
触发方式:在 Claude Code 中输入 /Skill-Name 或自然语言触发(如果描述写得好)
-
存放位置:.Claude/Skills/{Skill-Name}/Skill.Md
-
作用范围:跟着 Git 专案走,团队成员 Clone 后自动拥有所有 Skills
2. 第一个 Skill:5 分钟建立 Hello World
让我们从最简单的 Skill 开始,建立一个自动产出每日工作摘要的指令。
-
Step 1 — 建立目录:Mkdir -P .Claude/Skills/Daily-Summary
-
Step 2 — 建立 Skill.Md:在该目录下建立 Skill.Md 档案
-
Step 3 — 写入基本结构:Frontmatter(---)包含 Name 和 Description,下方写执行指令
-
Step 4 — 测试:在 Claude Code 中输入 /Daily-Summary,确认 Skill 被正确触发
-
Step 5 — 迭代:根据实际使用体验调整指令内容
3. SKILL.md 的完整结构解析
SKILL.md 由两个部分组成:frontmatter(元资料)和 body(执行指令)。以下逐一解析。
-
Name(必填):Skill 的识别名称,用 Kebab-Case。例如 Run-Tests、Check-Seo
-
Description(必填):触发描述。 Claude 根据这段文字判断是否自动触发。写得越精确,误触发越少
-
Argument_Hints(选填):参数提示。例如 '<Module> [--Coverage]' 提示使用者可以传什么参数
-
Allowed_Tools(选填):限制 Skill 可使用的工具。例如只允许 Read 和 Bash,不允许 Write
-
Body(必填):Skill 的主体——Claude 要执行的完整指令。可以包含步骤、规则、范例、检查点
小提示
- description 是最重要的栏位——它决定了 Skill 会不会在正确的时机被触发
- body 写得越具体越好。不要写「跑测试」,要写「在 wagtail_multisite/ 目录下用 pytest 跑测试,USE_SQLITE=true」
4. description 怎么写?触发条件设计
description 不只是说明文字,它是 Claude 判断「什么时候该触发这个 Skill」的依据。写好 description 是设计 Skill 最关键的一步。
-
明确触发词:列出使用者可能会说的关键字。例如「当使用者提到 Qa、测试、品质检查、跑测试 时触发」
-
排除条件:说明什么情况不要触发。例如「Do Not Trigger When: 只是讨论测试概念而非实际要跑测试」
-
情境描述:说明 Skill 的适用场景。例如「适合在提交 Pr 前跑一次确认品质」
-
范例触发语句:列出 2-3 个触发范例,帮助 Claude 更准确地判断
小提示
- 如果 Skill 经常误触发,加入更多 DO NOT TRIGGER 条件
- 如果 Skill 不容易被触发,加入更多触发关键字和范例语句
5. body 怎么写?执行指令设计
body 是 Skill 的核心,决定了 Claude 实际会做什么。好的 body 要像一份详细的 SOP。
-
明确的步骤顺序:用 Step 1、Step 2 或 ## 标题分段,Claude 会按顺序执行
-
具体的指令:不要写「跑测试」,要写「Cd Wagtail_Multisite && Use_Sqlite=True Python -M Pytest Tests/ -V」
-
错误处理:说明失败时怎么办。例如「如果测试失败,列出失败的测试名称和错误讯息,不要自动修复」
-
检查点:每个步骤完成后要确认什么。例如「确认所有 Json 验证通过后才进入翻译步骤」
-
输出格式:定义最终产出的格式,例如「用表格列出结果」「产出 Markdown 报告」
-
参数处理:用 Arguments 占位符接收使用者传入的参数
6. 实战:建立一个 QA 测试 Skill
以下是一个完整的 QA 测试 Skill 范例,你可以直接复制修改。
-
名称:Qa-Check
-
用途:根据最近的程式码变更,自动跑针对性测试 + Smoke Test
-
触发条件:使用者提到 Qa、测试、品质检查、跑测试
-
执行流程:1. 用 Git Diff 找出最近修改的档案 → 2. 根据修改范围决定跑哪些测试模组 → 3. 执行 Pytest → 4. 产出测试报告
-
参数支援:/Qa-Check Calculator 只跑计算工具的测试
-
错误处理:测试失败时列出详细资讯,不自动修复
7. 进阶技巧:让 Skill 更强大
掌握基础后,以下进阶技巧能让你的 Skill 更实用。
-
多步骤管道(Pipeline):一个 Skill 串联多个步骤。例如 /Content-Pipeline 依序执行建立、翻译、Seo 检查
-
条件分支:根据参数或环境决定执行路径。例如 --Dry-Run 只显示计画不实际执行
-
记忆与状态:Skill 可以读写特定目录下的档案来保存状态。例如发文记录、上次执行结果
-
跨 Skill 引用:一个 Skill 的 Body 中可以引用其他 Skill 的逻辑,建立组合式工作流
-
Allowed_Tools 限制:安全性要求高的 Skill,限制只能使用特定工具,避免误操作
-
脚本整合:Skill 中呼叫专案的自动化脚本(如 ./Scripts/Run_Tests.Sh),而非直接写长指令
8. 常见错误与除错
建立 Skill 时最常遇到的问题和解决方法。
-
Skill 没被触发:Description 的关键字不够明确。加入更多触发词和范例语句
-
Skill 误触发:Description 太宽泛。加入 Do Not Trigger 排除条件
-
执行结果不如预期:Body 的指令不够具体。把「跑测试」改成完整的指令路径和参数
-
Skill 执行到一半停下:Body 中缺少错误处理。加入「如果 X 失败,则执行 Y」的逻辑
-
团队成员看不到 Skill:确认 .Claude/Skills/ 目录已加入 Git 并推送
-
Skill 太长太复杂:拆成多个小 Skill,或用脚本封装复杂逻辑,Skill 只负责呼叫脚本
9. 团队 Skill 管理最佳实践
当团队有越来越多 Skill 时,需要好的管理策略。
-
命名规范:用统一的命名风格。建议 动词-名词 格式,如 Run-Tests、Check-Seo、Add-Article
-
文件化:在 Claude.Md 中维护 Skill 清单和使用说明,新成员可以快速上手
-
版本控制:Skill 跟程式码一起用 Git 管理,Pr Review 时也 Review Skill 的变更
-
定期清理:删除不再使用的 Skill,避免累积无用指令造成混淆
-
共用 Vs 个人:团队共用的 Skill 放在专案的 .Claude/Skills/,个人的放在 ~/.Claude/Skills/
-
效能监测:用 /Skill-Creator 测试和优化 Skill 的触发准确度和执行效率
重点整理
- 1 Skills 是 Claude Code 的自订指令系统,用 /指令名 就能触发预设好的复杂工作流程
- 2 每个 Skill 只需要一个 SKILL.md 档案,定义名称、触发描述和执行指令
- 3 好的 Skill 能把 30 分钟的重复工作压缩到一句指令,是团队效率的倍增器
- 4 本教学从零开始,带你完成第一个 Skill 的建立、测试和优化
相关连结
相关懒人包
一般声明
本站提供之资讯仅供参考,不保证其完整性与正确性。使用者应自行判断资讯之适用性。