前言

  • Skill 是什么
  • 本文主要介绍如何从零创建一个属于自己的 Skill
  • 使用和推荐的Skill(持续更新ing)

一、Skill 是什么?

1.1 Skill 的基本概念

  • Skill 可以理解为 AI Agent 的“操作手册”,Skills 本质上就是教 AI 按固定流程做事的操作说明书,一旦写好,就能像函数一样反复调用。我们可以把 Skills 看成把 某类事情应该怎么专业做 这件事,封装成一个可复用、可自动触发的能力模块。Skills 以 Markdown 文件形式存在,不执行功能,而是通过按需、渐进式加载,实现高效且可复用的经验传递
  • 它用于告诉 Agent:
    • 什么时候使用
    • 如何处理任务
    • 遵循什么流程
    • 输出什么风格

1.2 Skill 和普通 Prompt 的区别

  • Prompt 通常是一次性的
  • Skill 更适合长期复用
  • Skill 可以包含说明、模板、脚本和参考资料
对比项普通 PromptSkills 机制
每次都要重新描述是否(只描述一次)
上下文长度占用每次全量塞入渐进式加载(只在触发时才读完整内容)
一致性依赖每次 prompt 质量高(固定 SOP + 模板)
复用性手动复制粘贴自动匹配 / slash 命令 / 项目共享
维护方式改一次 prompt 就要重新发修改 SKILL.md 文件,全局项目生效

二、为什么要自己写 Skill?

2.1 开源 Skill 的局限

  • 通用性强,但不够贴合个人项目
  • 不知道自己的研究背景
  • 不知道自己的代码结构
  • 不知道自己的常用命令和实验指标

2.2 自定义 Skill 的优势

  • 固化个人工作流
  • 减少重复解释
  • 提高 AI 回答稳定性
  • 让 Agent 更理解项目上下文
  • 方便后续持续迭代

2.3 一个典型例子

假设你经常让 AI 帮你写博客文章。

如果使用通用 Skill,它可能只知道:

  • 帮助用户写一篇结构清晰的博客文章
  • 优化语言表达
  • 补充小标题
  • 调整段落逻辑

但如果是你自己写的博客 Skill,就可以提前写清楚:

  • 我的博客偏技术教程风格
  • 文章要先讲背景,再讲操作步骤,最后总结
  • 标题不要太夸张
  • 每一节尽量配代码块或示例
  • 语言风格要口语化一点,但不能太随意
  • 输出内容要使用 Markdown 格式
  • 遇到命令行操作时,要给出可以直接复制的命令

Agent 就会自动按照你的写作习惯和文章结构来生成内容。
这就是自定义 Skill 的价值,它不是让 AI “凭感觉回答”,而是让 AI 按照你提前设定好的工作流程来完成任务。

三、Skill 的基本结构

Skills 的核心就是:一个文件夹 + 一个 SKILL.md 文件。

3.1 最小目录结构

my-skill/
└── SKILL.md

3.2 推荐目录结构

my-skill/
├── SKILL.md
├── references/
│   ├── background.md
│   ├── common-errors.md
│   └── metrics.md
├── scripts/
│   ├── parse_log.py
│   └── compare_results.py
└── templates/
    └── report_template.md

3.3 各目录的作用

文件 / 目录是否必选作用
SKILL.md必选Skill 的核心说明文件,用于描述 Skill 的用途、触发场景和工作流程
references/可选存放背景资料、常见问题、指标说明等参考内容
scripts/可选存放辅助脚本,例如日志解析、数据处理、自动化任务脚本
templates/可选存放报告、总结、邮件、文档等输出模板

四、创建第一个 Skill

在正式创建 Skill 之前,需要先想清楚一个问题:

这个 Skill 是只给某个项目使用,还是希望在所有项目里都能使用?

因此,Skill 一般可以分为两类:

  • 个人全局 Skill
  • 项目级 Skill

4.1 个人全局 Skill 和项目级 Skill

类型存放位置适合场景特点
个人全局 Skill用户目录下,例如 ~/.claude/skills/写作、代码审查、通用 Debug、个人工作流所有项目都可以使用
项目级 Skill项目目录下,例如 .claude/skills/某个具体项目的开发规范、实验流程、部署流程跟随项目一起维护,适合团队共享

简单来说:

  • 如果这个 Skill 是你个人长期都会用的,就放到个人全局目录
  • 如果这个 Skill 只服务于某个项目,就放到项目目录

例如,一个通用的写作 Skill 可以放在:

