跳转到内容

自定义 Skills:把重复活变成一行召唤

📍 进阶 9/10 · 上一篇:← Slash Commands 全清单

⚠️ 前置门槛提醒:这一篇会出现一点 markdown 语法(写标题用 #、写列表用 -)。如果你完全没接触过 markdown,建议先跳过这一篇,等读完前面 8 篇 + 在 Claude Code 里写过几次对话(那时你已经天然熟悉 markdown 了)再回来。文章中会有一段 5 行的 markdown 速查,完全没接触过的人能跟上。

机器人厨师从架子上拿出预制菜盒,准备热一份饭

你每周一写一份周报给老板。每次都跟 Claude 说类似的话:

“帮我写本周周报,要求:

  • 重点先讲完成的 3 件最大的事
  • 每件事写「完成了什么 / 用了多少时间 / 下周计划」
  • 风格:克制、不夸张、动词起头
  • 不要写「我有幸」、「致力于」这种虚词
  • 总长不超过 500 字
  • 素材在 ~/Documents/工作日志/ 这个目录”

说了 5 个星期,5 次都是同一段。每次复制粘贴你都觉得自己像复读机

疲惫的人在工位上反复打同一段 prompt

Skill 就是为这个而生:把上面那一大段打包成一个文件,以后只要说「帮我写本周周报」或者甚至「该写周报了」,Claude 自动找到这个 Skill,按里面定义的流程跑。

Skill 是什么:跟 slash command 有什么区别

Section titled “Skill 是什么:跟 slash command 有什么区别”

左 命令需要手动调用,右 自动召唤

很多人会问——「上一篇讲的 custom slash command 也是 markdown 文件,跟 Skill 有啥不一样?」

Slash CommandSkill
调用方式手动/xxxClaude 自动判断 是否使用
触发条件你打了那个命令Claude 看到相关意图(比如你说「该写周报了」)
典型形态简单指令包装完整工作流(可调工具、读文件、跑命令)
适合谁记得用它的场景Claude 主动认出该用的场景

类比:

  • Slash command = 微波炉上的「快速加热」按钮——你按它才热
  • Skill = 智能厨房——你说「我饿了」,它自动给你出一份合适的饭

简单来说:slash command 是手动调用 + 简单指令 / Skill 是自动召唤 + 完整工作流

新手第一年用 slash command 就够了;当你发现某些场景你自己都记不住用什么命令、但希望 Claude 自动想起来的时候——就该写 Skill 了。

一份 Skill 文件的截图示意,标注 3 个区段

一个 Skill 就是一个 markdown 文件,结构 3 部分:

---
name: weekly-report
description: 写本周周报,适用于「周报 / 周总结 / 这周做了什么」类请求
---
# 写本周周报
请按以下规则帮我写本周周报:
## 风格
- 克制、不夸张
- 动词起头(❌ 我有幸 / 我致力于 → ✅ 完成了 / 上线了)
- 总长不超过 500 字
## 内容结构
1. 完成的 3 件最大的事(每件:完成了什么 / 用了多少时间 / 下周计划)
2. 遇到的卡点 + 我准备怎么解决
3. 下周重点
## 素材来源
读 ~/Documents/工作日志/ 这个目录下本周的 .md 文件。

3 个核心部分:

---
name: weekly-report
description: 写本周周报,适用于「周报 / 周总结 / 这周做了什么」类请求
---
  • name:这个 Skill 的唯一标识(英文,小写,横线分隔)
  • description:这是最关键的字段——Claude 用它判断「这次请求要不要用这个 Skill」。写得越具体,触发越精准

直接写你要 Claude 怎么干——风格、结构、素材来源、注意事项,全部用人话说清楚。就当你在跟一个新员工交代任务

进阶用法——你可以在 Skill 里指定它该调用哪些工具(读文件 / 跑命令 / 调用外部 API)。新手第一年不用

5 行 markdown 速查(没接触过的可以跟上)

Section titled “5 行 markdown 速查(没接触过的可以跟上)”

如果你完全没接触过 markdown,看这 5 条就能写 Skill:

你想要写法
一级标题# 标题
二级标题## 副标题
列表- 第一条
加粗**这段加粗**
代码块三个反引号包起来(就像这一段)

这 5 条 已经能写 95% 的 Skill。剩下的需要时再查

挑一个你这一个月让 Claude 做过 3 次以上同样指令的活。常见的:

  • 写周报 / 月报
  • 改简历(每次都那几条风格规则)
  • 整理发票录入 Excel
  • 写邮件回复(中文 / 英文)
  • code review(找这几类问题)

第一次写,挑一个最简单的。先体验「写好之后召唤一次成功」的爽。

Terminal window
mkdir -p ~/.claude/skills
nano ~/.claude/skills/weekly-report.md

把上面的模板内容粘进去,改成你的实际指令。

Terminal window
mkdir -p .claude/skills
nano .claude/skills/deploy-staging.md

放在你当前项目的根目录下。

节奏建议:

  • 跨项目通用(写周报、改简历)→ 全局级
  • 项目特定(部署 / 测试 / 这个项目的 commit 规范)→ 项目级

Step 3:重启 Claude Code 或 /skill reload

Section titled “Step 3:重启 Claude Code 或 /skill reload”

新写的 Skill 不会自动加载,你需要:

/skill reload

或者干脆关掉 Claude Code 重开

新开一个对话,说类似这样:

“该写周报了。”

或者:

“本周做了哪些事?帮我整理一下给老板。”

Claude 应该自动召唤刚才写的 weekly-report Skill——你会看到它读了你的工作日志目录,按你定的格式写,风格符合你的要求

第一次跑通的爽感——你会立刻明白这一篇为什么值得读。

Claude 看到请求,自动从架上拿对应的 Skill

Claude 不会扫描你 Skill 的全部内容(那样太烧 token)——它只读 description 字段

所以:description 写得好 = Skill 召唤准 + 不召唤错

写 description 的 3 条原则:

❌ 不好的描述:

“用来生成报告。”

✅ 好的描述:

“写本周周报。适用于「周报 / 周总结 / 这周做了什么 / 该交报告了」类请求。”

用户可能说的触发词全列出来——Claude 看到这些词就会想到这个 Skill。

❌ 不好的描述:

“改简历。”

✅ 好的描述:

“按特定风格修改简历。适用于「改简历 / 简历润色 / 加强简历」请求。如果是写新简历或重新组织结构,不适用此 Skill。”

说清楚什么时候用、什么时候不用——避免 Claude 误召唤。

太短 → 触发不准 太长 → 浪费 context

两个人通过 git 仓库共享 Skill 文件夹

Skill 本质上就是一个 markdown 文件,可以像普通代码一样 git 管理 / 分享

方法 1:项目级 Skills 跟代码一起走

Section titled “方法 1:项目级 Skills 跟代码一起走”
Terminal window
# 在你的项目根目录
git add .claude/skills/
git commit -m "Add team skills"
git push

队友 pull 代码后,自动获得整套项目 Skills。一致性立马拉满。

方法 2:个人 Skills 库做成单独 repo

Section titled “方法 2:个人 Skills 库做成单独 repo”
Terminal window
# 用 git 仓库管理你的全局 Skills
cd ~/.claude/skills
git init
git remote add origin [email protected]:你的账号/my-claude-skills.git
git push -u origin main

换电脑时:git clone 一下,你的所有 Skill 立刻全在新机器上

如果你写了一个特别好用的 Skill 想分享给社区,把它发成 gist,别人 wget 一下放到自己目录就能用。

下面 5 个是社区里反响最好的 Skill 类型,可以照抄改你自己的:

Skill 名一句话作用
weekly-report按特定风格写周报
improve-resume改简历(动词起头 / 数据具体 / 删虚词)
email-reply写邮件回复(中英文 + 三种语气)
code-review自动 review 当前的 git diff(找 bug / 性能 / 风格问题)
commit-message看一下当前的 staged changes,写一条好的 commit message

每个都是「这事我每周都做 3-5 次」级别的频率,Skill 化收益最大。

❌ 坑 1:description 写得太宽泛,被误召唤

Section titled “❌ 坑 1:description 写得太宽泛,被误召唤”

description: “写文档。”

踩坑:Claude 看到任何「写一段话」的请求都会召唤这个 Skill,把不相关的请求按周报格式写

修正:精确描述用途 + 列出触发词 + 列出不适用场景

❌ 坑 2:Skill 文件太长,塞太多东西

Section titled “❌ 坑 2:Skill 文件太长,塞太多东西”

Skill 写了 500 行,什么都讲了。

踩坑:Skill 被召唤时全文加载进 context——500 行 = 10k+ token 直接消耗。

修正:Skill 写指令本身,不要塞数据 / 例子库。需要数据时让 Claude 自己去读对应的目录。

❌ 坑 3:Skill 越写越多,自己都忘了有什么

Section titled “❌ 坑 3:Skill 越写越多,自己都忘了有什么”

“我写了 30 个 Skills,但每次都忘了哪个适用现在的场景。”

踩坑:Skill 是给 Claude 自动召唤用的,你不需要记。但太多 + 描述写得不清 = Claude 召唤混乱

修正:

  • 每月看一次 ~/.claude/skills/ 目录,删掉 3 个月没触发过的
  • /skill 命令看当前所有 active skill 的列表
  • description 写得互相不重叠(不要两个 Skill 都说「写报告」)
你: 该写周报了。
Claude: (自动召唤 weekly-report Skill)
我看了你 ~/Documents/工作日志/ 里这周的 5 份日志,
本周你完成的 3 件最大的事是:
1. 上线了用户增长漏斗 v2,DAU 从 8k → 12k(2 天工作量)
2. 修复了支付回调失败的 bug(1 天)
3. 跟设计对齐了 Q3 的视觉系统(1 天)
下周重点:跟数据团队对接漏斗的 funnel 报表自动化。
卡点:数据库压力升高,需要 DBA 一起拍方案。
全文 432 字,符合你 500 字内的要求。要直接保存到 周报2026-05.md 吗?
你: 好。

整个对话不到 30 秒——这是 Skill 的真实威力。

读完这一篇你应该会:

  • 写出第一个 Skill(weekly-report 是最好的练手)
  • 理解 Skill 跟 slash command 的区别
  • 知道 Skill description 怎么写才准

下一篇 02 区的最后一篇:

Plugins:别人写好的工具装上就用 —— 不用自己写,直接用社区现成的 Skill / Tool 打包

想第一时间收到,可以收藏 niuxue.org 主页。


如果你写了一个特别好用的 Skill,发到 [email protected],我们会精选放进社区 Skill 库。

评论

不记名、不需要注册——不要邮箱,不要手机号,不要任何身份信息,填个昵称就能留言。放心说。

  • 加载中 …