Claude Skills 配置学习笔记

Claude Skills配置学习笔记

什么是?

  • Agent Skills are a lightweight, open format for extending Al agent capabilities.
  • A skill is a folder of organized files consisting of instructions, scripts, assets and resources that agents can discover to perform a specific task accurately.它的本质是一堆提示词和一些脚本文件,Claude会根据提示词的指令来调用这些脚本文件来完成任务。

什么时候用建立一个skills

  • 如果在一个使用场景中,需要跨会话来实现,比如在一个对话中,用户说了一个指令,系统需要在后续的对话中持续地执行这个指令,那么就可以考虑建立一个skills来实现。

Skill的设计思想

  • 模块化:将功能拆分成独立的模块,每个模块负责一个特定的任务,便于维护和复用。
  • 渐进披露:Progressive disclosure,指的是在用户需要的时候才展示相关信息或功能,避免信息过载。
  • 需要时加载: On-demand loading,指的是在用户需要使用某个功能时才加载相关的资源或代码,提升性能和响应速度。

  • MCP主要用来获取数据。
  • Tools(像一些sh、py脚本)主要用来处理数据或执行特定任务。
  • Skills则是一个更高层次的概念,它可以包含多个MCP和Tools,来实现一个完整的功能。
  • SubAgent,负责处理特定的任务,并将结果汇报给主agent。SubAgent可以调用自己的MCP和Tools来完成任务,但它的输出最终会被主agent使用。

Skill的文件结构

Claude Code 的 Skill 本质上是一个 Markdown 文件,存放在 ~/.claude/skills/ 目录下。当用户通过 /skill-name 调用时,Claude 会读取该文件的内容作为指令执行。

1
2
3
4
5
6
~/.claude/skills/
├── my-skill.md # 单文件 Skill(最简形式,建议全部小写,不要使用Claude的关键字)
├── my-skill/ # 目录形式 Skill(支持附带脚本)
└── SKILL.md # 必须存在,Skill 的入口文件
└── Reference/ # 可选的脚本目录,存放被 Skill 调用的脚本文件
└── helper.sh # 示例脚本文件
  • 它不仅可以包含md文件,还可以包含sh、py、Icon、Images等其他资产文件

SKILL.md 的格式

每个 Skill 文件由两部分组成:Front Matter(元数据,文件头)和 正文(指令内容)。
外部参考文件夹

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
---
name: knowledge-importer
description: 将PDF知识库文档转换为Hexo Markdown格式,使用AI智能格式化
user-invocable: true # 是否可通过 /name 手动调用,默认 true
---

## 预设Skills
[Anthropics Skills](https://github.com/anthropics/skills)

## 工具标题

这里写 Claude 需要执行的详细指令...

### 使用方法
...

Front Matter(文件头)字段说明:

文件头要求

字段 必填 说明
name Skill 名称,用于 /name 调用,支持 kebab-case
description 一句话描述,Claude 用它判断何时自动触发
user-invocable true(默认)用户可手动调用;false 仅由系统内部引用

存放位置与作用域

路径 作用域
~/.claude/skills/ 全局,所有项目可用
<project>/.claude/skills/ 项目级,仅当前项目可用

两种位置可以共存,项目级 Skill 会与全局 Skill 合并。
Skill 的正文中可以引用这些脚本,Claude 在执行时会通过 Bash 工具调用它们。

Skill安装相关

对于我的Skills来说,我发现我之前安装的一些MCP也在这个Skill里面。

最佳实践

命令

1
Use the skill-creator to evaluate how well my skills in @../custom_skills/ have followed the best practices. Use subagents in parallel,each subagent evaluates one.

直接使用Claude内置的skill-creator来审核某一个Skill是否符合规范。

其他问题:

claudecode的skill和openClaw的Skill有什么区别?

维度 Claude Code Skills OpenClaw Skills
本质 预定义 prompt 模板,/command 触发 SKILL.md 的文件夹,模块化插件
场景 软件工程(代码、Git 等) 通用自动化(浏览器、邮件、Shell 等)
交互 终端 /skill-name 自然语言对话管理
生态 官方 + 少量插件 ClawHub 市场 13,000+ 社区技能
扩展 插件机制 安装社区 Skill 或自定义编写 SKILL.md
标准 Claude Code 自有格式 基于 Anthropic Agent Skills 开放标准

简言之:Claude Code Skills 是开发工具的快捷命令;OpenClaw Skills 是通用 AI Agent 的插件系统,覆盖面更广。后者是前者的理念进化。

Claude生态间的Skill传递

这个讨论来自于B站吴恩达的课程,视频的翻译还不如直接看英文版本,所以可以直接看笔记

20260331-154900

这里面提到的4中Claude生态产品,分别对应着:

产品 是什么 面向 特点
claude.ai(网页端) 浏览器中访问的网页聊天界面 普通用户、日常使用 无需安装,注册即可用;支持文件上传、图片分析、联网搜索等;有免费额度和订阅制(Pro)
Claude Desktop(桌面应用) 安装在本地的独立桌面客户端(Windows/macOS) 普通用户、日常使用 功能类似网页端,但多了本地 MCP(Model Context Protocol)集成——可以连接本地文件系统、数据库、API 等外部工具,实现更丰富的工作流
Claude API(API 接口) 面向开发者的 HTTP/SDK 编程接口(api.anthropic.com) 开发者、企业 按用量计费(token 计费);可编程调用,嵌入到自己的产品中;支持 Tool Use(函数调用)、流式输出等;通过 Python SDK(anthropic)或 TypeScript SDK(@anthropic-ai/sdk)调用
Claude Code(CLI 工具) 终端命令行工具(claude 命令),专为软件工程设计 开发者、程序员 运行在终端中,可以直接读写文件、执行 shell 命令、搜索代码;理解整个项目上下文,能跨文件完成复杂开发任务;支持子 Agent 并行处理、MCP Server 扩展;底层调用的是 Claude API,但封装了开发者友好的工作流
Agent built with Claude Agent SDK(自定义 Agent) 开发者用 Claude Agent SDK 构建的自定义 AI Agent 应用 开发者构建自己的产品 Agent SDK 是一个框架,让你构建具有自主能力的 Agent(可以规划、执行多步骤任务、调用工具);Agent 拥有”思考-行动-观察”循环(agentic loop);可以自定义工具集、系统提示、安全边界等;最终产物是你自己的应用,Claude 是其中的”大脑”

其实挺合理的,不让不同环境相互干涉。

从 Claude AI 的图形界面转到纯 API 编程,确实需要一点适应时间。一旦理解了代码执行工具和 Files API 的协作方式,会发现这种编程方式给了你前所未有的控制力。图形界面适合快速验证想法,而 API 则适合构建可扩展的生产级应用。

无互联网访问的沙箱环境初看是个限制,但从安全角度看这是明智的设计。如果你需要联网功能,可以在容器外预先下载数据,或者使用其他 API 配合。记住:限制往往能激发更优雅的解决方案。

参考资料:

  1. 吴恩达Skill的课程
  2. 参考笔记