- 1. Skills 是什么
- 2. Skills 原理
- 2.1 skills架构
- 2.2 SKILL格式
- 2.3 SKILL加载流程
- 3. Skills 安装使用
- 3.1 内置官方skills
- 官方Skills
- 安装示例
- 3.3 自定义Skills
- 技能文档编写
- 技能创建
- 技能使用
- 4 SKILL编写规范
- 4.1 文档格式
- 4.2 参数占位
- 4.3 相关问题
- 5 开源skills平台
- 5.1 哪里找skills
- 5.2 编程相关skills
- 6 skill杂谈
- 6.1 SKILL优化
1. Skills 是什么
skills是一个可重复使用的技能文件,核心是将流程、规范、工具调用封装为可复用的标准化能力包。
Anthropic于2025 年 10 月 16 日正式提出并实现,用于 Claude 大模型(含 ClaudeCode)的能力扩展,核心是将流程、规范、工具调用封装为可复用的标准化能力包。
主要优势:
- 专业化能力:为特定领域任务定制能力
- 减少重复:一次创建,自动使用
- 组合能力:组合 Skills 以构建复杂工作流程
2. Skills 原理
2.1 skills架构
Claude Code允许 Skills 以包含指令、可执行代码和资料的目录形式存在,Claude按需分阶段加载token消耗少(渐进式披露)。
Skills 的整体组成
- 元数据(Metadata):定义 Skill 的基本信息和配置
- 主体(Body / Core)
- 指令(Instructions):核心 Prompt,告诉 Claude 怎么使用这个 Skill
- 代码(Code Snippets / Scripts):可复用的代码模板、示例、脚本
- MCP 配置(MCP Integrations):依赖哪些 MCP 服务、如何调用
- 工作流描述(Workflow Steps):固定的任务执行步骤
- 资源:SKILL.md中 引入的外部资源(指令、代码等文件)
AI虚拟运行环境(Agent虚拟运行环境):为 AI 智能体提供的隔离、受控的沙箱空间,它能访问文件系统、执行 bash 命令和脚本,但操作与本地真实环境隔离,保障安全。
2.2 SKILL格式
skill作用域
| 作用域 | 存放路径 | 生效范围 |
|---|---|---|
| 个人(User) | ~/.claude/skills//SKILL.md | 你的所有项目都可以使用 |
| 项目(Project) | .claude/skills//SKILL.md | 仅当前项目 |
| 插件(Plugins) | /skills//SKILL.md | 该插件被启用同个人 |
目录结构
.claude ├──skills/ ├── 技能名A/ │ └── SKILL.md └── 技能名C/ ├── SKILL.md └── 其他资源文件 └── reference.md (detailed API docs - loaded when needed) my-skill/ ├── SKILL.md (required - overview and navigation) ├── ├── examples.md (usage examples - loaded when needed) └── scripts/ └── helper.py (utility script - executed, not loaded)每个技能都建立一个文件夹,其里面必须包含一个SKILL.md文件 +可选的外部资源(文件、指令、代码等)
- 元数据:在SKILL.md中开头,必须包含name(技能名)和description(模型根据描述匹配对应的skill)
---name:skill名字 description:skill描述---
- 指令:正文/主体内容,主要是prompt提示词,用来描述该技能工作流程
- 技能作用:这个技能是干嘛的(无障碍设计、WCAG 2.2)
- 使用场景:什么时候用它
- 核心概念:必须理解的专业知识点(POUR、语义化、焦点管理…)
- 执行步骤:Claude 必须按步骤执行(5 步)
- 架构 / 流程图:可视化说明工作原理
- 跨平台对照表:Web /iOS/ Android 对应写法
- 代码示例:真实可复制的代码(Web、iOS、Android)
- 规范与约束:禁止做什么、必须做什么、最佳实践、参考文档
- 外部资源:脚本、可执行代码、补充说明等外部资源。
2.3 SKILL加载流程
SKILLS的核心:渐进式披露(按需加载)
元数据加载:每次与claude code交互都会加载所有安装的skills得元数据(name和descrition)
触发skill: 确定需要使用这个skill后,会加载整个SKILL.md全部内容,但是不会加载SKILL.md捆绑的外部资源
资源按需:skill.md挂载的多个文件外部资源按需加载,代码/脚本/工具等不会被加载入上下文而是只获取其输出结果。
| 级别 | 加载时机 | Token 成本 | 内容 |
|---|---|---|---|
| 第一级:元数据 | 始终(启动时) | 每个 Skill 约 100 个 token | YAML 前置元数据中的name和description |
| 第二级:指令 | 触发 Skill 时 | 不超过 5k token | 包含指令和指导的 SKILL.md 主体 |
| 第三级及以上:资源 | 按需 | 实际上无限制 | 通过 bash 执行的捆绑文件,不将内容加载到上下文中 |
使用处理PDF的skill加载流程
首次都会加载PDF Skill技能的元数据信息
用户请求:“从这个 PDF 中提取文本并总结”
Claude 调用:
bash: read pdf-skill/SKILL.md→ 指令加载到上下文中Claude 判断:不需要填写表单,因此不读取 FORMS.md
Claude 执行:使用 SKILL.md 中的指令完成任务
3. Skills 安装使用
3.1 内置官方skills
官方Skills
anthropics技能库:官网skills地址
| 目录 | 含义 | 用途 |
|---|---|---|
skills | 官方技能示例库 | 包含创意设计、开发技术、企业沟通、文档处理等各类官方技能的完整示例代码 / 定义 |
spec | Agent Skills 规范文档 | 定义了 Claude 技能的编写格式、语法、触发规则的官方标准,相当于「技能开发说明书」 |
template | 技能模板 | 一份可直接复制修改的空白技能模板,你可以基于它快速开发自定义技能 |
相关技能
| 技能名 | 核心用途(极简版) |
|---|---|
algorithmic-art | 生成算法艺术作品(图案、动画) |
brand-guidelines | 按品牌规范生成内容 |
canvas-design | 设计海报 / 插画等视觉图 |
claude-api | 辅助调用 / 调试 Claude API |
doc-coauthoring | 多人协作文档撰写 |
docx | 生成 / 编辑 Word 文档 |
frontend-design | 开发 React/Tailwind 前端 |
internal-comms | 写企业内部沟通文案 |
mcp-builder | 构建 MCP 协议服务 |
pdf | 生成 / 编辑 PDF 文档 |
pptx | 制作 PowerPoint 演示文稿 |
skill-creator | 开发自定义 Claude 技能 |
slack-gif-creator | 制作 Slack 适配的 GIF |
theme-factory | 定制 UI 配色与主题 |
web-artifacts-builder | 快速构建 Web 应用 / 组件 |
webapp-testing | 自动化测试 Web 应用 |
xlsx | 生成 / 处理 Excel 表格 |
安装示例
authropics官方推荐我们使用插件的方式安装skill,通过插件可以将上边所有的官方插件。
注意authropics 将上述的技能都放在一个 document-skills中了,安装完如上所有技能都安装完毕
#添加官方插件/plugin marketplaceaddanthropics/skills# 安装所有官方插件/plugininstalldocument-skills@anthropic-agent-skills# 可以不安装 example 示范相关技能#/plugin install example-skills@anthropic-agent-skills#重新激活插件(目前我这边不好使,我使用了退出重启的方式)/reload-plugins查看技能
#查看技能/skills#删除example-skill/plugin uninstall example-skills@anthropic-agent-skills使用技能
#使用自然语言形式
帮我 使用algorithmic-art 生成一个随机抽象画
从上图可以看到 使用了algorithmic-art 技能画了一幅画
#显示调用 /skill-name 使用技能
/docx 帮我生成一份 35 岁 fire 的文档,要求不同资金下的生活方式
3.3 自定义Skills
技能文档编写
文件名字必须为SKILL.md
--- name: md-check description: 检查并优化 Markdown 文档格式,确保标题、列表、代码块规范 tools: Read, Write, Bash --- # Markdown 格式检查与优化技能 ## 使用场景 - 提交 PR 前检查 Markdown 文档格式 - 统一项目内 Markdown 文件的写作规范 - 修复标题层级、列表、代码块等格式问题 ## 执行步骤 1. **读取文件**:获取指定 Markdown 文件内容 2. **格式检查**:检查标题层级、列表缩进、代码块标记是否规范 3. **自动修复**: - 确保标题使用 `#` 且层级不跳级 - 列表统一使用 `-` 符号,缩进为 2 个空格 - 代码块使用 ```包裹并指定语言 4. **生成报告**:列出修改点和优化说明 5. **写入文件**:将优化后的内容写回原文件 ## 调用方式技能创建
- 创建存放技能目录
在 创建 ~/.claude/skills// 目录 (用户级别) /${project}/.claude/skills// 目录 (项目级别)
#创建目录mkdir-p~/.claude/skills/md-check
- 放置技能内容到SKILL.md
#创建SKILL.md vim ~/.claude/skills/md-check/SKILL.md #填充技能文档
- 重启
技能使用
使用和官方SKILL用法一样
4 SKILL编写规范
4.1 文档格式
| 字段 | 是否必须 | 中文说明(简化) |
|---|---|---|
name | 否 | 技能的显示名称。若省略则使用目录名,仅支持小写字母、数字和连字符,最多 64 个字符。 |
description | 是 | 技能的用途和适用场景。Claude 会据此判断何时使用该技能; 若省略则取 Markdown 正文第一段。 description和when_to_use合并后会被截断为 1536 字符以内。 |
when_to_use | 否 | 补充说明技能的触发条件,如触发词、示例请求,会追加到description中。 |
argument-hint | 否 | 自动补全时显示的参数提示,如[filename]。 |
disable-model-invocation | 否 | 设为true时禁止 Claude 自动加载该技能,只能通过 /name手动触发。默认false。 |
user-invocable | 否 | 设为false用户不能嗲用。默认true |
allowed-tools | 否 | 技能激活时可直接使用、无需用户确认的工具列表 支持空格分隔字符串或 YAML 列表。 |
model | 否 | 技能激活时使用的模型。 |
effort | 否 | 技能激活时的算力强度,覆盖会话级设置,可选low/medium/high/xhigh/max。 |
context | 否 | 设为fork时在独立子代理上下文运行。 |
agent | 否 | context: fork时使用的子代理类型。 |
hooks | 否 | 技能生命周期的钩子配置。 |
paths | 否 | 只有文件路径 / 名称匹配规则时,Claude 才会加载这个技能 支持逗号分隔字符串或 YAML 列表。 |
shell | 否 | 技能中!命令和 ``!块使用的 Shell,默认bash<br/>Windows 下可选powershell,需配合CLAUDE_CODE_USE_POWERSHELL_TOOL=1`。 |
4.2 参数占位
| 变量名 | 说明(中文翻译 + 简化) |
|---|---|
$ARGUMENTS | 调用技能时传入的所有参数。如果内容中未使用此变量,参数会以ARGUMENTS: <value>的形式追加。 |
$ARGUMENTS[N] | 按 0-based 索引访问指定参数,例如$ARGUMENTS[0]代表第一个参数。 |
$N | $ARGUMENTS[N]的简写形式,例如$0代表第一个参数,$1代表第二个参数。 |
${CLAUDE_SESSION_ID} | 当前会话 ID。可用于日志记录、创建会话专属文件,或关联技能输出与会话。 |
${CLAUDE_SKILL_DIR} | 技能SKILL.md文件所在的目录。插件技能中为插件内的技能子目录,而非插件根目录。可在命令中引用技能自带的脚本或文件,不受当前工作目录影响。 |
4.3 相关问题
技能未触发
- 自然语言没有提及工具描述对应的关键字
- 技能描述的有问题
- 该技能设置不允许模型调用
disable-model-invocation=true
技能频繁触发
- 描述要更具体一些。
disable-model-invocation: true设置只手动调用
5 开源skills平台
5.1 哪里找skills
| 网站名称 | 网址 | 主要特点 |
|---|---|---|
| SkillsMP | https://skillsmp.com/zh | 中文界面友好,支持语义搜索与分类筛选,可在线预览技能源码,提供一键安装命令,社区聚合型平台 |
| claudeskills.info | https://claudeskills.info/ | 高质量精选技能,中文说明清晰,附带使用示例,兼容多种 AI 工具 |
| skills.sh | https://skills.sh/ | 按真实使用量排名,权威可靠,支持一键安装命令,遵循标准化技能规范 |
| claudate.com | https://claudate.com/ | 全球大型 Claude 专属技能市场,内置安全扫描,支持多语言与自定义技能生成 |
5.2 编程相关skills
| 技能名称 | 主要用途 |
|---|---|
| code-clean | 代码格式化、重构、规范命名与注释 |
| bug-finder | 扫描代码隐患、定位逻辑漏洞与异常问题 |
| git-helper | 生成 commit 信息、处理冲突、提供 Git 命令 |
| api-doc-generator | 自动生成接口文档,支持 OpenAPI / Markdown |
| test-case-maker | 自动生成单元测试与边界测试用例 |
| performance-check | 分析性能瓶颈,优化代码执行效率 |
| code-translate | 多语言代码互转,保持逻辑与结构一致 |
| sql-optimizer | SQL 语句优化、索引建议、执行计划分析 |
6 skill杂谈
6.1 SKILL优化
| 优化维度 | 优化内容 | 对你的好处 |
|---|---|---|
| 触发机制优化 | 自动匹配意图、按 description/when_to_use 智能判断 支持 paths 按文件类型触发 支持 disable-model-invocation 关闭自动触发 | 不乱调用、不漏调用,技能更听话 |
| 上下文加载优化 | 技能元数据只在需要时注入上下文;未调用的技能不占 token;scripts / 资源按需读取,不占上下文 | 速度更快、更省 token、不卡上下文 |
| 独立上下文隔离 | context: fork 用子代理独立运行,只返回结果摘要,不污染主对话 | 长任务不爆上下文、主会话更干净 |
| 模型智能调度 | 支持按技能指定模型(Opus/Sonnet/Haiku),执行完自动切回默认模型 | 复杂任务用强模型、简单任务省成本 |
| 执行效率优化 | 支持异步执行、并发控制、结果缓存 @cached;避免重复计算 / 重复请求 | 运行更快、更稳定、更少冗余 |
| 技能描述自动优化 | skill-creator 自动优化 description,提升触发准确率(官方数据 83.3%) | 不用反复调提示,技能一写就准 |
| 工程化验证优化 | 内置触发评估、质量评估、A/B 测试、基准对比 | 技能可测试、可迭代、可上线 |
| 插件化加载优化 | 插件统一管理、热重载 /reload-plugins、不重启会话即可更新技能 | 开发调试更快、不用反复重启 |
| 权限与工具控制 | allowed-tools 限定可用工具;user-invocable 隐藏不需要的技能 | 更安全、界面更干净 |
| 变量与模板优化 | ARGUMENTS、${CLAUDE_SKILL_DIR} 等变量自动注入,支持脚本复用 | 写技能更简单、路径不写错 |
同时提供规范化方式开发使用skills, 从而获取更准确的输出。