OpenAI Agent Skills 架构速览

一句话定位

openai/skills 是一个开源的 AI 代理技能标准与目录。它定义了一套规范,允许 AI 代理(如 OpenAI Codex)通过识别特定格式的文件夹(包含指令、脚本和资源)来扩展其实操能力,实现“写一次,随处使用(Write once, use everywhere)”。

技术栈

  • 核心规范:Markdown (SKILL.md) 与 YAML Frontmatter
  • 逻辑实现:Python / Shell / Node.js(取决于具体技能的脚本)
  • 分发方式:GitHub 仓库 / 目录同步
  • 运行环境:AI 代理宿主环境(如 Codex)

目录结构

.
├── skills/
│   ├── .system/           # 系统核心技能(如 skill-installer, skill-creator)
│   │   └── skill-installer/
│   │       ├── SKILL.md   # 技能的核心接口与逻辑定义
│   │       ├── scripts/   # 辅助 Python 脚本
│   │       └── agents/    # 特定代理(如 OpenAI)的配置
│   └── .curated/          # 官方精选的实用技能目录(共 40+ 个)
│       ├── frontend-skill/# 前端开发增强
│       ├── figma/         # Figma 插件交互
│       └── ...
├── README.md              # 项目入门指南
└── contributing.md        # 贡献规范

入口点

  • SKILL.md:每个技能的“心脏”。它通过 Frontmatter 定义技能名称和描述,正文部分则是给 AI 代理的高层指令。代理通过解析此文件来理解何时以及如何调用该技能。
  • .system/skill-installer:项目的引导程序,负责将远程 GitHub 仓库中的其他技能安装到本地 $CODEX_HOME/skills 目录。

核心数据流

用户:帮我安装 gh-fix-ci 技能
  → 代理读取 .system/skill-installer/SKILL.md
  → 执行 scripts/install-skill-from-github.py
  → [远程] 下载 openai/skills/skills/.curated/gh-fix-ci 文件夹
  → [本地] 写入 ~/.codex/skills/gh-fix-ci
  → 代理重启/刷新技能目录
  → 代理通过 gh-fix-ci/SKILL.md 识别新能力

整体架构

项目采用了一种 声明式扩展 的分层设计:

  1. 指令层 (Instruction Layer):由 SKILL.md 承载,告诉代理该做什么以及如何与用户交流。
  2. 工具层 (Tooling Layer):位于 scripts/ 目录,通过 Python 等脚本执行高风险或复杂操作(如 API 调用、文件操作)。
  3. 适配层 (Adapter Layer):位于 agents/ 目录,确保同一套技能可以适配不同的 AI 模型或宿主环境。

核心抽象

  • Skill:一个独立的文件夹单元。
    • SKILL.md:定义接口与策略。
    • scripts/:封装复杂行为,保持 SKILL.md 简洁。
  • skill-installer:管理技能生命周期的核心系统技能,支持从公共/私有 GitHub 仓库安装。
  • skill-creator:辅助 AI 代理自我进化,通过模板生成新的技能文件夹。

关键文件速查

想了解什么去哪里找
技能是如何定义的?skills/.system/skill-installer/SKILL.md(参考标准实现)
有哪些可用的现成技能?skills/.curated/ 目录
技能如何与特定代理适配?每个技能下的 agents/ 目录
如何安装新技能?skills/.system/skill-installer/scripts/ 下的安装脚本

核心依赖

用途
python3编写跨平台的自动化脚本。
github-api用于列表展示和直接从 GitHub 下载技能内容。

值得关注的设计决策

  1. “写一次,随处使用”:通过将逻辑(脚本)与指令(Markdown)分离,使得技能不仅能被 OpenAI 的产品使用,也能被任何遵循该标准的代理框架集成。
  2. 基于文件系统的“发现机制”:代理通过扫描本地目录即可热更新能力,无需复杂的插件注册中心。
  3. 安全隔离:脚本运行在沙盒中,对于需要联网或文件访问的操作,在 SKILL.md 中明确要求代理请求用户授权(Escalation)。

报告由 Antigravity 自动生成。