OpenSkills
Anthropic 为 Claude Code 引入了一种叫Skills每个 Skill 是一个SKILL.md文件,包含YAML 元数据 + Markdown 指令当用户请求某类任务(如“提取 PDF 表格”),Claude 会:扫描列表发现匹配技能(如pdf调用内置工具动态加载SKILL.md内容到上下文按照指令执行任务(可能调用脚本、读取模板等)✅ 这是一种“按需加载”(Progressiv
OpenSkills 是一个开源工具,旨在 将 Anthropic Claude Code 的“技能(Skills)系统”通用化,使其能在 任何 AI 编码代理(如 Cursor、Windsurf、Aider 等)中使用。
一、背景:什么是 Claude Code 的“Skills”?
Anthropic 为 Claude Code 引入了一种叫 Skills 的机制:
- 每个 Skill 是一个
SKILL.md文件,包含 YAML 元数据 + Markdown 指令 - 当用户请求某类任务(如“提取 PDF 表格”),Claude 会:
- 扫描
<available_skills>列表 - 发现匹配技能(如
pdf) - 调用内置
Skill("pdf")工具 - 动态加载
SKILL.md内容到上下文 - 按照指令执行任务(可能调用脚本、读取模板等)
- 扫描
✅ 这是一种 “按需加载”(Progressive Disclosure) 的设计,避免上下文过载。
但问题在于:只有 Claude Code 原生支持这个系统,其他 AI 编码工具(如 Cursor、Aider)无法直接使用这些技能。
二、OpenSkills 的目标
让所有 AI 编码代理都能使用 Anthropic 的 Skills 系统!
它通过 命令行工具(CLI) + 标准化格式 实现跨平台兼容。
三、工作原理(核心技术流程)
步骤 1:安装技能(从 GitHub 仓库)
npm i -g openskills
openskills install anthropics/skills
- 会克隆
anthropics/skills仓库(或任意 GitHub repo) - 默认存到
./.claude/skills/(或~/.agent/skills/如果用--universal) - 每个技能是一个子目录,含
SKILL.md和可选资源(scripts/,references/,assets/)
步骤 2:同步到 AGENTS.md
openskills sync
- 要求项目根目录存在
AGENTS.md(AI 代理的系统提示文件) - OpenSkills 会自动生成一段 XML 片段,插入到
AGENTS.md中:
<!-- SKILLS_TABLE_START -->
<skills_system priority="1">
<usage>
When users ask you to perform tasks, check if any of the available skills below can help...
- Invoke: Bash("openskills read <skill-name>")
</usage>
<available_skills>
<skill>
<name>pdf</name>
<description>Comprehensive PDF manipulation toolkit...</description>
<location>project</location>
</skill>
<!-- ... -->
</available_skills>
</skills_system>
<!-- SKILLS_TABLE_END -->
✅ 这段 XML 完全模仿 Claude Code 的
<available_skills>格式,确保兼容性。
步骤 3:AI 代理如何使用技能?
当用户提问(如 “从这个 PDF 提取表格”):
- AI 代理(如 Cursor)读取
AGENTS.md中的<available_skills> - 发现
pdf技能匹配 - 执行 CLI 命令:
openskills read pdf - OpenSkills 输出:
- 技能名称、基础路径
- 完整的
SKILL.md内容(含 YAML + 指令)
- AI 代理将此内容加入上下文,并按指令操作(如调用
scripts/extract_text.py)
🔁 关键区别:
- Claude Code 用内置
Skill()工具- 其他代理用
Bash("openskills read xxx")CLI
📁 四、技能结构(与 Anthropic 完全一致)
每个技能目录结构如下:
pdf/
├── SKILL.md # 核心:YAML frontmatter + 指令
├── scripts/
│ └── extract_text.py # 可执行脚本
├── references/
│ └── api_docs.md # 辅助文档
└── assets/
└── template.json # 配置/模板文件
SKILL.md 示例:
---
name: pdf
description: Extract text, tables, merge/split PDFs...
---
# PDF Skill Instructions
1. Install: `pip install pypdf2`
2. Use the script at `scripts/extract_text.py`
3. Base directory is provided when skill loads
🔄 五、为什么不用 MCP(Model Context Protocol)?
作者明确解释:
- Skills 是静态指令集(Markdown 文件),不是动态服务
- MCP 需要运行服务器,而 Skills 只需文件系统
- CLI 方案更简单、通用、无需认证或生命周期管理
- 完全遵循 Anthropic 原始设计(
SKILL.md是官方格式)
✅ OpenSkills 是 对 Anthropic Skills 规范的忠实 CLI 实现,而非另起炉灶。
六、多代理兼容(Universal Mode)
如果你同时用 Claude Code + Cursor/Aider:
- 默认安装到
.claude/skills/→ 可能和 Claude 原生插件冲突 - 使用
--universal安装到.agent/skills/:openskills install anthropics/skills --universal - 所有代理通过
AGENTS.md统一引用,避免重复
优先级顺序:
./.agent/skills/(项目级 universal)~/.agent/skills/(全局 universal)./.claude/skills/~/.claude/skills/
同名技能只加载最高优先级的一个。
总结:OpenSkills 的核心价值
| 特性 | 说明 |
|---|---|
| 100% 兼容 Anthropic Skills | 相同格式、相同结构、相同 marketplace |
| 通用 CLI 接口 | 任何能调用 Bash 的 AI 代理都能用 |
| 渐进式加载 | 只在需要时加载技能,节省上下文 |
| 资源捆绑 | 支持脚本、文档、模板等辅助文件 |
| 去中心化分发 | 从任意 GitHub 仓库安装技能 |
💡 一句话概括:
OpenSkills = Anthropic Skills 系统的“通用适配器”,用 CLI 让所有 AI 编码代理都能享用 Claude 的技能生态。
更多推荐


所有评论(0)