Claude Code 的 Skill 系统允许你将常用工作流封装成可复用的模块,通过 /skill-creator 命令可以快速创建和整理这些技能文档。

什么是 Skill

Skill 是 Claude Code 的能力扩展包,本质上是一个包含 SKILL.md 的目录,告诉 Claude 在特定场景下该怎么做。安装后可以通过 /skill名称 触发。

Skill 存放在 ~/.claude/skills/ 目录下,每个 Skill 的结构如下:

skill-name/
├── SKILL.md          # 必须,核心指令文件
└── 可选资源/
    ├── scripts/      # 可执行脚本
    ├── references/   # 参考文档
    └── assets/       # 模板、图片等

触发 Skill Creator

在 Claude Code 交互模式中输入:

/skill-creator

Claude 会进入 Skill 创建引导流程,帮你从零构建一个 Skill。


创建流程详解

第一步:明确使用场景

在开始前,先想清楚这几个问题:

  • 这个 Skill 要解决什么重复性问题?
  • 用户会说什么话来触发它?
  • 它需要哪些外部资源(脚本、文档、模板)?

示例:我想创建一个自动生成博客文章的 Skill,用户说"写一篇关于 Docker 的文章"时触发。

第二步:规划可复用资源

分析你的场景,识别哪些内容值得打包进 Skill:

类型 放在哪里 适合什么
脚本 scripts/ 需要反复执行的代码
参考文档 references/ Claude 需要查阅的规范、API 文档
模板 assets/ 固定格式的输出模板

第三步:编写 SKILL.md

这是 Skill 的核心文件,格式如下:

---
name: blog-writer
description: 根据给定主题生成符合本站规范的博客文章。当用户要求写文章时触发。
---

# Blog Writer

生成博客文章时遵循以下规范:

## Frontmatter 格式
- title: 文章标题
- date: YYYY-MM-DD(通过 MCP 获取当前日期)
- categories: 分类数组
- tags: 标签数组

## 内容要求
- 使用中文编写
- <!-- more --> 之前为摘要
- 内容真实有据,不可虚构

## 示例触发
- "写一篇关于 Docker 的文章"
- "帮我写个 Nginx 配置教程"

第四步:初始化目录结构

mkdir -p ~/.claude/skills/blog-writer/references
touch ~/.claude/skills/blog-writer/SKILL.md

将写好的内容填入 SKILL.md,如果有参考文档一并放入 references/

第五步:测试与迭代

在 Claude Code 中实际使用这个 Skill,观察 Claude 的表现:

  • 触发是否准确?
  • 输出是否符合预期?
  • 有没有遗漏的边界情况?

根据实际使用反馈修改 SKILL.md,逐步完善。


编写 SKILL.md 的注意事项

保持精简:上下文窗口是共享资源,只写 Claude 本身不具备的知识。每一行都问自己:“Claude 真的需要这个吗?”

控制长度SKILL.md 建议不超过 500 行。内容多时用渐进式披露:

## 高级功能
- 表单填写:参见 [FORMS.md](references/FORMS.md)
- API 参考:参见 [API.md](references/API.md)

不要写用户文档README.mdCHANGELOG.md、安装指南这类文件不属于 Skill,Skill 是给 AI 看的,不是给人看的。


实际案例:整理现有工作流

假设你经常让 Claude 帮你做代码审查,每次都要重复说一堆规范,这时就适合封装成 Skill:

---
name: code-review
description: 按照团队规范审查代码。当用户要求 review 代码或 PR 时触发。
---

# Code Review

## 审查维度
1. 安全性:SQL 注入、XSS、敏感信息泄露
2. 性能:N+1 查询、不必要的循环
3. 可读性:命名是否清晰、逻辑是否简洁
4. 测试覆盖:关键路径是否有测试

## 输出格式
按严重程度分组:🔴 必须修改 / 🟡 建议优化 / 🟢 可选改进

保存后,下次只需说"帮我 review 这段代码",Claude 就会自动按这套规范执行。


查看已安装的 Skill

ls ~/.claude/skills/

在 Claude Code 中用 /help 可以看到当前会话加载的所有 Skill 列表。