暂无菜单项

如何编写第一个Claude Code Skill

发布于 更新于
12

如果你准备写第一个 Claude Code Skill,最容易踩的坑不是语法,而是先把 Codex 的目录、命名和调用方式拿来套。Claude Code 的 Skill 结构有自己的一套规则:入口文件仍然是 SKILL.md,但默认目录是 ~/.claude/skills/ 或项目内 .claude/skills/,而且通过 YAML frontmatter 决定何时自动触发。把这层边界弄清楚,第一次上手其实并不难。

核心结论:先做一个最小可用 Skill,再逐步扩展

第一个 Claude Code Skill 最好只解决一个清楚任务,例如“总结改动”“准备发布说明”“检查 PR 风险”。官方文档明确要求 Skill 目录里有 SKILL.md,其中前半部分是 YAML frontmatter,至少写清 description;后半部分才是具体指令。你不需要一开始就加上脚本、子代理、复杂前言字段,先把一个最小闭环跑通最重要。

适用人群与准备条件

这篇文章适合已经在用 Claude Code、想把重复操作沉淀成命令的人,也适合从别的平台迁移过来、需要先理解目录和作用域差异的用户。准备条件很简单:确认你能访问 ~/.claude/skills/ 或项目内 .claude/skills/,并且知道这份 Skill 只想给自己用,还是想随仓库一起共享给团队。

第一个最小目录应该长什么样

.claude/
  skills/
    summarize-changes/
      SKILL.md

根据官方文档,目录名会变成你输入的命令名,description 则帮助 Claude 判断何时自动加载。一个最小可用的 SKILL.md 可以是:

---
description: 当用户要求总结当前代码改动、整理提交说明或生成变更摘要时使用
---

读取当前改动,按“改了什么、为什么改、需要注意什么”三个部分输出摘要。

实际使用示例

假设你正在整理一次前端提交,平时总要反复解释“先看改动、再归纳影响、最后给出简洁摘要”。这时就可以把这套固定流程做成 summarize-changes Skill。项目级放法是 .claude/skills/summarize-changes/SKILL.md,个人级放法是 ~/.claude/skills/summarize-changes/SKILL.md。如果它只是当前仓库规范,放项目目录更合适;如果它是你所有项目都会用到的习惯,就放个人目录。

Claude Code 的层级规则要先记住

官方文档说明,Claude Code 的同名 Skill 存在明确覆盖关系:企业级覆盖个人级,个人级覆盖项目级;插件 Skill 使用 plugin-name:skill-name 命名空间,因此不会和普通层级直接冲突。也就是说,当你发现“明明改了项目里的 Skill,结果调用的还是旧版本”时,首先要检查是不是上层目录已经有同名 Skill 抢先生效。

常见错误、限制和避坑

  • 把 Codex 的 .agents/skills 当成 Claude Code 的目录来用。
  • description 写得太宽,结果模型在不该触发时也加载它。
  • 一开始就把 Skill 做成大杂烩,导致后面难维护。
  • 项目和个人目录里放了同名 Skill,却没意识到存在覆盖关系。

最后建议:先小范围试运行,再放大

无论你现在看到的是概念解释、目录结构、安装方法还是排查思路,真正落地时都建议先选一个低风险、小范围、可回滚的任务试运行。先把输入样本、执行步骤、关键命令、最终结果和失败情况记录下来,再回头看哪些规则是稳定的、哪些描述还太宽、哪些动作应该交给脚本或工具。这样做的好处是,你不会因为第一次就追求完整而把流程做得过重,也不会在边界还没摸清时过早共享给团队。

如果试运行期间仍然需要频繁口头补充,说明这部分知识还没有真正沉淀进正文。等一次小范围试运行已经能稳定复现同样结果,再把它扩展到更多目录、更多同事或更多系统,并补上禁用、回滚、验收和来源更新规则。对 Skill、MCP 和自动化来说,最省时间的路线通常不是一开始就做大,而是先做小、做稳、保留证据,再逐步放权。

如果你准备把第一版给同事试用,最好再配一个“应该触发”和“不要触发”的示例提示。这样你一方面能验证 description 是否收得够窄,另一方面也能更快判断这份最小 Skill 是否已经到了可共享的程度。

相关阅读

总结

写第一个 Claude Code Skill,关键不是追求复杂,而是先用正确目录放好 SKILL.md,用清楚的 description 缩小触发范围,再让正文只解决一个明确任务。把最小闭环跑通后,再继续加脚本、模板或更细的前言字段,会稳得多。

常见问题(FAQ)

第一个 Claude Code Skill 应该放项目目录还是用户目录?
看作用域。项目专用流程放 `.claude/skills/`,个人跨项目习惯放 `~/.claude/skills/`。
Skill 会不会替代 CLAUDE.md?
不会。CLAUDE.md 更适合长期常驻的项目背景与规则,Skill 更适合按需加载的特定流程。
第一次写 Skill 一定要带脚本吗?
不一定。官方也建议先从说明型 Skill 开始,只有当脚本能明显提升稳定性时再加。
0 讨论
热门最新
总结
暂无总结
0 / 600
嗨,下午好!
所有的成功,都源自一个勇敢的开始