~/.claude/skills/blog-writing-skill/

而一个只服务于当前项目的实验分析 Skill,可以放在:

my-project/.claude/skills/experiment-analysis-skill/

4.2 创建项目级 Skill

如果想创建一个项目级 Skill,可以先进入项目根目录:

cd my-project

然后创建 Skill 目录:

mkdir -p .claude/skills/experiment-analysis-skill
cd .claude/skills/experiment-analysis-skill
touch SKILL.md

项目级 Skill 的好处是,它和项目绑定在一起。以后别人 clone 这个项目时,也可以看到这个项目专属的 AI 使用说明。

4.3 创建个人全局 Skill

如果想创建一个个人全局 Skill,可以放到用户目录下:

mkdir -p ~/.claude/skills/blog-writing-skill
cd ~/.claude/skills/blog-writing-skill
touch SKILL.md

个人全局 Skill 更适合存放自己经常复用的工作流。

4.4 编写 metadata

一个 Skill 通常需要在 SKILL.md 开头编写 metadata,用来描述这个 Skill 的名称和触发场景。claude code启动时会预加载 Skills 的 name 和 description,真正的正文内容是在 Skill 被触发时才读取。

示例:

---
name: experiment-analysis-skill
description: Use this skill when analyzing reinforcement learning experiments, TensorBoard logs, result.json files, training commands, GPU usage, or debugging issues.
---

其中:

  • name:Skill 的名称
  • description:Skill 的触发描述,告诉 Agent 什么时候应该使用这个 Skill

其中 description 很重要,因为 Claude 会根据它判断当前任务是否需要加载这个 Skill。

4.5 编写 Skill 正文

metadata 写完之后,就可以继续编写 Skill 正文。

一个 SKILL.md 通常由两部分组成:

部分作用
YAML metadata描述 Skill 的名称和触发场景
Markdown 正文编写具体背景、流程、规范、示例和命令

其中,正文部分比较自由,但不建议随便堆文字。
更推荐写成清晰的结构,让 Agent 能够快速理解这个 Skill 应该怎么使用。

五、利用 skill-creator 开发 Skill

除了手动编写 SKILL.md,也可以使用官方提供的 skill-creator 来辅助创建 Skill。

skill-creator 可以理解为一个专门用来“开发 Skill 的 Skill”。它可以帮助我们从自然语言需求出发,生成一个结构比较规范的 SKILL.md,并且还能帮助优化 description、补充工作流程、检查 Skill 是否清晰。

5.1 skill-creator 能做什么?

skill-creator 主要可以帮助完成以下事情:

能力说明
创建 Skill根据自然语言描述生成初版 SKILL.md
优化 description帮助改写触发描述,提高 Skill 被正确调用的概率
补充结构自动补充 Context、Workflow、Examples 等部分
检查问题检查 Skill 是否过于模糊、过长或缺少关键流程
迭代改进根据实际使用效果继续修改 Skill

简单来说,手写 Skill 更适合自己完全掌控内容;而 skill-creator 更适合快速生成第一版。

5.2 使用 skill-creator 的基本流程

第一步:创建全局 Skills 目录

先创建 Claude Code 的全局 Skills 目录:

mkdir -p ~/.claude/skills

第二步:下载官方 Skills 仓库

进入临时目录:

cd /tmp

然后 clone Anthropic 官方 Skills 仓库:

git clone https://github.com/anthropics/skills.git

下载完成后,会得到一个 skills 文件夹。

第三步:复制 skill-creator 到全局目录

官方仓库中,skill-creator 位于:

skills/skills/skill-creator/

将它复制到 Claude Code 的全局 Skills 目录:

cp -R skills/skills/skill-creator ~/.claude/skills/

第四步:检查是否安装成功

执行:

ls ~/.claude/skills/skill-creator

如果能看到:

SKILL.md

说明 skill-creator 已经复制成功。

第五步:在 Claude Code 中重新加载 Skills

进入 Claude Code:

claude

然后输入:

/reload_plugins

或者直接重启 Claude Code。

接着输入:

/skills

如果能看到类似:

skill-creator  user

并且状态是 on,说明 skill-creator 已经被 Claude Code 识别并启用。

第六步:使用 skill-creator 创建新 Skill

安装完成后,就可以直接让 Claude Code 使用 skill-creator 创建新的 Skill。
可以使用/skill-creator直接触发,一步一步根据agent的指令来编写你的prompt;也可以把prompt写好,agent会自动调用skill-creator

六、科研好用的skill(持续更新)