章节 01
导读 / 主楼:Open Agent Skills:跨平台 AI 编程助手技能库
Open Agent Skills:跨平台 AI 编程助手技能库
AI 编程助手的碎片化困境
随着 Claude Code、OpenAI Codex、Gemini CLI 等 AI 编程助手的快速发展,开发者面临着一种新的碎片化问题:每个工具都有自己的技能/插件系统,但技能内容却无法跨工具复用。这意味着开发者为 Claude Code 编写的技能无法直接在 Codex 中使用,造成了大量的重复劳动。
Open Agent Skills 项目正是为了解决这一问题而生。它提出了一种代理无关(agent-neutral)的技能定义格式,使得同样的技能内容可以通过不同的入口点被多种 AI 编程工具加载和使用。
核心设计理念
代理无关的技能内容
Open Agent Skills 的核心原则是:技能内容本身应该是代理无关的,而工具特定的指导应该放在入口点文件中,而不是共享的技能内容中。
这意味着:
- 技能的核心知识(如 Swift 性能优化技巧、IPC 通信模式等)只定义一次
- 不同 AI 工具的加载方式、配置格式在各自的入口点中处理
- 添加对新 AI 工具的支持只需添加新的入口点,无需重写技能内容
插件与技能的层级结构
项目采用两级组织结构:
- 插件(Plugin):围绕特定主题的技能集合,如 Swift 开发、凭证管理等
- 技能(Skill):自包含的参考文档,当用户问题匹配技能的触发描述时,兼容的编程助手会按需加载
这种设计使得知识可以被模块化组织,开发者可以根据需要安装和使用特定的插件。
当前支持的 AI 工具
Claude Code
Claude Code 通过读取 .claude-plugin/marketplace.json 文件来发现和加载插件。Open Agent Skills 提供了完整的 Claude Code 市场注册表支持。
OpenAI Codex
Codex 通过 .agents/plugins/marketplace.json 和每个插件的 .codex-plugin/plugin.json 文件来解析插件。项目同样提供了完整的 Codex 支持。
Gemini CLI
Gemini CLI 的支持正在规划中,发现格式待定。项目架构已经为未来的扩展做好了准备。
现有插件概览
凭证存储(credential-storage)
这是 AI 编程助手的本地凭证存储解决方案,解决了敏感信息(API 密钥、访问令牌等)的安全管理问题。
核心特性:
- 非秘密索引文件位于
~/.agents/credentials.json(权限 0600),将凭证名称映射到 OS 密钥库引用 - 实际密钥存储在 macOS 钥匙串中,每个凭证作为独立的通用密码项
- 提供安全的消费模式,下游技能通过此技能获取凭证,而非读取明文令牌文件
- 包含全局 pre-commit 钩子,防止敏感信息意外提交到版本控制
包含的技能:
- 索引文件模式定义
- 安全 CLI 命令(设置/读取/删除/轮换)
- 威胁模型文档
Swift 开发技能集
这是一组专注于 Swift 语言正确性和性能优化的技能,涵盖多个关键领域:
Swift IPC(swift-ipc)
Apple 平台上的进程间通信技术:
- XPC 和 NSXPCConnection
- 共享内存(mmap、POSIX shm)
- 无锁单生产者单消费者(SPSC)环形缓冲区
- Mach 消息
- 跨进程同步模式
Swift 性能(swift-performance)
性能优化最佳实践:
- 方法派发机制
- 存在类型(existentials)开销
- 自动引用计数(ARC)优化
- 写时复制(copy-on-write)
- 值类型 vs 引用类型
- 不可复制类型(~Copyable)
- 类型化抛出(typed throws)
- 集合、字符串、结构体布局优化
- Swift Concurrency 开销分析
Swift 同步(swift-synchronization)
线程与同步原语:
- DispatchQueue 所有权模式
- OSAllocatedUnfairLock
- Swift Mutex 和 Atomic(Synchronization 模块)
- Actor 和 nonisolated
- 内存排序(memory ordering)
- 优先级反转和死锁预防
Swift 测试(swift-testing)
Swift Testing 框架使用指南(Swift 5.9+ / Xcode 16+):
- @Suite 和 @Test 注解
- #expect 和 #require 断言
- 参数化测试
- 异步测试
- 标签(tags)和特性(traits)
- 依赖注入
- 从 XCTest 迁移
使用方式
添加市场源
对于 Claude Code 用户:
claude plugin marketplace add Tyr0/open-agent-skills
安装插件
claude plugin install credential-storage
claude plugin install swift-performance
对于 Codex 用户,需要按照 Codex 的插件文档配置市场源,然后安装所需插件。
贡献指南
项目欢迎社区贡献。在提交 Pull Request 之前,请注意:
- 阅读 ARCHITECTURE.md 了解插件和技能格式规范
- 引入新插件时,同时更新两个市场注册表(Claude 和 Codex)
- 保持技能内容的代理无关性——工具特定的指导属于入口点文件,而非共享技能
架构优势与未来发展
解决的核心问题
Open Agent Skills 通过统一的技能定义格式,解决了 AI 编程助手生态中的碎片化问题。开发者不再需要为每个工具重复编写相同的内容,而是可以专注于技能本身的质量和深度。
扩展性设计
项目的架构设计使得添加对新 AI 工具的支持变得简单:
- 只需添加新的市场注册表入口点
- 无需修改现有的技能内容
- 保持向后兼容性
未来可能性
随着 AI 编程助手市场的成熟,类似 Open Agent Skills 这样的跨平台技能库可能会成为行业标准。它不仅降低了技能开发者的维护成本,也为用户提供了更一致的体验——无论他们选择哪种 AI 编程工具,都能获得高质量的技能支持。
结语
Open Agent Skills 代表了 AI 编程助手生态发展的一个重要方向:从碎片化走向标准化,从重复劳动走向高效复用。通过代理无关的设计理念和模块化的插件架构,它为开发者和 AI 工具厂商提供了一个共赢的解决方案。随着更多 AI 编程工具的涌现,这种跨平台的技能共享机制将变得越来越重要。