OpenSkills 是一个开源工具,旨在 将 Anthropic Claude Code 的“技能(Skills)系统”通用化,使其能在 任何 AI 编码代理(如 Cursor、Windsurf、Aider 等)中使用。

一、背景:什么是 Claude Code 的“Skills”?

Anthropic 为 Claude Code 引入了一种叫 Skills 的机制:

  • 每个 Skill 是一个 SKILL.md 文件,包含 YAML 元数据 + Markdown 指令
  • 当用户请求某类任务(如“提取 PDF 表格”),Claude 会:
    1. 扫描 <available_skills> 列表
    2. 发现匹配技能(如 pdf
    3. 调用内置 Skill("pdf") 工具
    4. 动态加载 SKILL.md 内容到上下文
    5. 按照指令执行任务(可能调用脚本、读取模板等)

✅ 这是一种 “按需加载”(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 提取表格”):

  1. AI 代理(如 Cursor)读取 AGENTS.md 中的 <available_skills>
  2. 发现 pdf 技能匹配
  3. 执行 CLI 命令
    openskills read pdf
    
  4. OpenSkills 输出:
    • 技能名称、基础路径
    • 完整的 SKILL.md 内容(含 YAML + 指令)
  5. 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 统一引用,避免重复

优先级顺序:

  1. ./.agent/skills/(项目级 universal)
  2. ~/.agent/skills/(全局 universal)
  3. ./.claude/skills/
  4. ~/.claude/skills/

同名技能只加载最高优先级的一个。


总结:OpenSkills 的核心价值

特性 说明
100% 兼容 Anthropic Skills 相同格式、相同结构、相同 marketplace
通用 CLI 接口 任何能调用 Bash 的 AI 代理都能用
渐进式加载 只在需要时加载技能,节省上下文
资源捆绑 支持脚本、文档、模板等辅助文件
去中心化分发 从任意 GitHub 仓库安装技能

💡 一句话概括
OpenSkills = Anthropic Skills 系统的“通用适配器”,用 CLI 让所有 AI 编码代理都能享用 Claude 的技能生态。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