以观书法
108.85M · 2026-02-05
2025年10月16日,Anthropic 首次提出 Agent Skill 概念;2025年12月18日,发布 Skill 开放标准。目的是减少长会话中预制提示词在上下文中占用的 token 长度。通过让 Agent 通过输入的语义,匹配到对应可以使用的 Skill。在用户确定使用 Skill 之后,再加载完整的 Skill 内容到上下文中,通过懒加载的形式来实现减少 token 的消耗。
其核心机制是"渐进式披露":
| 阶段 | 说明 |
|---|---|
| 发现阶段 | 启动时只加载所有 Skills 的名称和描述(轻量级) |
| 激活阶段 | 当请求匹配某个 Skill 的描述时,才加载完整内容 |
| 执行阶段 | 按照 Skill 中的指令执行任务 |
2026年1月21日,Vercel 推出 Skill 聚合网站 skills.sh,汇集了社区贡献的各类 Skills。
相继的 CodeX/OpenCode 等工具也都支持了这一特性。
在 Claude Code 生态中,有几个容易混淆的概念,下面用餐厅的类比来解释:
| 概念 | 类比 | 说明 |
|---|---|---|
| Command | 服务员 | 点菜的入口,喊"/红烧肉"去后厨传话 |
| Skill | 厨师的菜谱 | 详细写着怎么做,先焯水,再炒糖色,然后炖 40 分钟 |
| MCP | 外卖平台 | 餐厅自己做不了的菜,从外面叫 |
| SubAgent | 帮厨 | 一个厨师忙不过来,叫几个帮厨同时做不同的菜 |
| Plugin | 预制菜包 | 别人调好的料包,拆开就能用 |
| Hooks | 质检员 | 每道菜出锅前检查一下 |
Skill 是给 AI 看的操作指南,通常是 Markdown 文件,里面写着具体的步骤、模板或最佳实践。
核心特点:
/skill-name 显式调用,或让 AI 根据语义自动触发Command 是一次性执行的指令,包含用户查询内容,用于执行确定性流程。
与 Skill 的区别:Command 是一次性包含用户查询内容,Skill 是系统提示词的一部分。
MCP 是一种标准协议,负责连接外部工具(如数据库、API、文件系统等)。它像 AI 的"手和脚",让 AI 能够执行实际操作。
与 Skill 的关系:Skill 负责"大脑"的程序化知识(提供工作流框架),MCP 负责执行能力(连接外部工具)。二者相辅相成。
SubAgent 是拥有独立大脑和独立记忆的 AI 实例,它有自己的 System Prompt,并且在一个全新的、隔离的上下文窗口中运行。
核心特点:
使用场景:Code Reviewer、代码库探索、大规模重构等需要消耗大量 Token 的任务。
Plugin 不是功能的一种,而是让功能能够被分享、被安装、被复制的方式。一个 Plugin 可以同时包含 Skills、Commands、Agents、Hooks、MCP 连接…全部打包在一起,一条命令装好。
使用场景:分享自己的技能集合、安装他人贡献的技能包。
首先需要安装 Claude Code,有以下几种方式:
方式一:npm 安装(推荐)
# 1. 确保已安装 Node.js(访问 nodejs.org 下载)
# 2. 安装 Claude Code
npm install -g @anthropic-ai/claude-code
# 3. 验证安装
claude --version
一个标准的 Skill 由 SKILL.md 文件定义,需要在文件头部包含 YAML Frontmatter 元数据:
---
name: skill-name # 技能名称,使用连字符
description: 简短描述 # 关键!用于 AI 语义匹配
version: 1.0.0 # 版本号
author: 作者名 # 可选
tags: [tag1, tag2] # 可选,用于分类
---
# 技能详细指令
这里是技能的具体内容…
核心字段说明:
| 字段 | 必填 | 说明 |
|---|---|---|
| name | 是 | 技能名称,建议使用 kebab-case |
| description | 是 | 简短描述,决定 AI 能否正确触发该技能 |
| version | 否 | 版本号,便于管理更新 |
| tags | 否 | 标签,用于分类和筛选 |
其中 description 字段最为关键,它决定了 AI 能否根据用户的自然语言请求准确匹配到该技能。
Skill 支持两个存放位置:
| 级别 | 路径 | 适用范围 |
|---|---|---|
| 用户级 | ~/.claude/skills/ | 所有项目可用 |
| 项目级 | .claude/skills/ | 仅当前项目可用 |
在对应目录下创建以技能名命名的文件夹,放入 SKILL.md 文件即可。技能支持热重载,修改后无需重启会话即可生效。
步骤 1:创建 Skill 目录
mkdir -p ~/.claude/skills/summary-code-line
步骤 2:创建 SKILL.md 文件
---
name: summary-code-line
description: 使用列表来统计文件的代码的改动行数。在统计两个commit之间改动的代码行数时使用。
---
统计代码改动行数时,始终包含:
**统计列表**:使用 markdown 列表对各类文件的修改的代码行数进行呈现
**改动分析**:分析代码改动的行数,本次改动,哪些文件应该应该重视
步骤 3:查看可用技能
方式一:启动 Claude Code 后,执行 /skills 可查看当前所有已安装的 Skill。
方式二:启动 Claude Code 后,直接询问当前有哪些可以使用的Skill
步骤 4:测试使用
给 AI 一个符合 Skill 描述的任务,比如:"帮我统计一下这两个commit之间的代码改动行数"AI 会自动匹配并使用该技能。
借助 Claude 的 skill-creator Skill,可以帮我写出专业的、符合预期的Skill
github.com/anthropics/…
npx skills add https://github.com/anthropics/skills --skill skill-creator
原理:
skills是一个可执行的npm包,对外暴露了可执行的js脚步,使用node.js自带的npx命令直接运行脚步,从仓库下载skill-creatorSkill到本地
skills的目录:C:Usersyour_name.agentsskills
.claude中的skills,也会对应的生成一个快捷方式
使用:
首先直接载入skill-creatorSkill,可以直接以/的方式(类似于command直接使用),/skill-creator
直接告诉 AI 你想要什么技能,让它帮你生成。例如:
AI 会自动生成符合规范的 SKILL.md 文件。