Skip to content

02-04 · Skills 详解(Anthropic Agent Skills)

Skill 是给 Agent 装的"专业能力包"。 当 Agent 接到一个任务,它会自己判断"要不要加载某个 Skill"。如果加载,Skill 里的步骤、模板、参考资料就成为它的临时记忆。

类比:MCP 像"USB-C"(提供能力),Skill 像"App Store 里的 App"(提供经验)。


一、什么是 Skill

Anthropic 在 2025 年正式推出 Agent Skills 规范。一个 Skill 就是一个文件夹:

my-skill/
├── SKILL.md          ← 必须,描述"是谁、什么时候用、怎么用"
├── reference.md      ← 可选,详细背景资料
├── examples/         ← 可选,示例
└── scripts/          ← 可选,工具脚本

SKILL.md 头部是 YAML frontmatter,告诉 Agent 何时启用:

yaml
---
name: client-research
description: 当用户要求做"客户调研"或"竞品分析"时启用,输出标准格式的调研报告
---

# Client Research Skill

## 触发条件
- 用户提出:"帮我做 X 公司的调研"、"分析一下 X 行业"

## 执行步骤
1. 用 web_search 工具搜索目标公司官网与近期新闻
2. 用 firecrawl MCP 抓取关键页面
3. 按下面的模板输出报告
...

二、Skills 解决了什么

痛点Skills 怎么解
Prompt 太长,重要指令被冲掉按需加载 → 不污染主上下文
同事之间复用难(每人 prompt 都不一样)一个文件夹打包,所有人共用
Skill 之间缺乏隔离文件夹边界天然隔离
想给 Agent 装"经验"而非"工具"Skills 专门干这件事

我们公司的 SOP(标准作业流程)一律以 Skill 形式落地,而不是塞进每个项目的 prompt。


三、Skills 在哪里能用

平台支持情况
Claude.ai(网页 / 桌面)
Claude Code✅(在 ~/.claude/skills/ 或项目 .claude/skills/
Anthropic API(with skills)
Windsurf部分支持(通过 CLAUDE.md 兼容方式)
第三方 LLM设计上跨平台,但实际兼容性各家不同

关键判断:Skill 是文件夹 + Markdown,所以理论上你可以把它当"通用 SOP 文档"挂到任何 Agent 上。先按 Anthropic 规范写,再考虑跨平台


四、最小实战:写一个属于公司的 Skill

我们以"代码 commit 规范化"为例。

4.1 创建文件夹

bash
mkdir -p ~/.claude/skills/qdy-commit
cd ~/.claude/skills/qdy-commit

4.2 写 SKILL.md

markdown
---
name: qdy-commit
description: 当用户要求"提交代码"、"git commit"、"写 commit message"时启用,按公司规范生成 conventional commit
---

# 上海奇点砚 · Commit 规范

## 何时使用
- 用户说:"commit 一下" / "提交代码" / "帮我写 commit message"

## 执行步骤
1. 先跑 `git status``git diff --staged` 查看变更
2. 按下面的格式生成 commit message
3. 询问用户确认后才真正 git commit

## 格式(必须严格遵守)
```
<type>(<scope>): <subject>

<body>

<footer>
```

- type: feat / fix / docs / refactor / test / chore
- scope: 模块名(小写)
- subject: 中英文均可,<= 50 字
- body: 解释"为什么"而不是"是什么"
- footer: 关联 issue 例如 `Refs: #42`

## 示例
✅ 好:`feat(lead): 新增公司池自动发现的优先级排序逻辑`
✅ 好:`fix(api): 修复 /api/v1/leads 在大批量 import 时的 OOM`
❌ 差:`update``fix bug``修改`

## 注意
- 永远不要直接 `git push`,等用户决定
- 永远不要 `git commit -a`,必须 `git add` 后再 commit

4.3 测试

进入 Claude Code,在任意一个 git 项目里:

> 帮我提交代码

它应当自动加载 qdy-commit Skill,按公司规范工作。


五、官方 skill-creator —— 用 Agent 写 Skill

Anthropic 官方提供了 skill-creator 插件,能用 Agent 帮你设计、评估、改进 Skill。

它有四种模式:

模式干什么
Create引导你从零写一个 Skill
Eval跑测试用例,评估 Skill 质量
Improve基于实际使用反馈迭代
Benchmark对比不同版本 Skill 的表现

公司流程:写 Skill 不要凭直觉写一遍就交付。用 skill-creator 跑一轮 Eval + Improve,再合并到团队仓库


六、公司 Skills 仓库结构(建议)

我们建议把全公司的 Skills 放进同一个仓库,每人本地链到 ~/.claude/skills/

qdy-skills/                     ← 仓库
├── README.md
├── catalog.md                  ← 所有 Skills 的清单
└── skills/
    ├── qdy-commit/
    │   └── SKILL.md
    ├── qdy-pr-review/
    │   └── SKILL.md
    ├── qdy-client-research/
    │   ├── SKILL.md
    │   └── templates/
    └── qdy-design-system/
        ├── SKILL.md
        └── DESIGN.md

本地用法:

bash
# 把仓库 clone 到一个固定位置
git clone git@internal.qdy:dev/qdy-skills.git ~/qdy-skills

# 软链到 Claude Code skills 目录
ln -s ~/qdy-skills/skills/* ~/.claude/skills/

七、Skill 设计原则(公司心法)

  1. 一个 Skill 只干一件事。粒度太大不利于 Agent 判断启用时机。
  2. 触发条件写人话。Agent 是看 description 决定要不要加载,不要写得太抽象
  3. Skill 里要有"反例"。告诉 Agent 什么情况 不要 用这个 Skill,避免误用。
  4. Skill 可以调用 MCP。在步骤里直接写"调用 firecrawl MCP 抓取 X 页面"。
  5. Skill 是活文档。每次发现 Agent 跑歪了,就回来改 Skill,不要靠 prompt 临时打补丁
  6. Skill 评估必须做。用 skill-creator 的 Eval 模式,至少跑 5 个测试用例。

八、参考资料


✅ 至此你应该能:

  • 用一句话讲清 Agent / MCP / Skill 的区别
  • 在 Claude Code 里挂 MCP、写 Skill
  • 知道公司为什么把 SOP 用 Skill 来落地

继续 → 03 · 开发栈

以股东之心学习 · 以工程师之手交付 · 以 AI 集群之力放大。持之以恒,勇敢探索。