OpenSkills 通用技能加载器技术分析一、概述1. 简介A. 是什么OpenSkills 是一个通用技能加载器，旨在将 Anthropic 的技能系统带给所有 AI 编码代理。它是一个 CLI 工具，能够让 Claude Code、Cursor、Windsurf、Aider、Codex 以及任何能够读取 AGENTS.md 文件的代理使用相同的技能格式。B. 为什么重要统一了不同 AI 编码代理的技能生态系统提供了与 Claude Code 完全兼容的技能格式支持按需加载技能，保持上下文清洁允许技能存储在项目仓库中，便于版本控制C. 核心价值OpenSkills 可以被视为 SKILL.md 的通用安装程序，实现了"一次编写，到处运行"的技能分发理念。2. 技术背景A. Anthropic 技能系统Claude Code 将技能作为 SKILL.md 文件分发，并在系统提示词中通过 available_skills XML 块暴露这些技能。当用户请求特定任务时，Claude 会动态加载匹配的技能。B. 兼容性设计OpenSkills 生成与 Claude Code 完全相同的 available_skills XML 格式，写入 AGENTS.md 文件，使任何能够读取该文件的代理都能使用 Claude Code 技能。二、工作原理1. 系统架构graph TB User[用户] --> CLI[OpenSkills CLI] CLI --> Install[install 命令] CLI --> Sync[sync 命令] CLI --> Read[read 命令] Install --> Source[技能来源] Source --> GitHub[GitHub 仓库] Source --> Local[本地路径] Source --> Private[私有 Git 仓库] Install --> SkillsDir[.claude/skills 或 .agent/skills] SkillsDir --> AGENTS[AGENTS.md] Sync --> AGENTS Read --> Agent[AI 编码代理] Agent --> Claude[Claude Code] Agent --> Cursor[Cursor] Agent --> Windsurf[Windsurf] Agent --> Aider[Aider]2. 技能加载机制A. Claude Code 原生方式Claude Code 通过内置的 Skill 工具调用技能，技能存储在 .claude/skills 目录中，由系统提示词自动管理。B. OpenSkills 方式OpenSkills 通过 CLI 命令 npx openskills read 加载技能内容，代理读取 AGENTS.md 文件获取技能列表。C. 两者对比方面Claude CodeOpenSkills提示格式available_skills XML相同的 XML技能存储.claude/skills/.claude/skills/（默认）调用方式Skill("name") 工具npx openskills read 技能市场Anthropic 市场GitHub（anthropics/skills）渐进式加载支持支持三、核心功能1. 安装技能A. 从 Anthropic 市场安装npx openskills install anthropics/skillsB. 从任意 GitHub 仓库安装npx openskills install your-org/your-skillsC. 从本地路径安装npx openskills install ./local-skills/my-skillD. 从私有 Git 仓库安装npx openskills install git@github.com:your-org/private-skills.git2. 同步技能npx openskills sync该命令会更新 AGENTS.md 文件（或自定义输出文件），将所有已安装的技能以 available_skills XML 格式写入。3. 读取技能npx openskills read <skill-name>代理通过此命令获取特定技能的完整内容。4. 管理技能A. 列出已安装技能npx openskills listB. 更新技能npx openskills update [name...]C. 移除技能npx openskills remove <name>D. 交互式管理npx openskills manage四、通用模式1. 多代理环境当同时使用 Claude Code 和其他代理时，使用 --universal 标志将技能安装到 .agent/skills 目录，避免与 Claude 的插件市场冲突。npx openskills install anthropics/skills --universal2. 技能优先级优先级顺序（从高到低）：./.agent/skills/~/.agent/skills/./.claude/skills/~/.claude/skills/五、SKILL.md 格式1. 基本结构--- name: pdf description: Comprehensive PDF manipulation toolkit for extracting text and tables... ---2. 完整示例--- name: pdf description: Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. --- # PDF Skill Instructions When the user asks you to work with PDFs, follow these steps: 1. Install dependencies: `pip install pypdf2` 2. Extract text using scripts/extract_text.py 3. Use references/api-docs.md for details3. 技能特点按需加载：仅在需要时加载技能，保持代理上下文清洁自包含：技能包含所有必要的指令和资源可版本控制：技能可以作为项目的一部分进行版本管理六、创建自定义技能1. 最小结构my-skill/ └── SKILL.md2. 完整结构my-skill/ ├── SKILL.md ├── references/ ├── scripts/ └── assets/3. 安装自定义技能npx openskills install ./my-skill4. 本地开发与符号链接git clone git@github.com:your-org/my-skills.git ~/dev/my-skills mkdir -p .claude/skills ln -s ~/dev/my-skills/my-skill .claude/skills/my-skill5. 技能创作指南使用 skill-creator 技能获取创作指导：npx openskills install anthropics/skills npx openskills read skill-creator七、技术实现1. 命令行标志标志说明--global全局安装到 ~/.claude/skills（默认为项目安装）--universal安装到 .agent/skills/ 而非 .claude/skills/-y, --yes跳过提示（适用于 CI）-o, --output sync 的输出文件（默认：AGENTS.md）2. AGENTS.md 生成OpenSkills 自动生成符合 Anthropic 规范的 AGENTS.md 文件，包含完整的 available_skills XML 块，供代理读取和使用。八、设计理念1. 为什么选择 CLI 而非 MCPA. MCP 的定位MCP（Model Context Protocol）用于动态工具，需要运行服务器。B. 技能的特点技能是静态文件，无需服务器适用于每个代理，无需 MCP 支持符合 Anthropic 的设计理念，SKILL.md 即规范C. 结论MCP 和技能解决不同问题。OpenSkills 保持技能的轻量级和通用性。2. 渐进式披露技能仅在需要时加载，避免污染代理的上下文窗口，提高响应效率。3. 仓库友好技能存储在项目目录中，可以随项目一起版本控制和共享。4. 私有友好支持从本地路径或私有 Git 仓库安装技能，适用于企业环境。九、使用场景1. 多代理开发开发者使用不同的 AI 编码代理（Claude Code、Cursor、Windsurf 等），希望共享同一套技能库。2. 团队协作团队创建自定义技能，通过私有 Git 仓库共享，确保所有成员使用相同的技能集。3. CI/CD 集成使用 --yes 标志在自动化流程中安装和同步技能。十、系统要求1. 运行环境Node.js 20.6+Git（用于克隆仓库）2. 安装方式npm install -g openskills或使用 npx 直接运行：npx openskills install anthropics/skills十一、项目状态1. 开源信息许可证：Apache 2.0GitHub：numman-ali/openskillsStars：7.5k+Forks：510+最新版本：v1.5.0（2026 年 1 月 17 日）2. 技术栈TypeScript 96.9%JavaScript 3.1%十二、常见问题1. 与 Claude Code 的关系OpenSkills 实现了 Anthropic 的 Agent Skills 规范，但并非 Anthropic 官方项目。Claude、Claude Code 和 Agent Skills 是 Anthropic PBC 的商标。2. 多次读取优化对于多次读取，建议使用逗号分隔的名称：npx openskills read foo,bar3. 技能更新跟踪如果技能在更新跟踪之前安装，需要重新安装一次以记录其来源。参考资料OpenSkills GitHub RepositoryAnthropic Agent Skills Specificationnpm Package