3.1 Skill 是什么
Skill 是给 Codex 准备的一套“可重复使用的工作方法”。
它不是某一次临时提示词,而是一个可以反复调用的流程包。一个 Skill 通常会告诉 Codex:什么时候使用、按什么步骤做、需要看哪些参考资料、是否要运行辅助脚本。
可以这样理解:
1 | Skill = 可复用流程 + 专门说明 + 可选脚本/资料/模板 |
比如:
- 经常把对话归档到 Notion,可以沉淀成 Skill。
- 经常按固定格式更新教程,可以沉淀成 Skill。
- 经常做代码审查、发布检查、测试报告,也可以沉淀成 Skill。
3.2 Skill 解决什么问题
如果一个流程每次都要重复解释,就适合做成 Skill。
普通对话里,你可能要反复告诉 Codex:
1 | 先检查文件,再整理内容,然后按固定格式输出,最后不要保存敏感信息。 |
如果这个流程经常出现,就可以把它写进 Skill。以后只要任务匹配,Codex 就能按固定流程执行,减少重复沟通。
Skill 适合:
- 重复性工作流。
- 团队或个人专属流程。
- 需要示例、参考资料、模板或脚本辅助的任务。
- 希望 Codex 在特定任务上稳定遵循步骤的场景。
3.3 Skill 的基本结构
一个 Skill 本质上是一个文件夹,里面至少有一个:
1 | SKILL.md |
SKILL.md 通常长这样:
1 | --- |
Skill 文件夹里还可以有:
scripts/:辅助脚本。references/:参考资料。examples/:示例。templates/:模板。
Codex 使用 Skill 时采用“渐进披露”机制:一开始只看到 Skill 的名称、描述和路径;只有决定使用某个 Skill 时,才读取完整的 SKILL.md。这样可以避免一开始就把大量说明塞进上下文。
3.4 Skill 怎么触发
Skill 有两种触发方式:
明确触发
用户直接点名某个 Skill,例如“使用 notion-knowledge-capture skill”。自动触发
Codex 根据用户请求和 Skill 的description判断是否适合使用。
因此,Skill 的 description 很重要。它应该清楚说明:
- 什么时候应该用。
- 什么时候不应该用。
- 关键触发词是什么。
- 这个 Skill 的边界在哪里。
3.5 Skill、AGENTS、插件和 MCP 的区别
这几个概念容易混在一起,可以先这样区分:
1 | AGENTS.md = 长期行为规则 |
举例:
AGENTS.md:默认使用项目外对话;不要保存敏感凭据;总结时归档 Notion。- Skill:如何把一次对话整理成 Notion 记录;如何更新教程;如何执行发布检查。
- Plugin:Notion 插件、Gmail 插件、Slack 插件,把相关 Skill 和工具打包在一起。
- MCP:让 Codex 能访问 Notion、GitHub、Gmail、Slack 等外部系统的工具连接方式。
实际选择时:
- 想让 Codex 长期遵守某条规则,用
AGENTS.md。 - 想把一种任务变成固定流程,用 Skill。
- 想安装一整套能力,用 Plugin。
- 想连接外部系统或授权数据,用 MCP 或 App Connector。
3.6 当前学习建议
现在不急着自己写 Skill,先做到三步:
- 看懂 Skill 是什么。
- 看懂一个真实的
SKILL.md。 - 判断什么时候该用 Skill,什么时候该用
AGENTS.md。
后续可以尝试做一个简单的个人 Skill,例如:
- 对话归档 Skill。
- 教程更新 Skill。
- 网页发布检查 Skill。
3.7 Skill 存放在哪里
Skill 可以来自不同层级。
常见位置:
1 | 项目级 Skill:项目目录\.agents\skills |
不同层级的用途:
- 项目级 Skill:只适合某个项目或仓库的流程,例如某个项目专属发布流程。
- 用户级 Skill:适合个人长期使用、跨项目复用的流程。
- 系统级 Skill:Codex 自带能力,例如
openai-docs、skill-creator、skill-installer。 - 插件自带 Skill:安装插件后出现,例如 Notion、Gmail、Slack、GitHub 插件里的 Skill。
当前电脑上已经能看到系统级 Skill:
1 | C:\Users\Lenovo\.codex\skills\.system\openai-docs |
当前还没有用户级 Skill 目录:
1 | C:\Users\Lenovo\.agents\skills |
以后如果创建个人 Skill,可以优先放到这个用户级目录,让它跨项目可用。
3.8 Skill 怎么调用
Skill 有两种调用方式。
第一种是明确调用:
1 | 使用 openai-docs skill 解释 Codex 的 Skills |
或者在支持的界面中用 $skill-name 形式点名:
1 | $skill-creator |
第二种是自动调用:
用户没有点名 Skill,但请求内容和某个 Skill 的 description 很匹配,Codex 会自己决定使用。
例如你问 Codex 自身机制、模型、OpenAI 文档时,openai-docs Skill 就适合被调用。
调用是否稳定,主要取决于:
- Skill 的
description是否写得清楚。 - 用户请求是否包含明确触发词。
- 当前会话是否能看到这个 Skill。
- Skill 是否被禁用。
3.9 Skill 怎么安装
安装 Skill 有几种方式。
第一种:使用内置安装器。
1 | $skill-installer |
它适合安装 curated skills,或者从其他仓库下载 Skill。
第二种:自己手动创建。
创建一个文件夹,并放入 SKILL.md:
1 | C:\Users\Lenovo\.agents\skills\my-skill\SKILL.md |
最小内容:
1 | --- |
第三种:通过插件安装。
插件可以自带一个或多个 Skill。安装插件后,对应 Skill 会出现在 Codex 可用 Skill 列表中。
例如:
- Notion 插件带 Notion 相关 Skill。
- Gmail 插件带邮件处理 Skill。
- GitHub 插件带 PR、CI、发布相关 Skill。
如果新安装或修改的 Skill 没有出现,可以重启 Codex。
3.10 示例:发布文章到网站 Skill
已经创建了一个用户级 Skill:
1 | C:\Users\Lenovo\.codex\skills\publish-article-to-website |
用途:
- 把 Markdown 文章、教程、笔记或 WIKI 源文件投递到个人网站发布区。
- 把文件视为最新完整版,直接覆盖发布目录中的同名文件。
- 不直接登录服务器、不手动部署网站、不追加旧内容。
- 让 OneDrive 发布自动化负责格式转换、构建、部署和成功后移动到“已发布”目录。
核心文件:
1 | C:\Users\Lenovo\.codex\skills\publish-article-to-website\SKILL.md |
调用方式:
1 | 使用 publish-article-to-website skill 发布这篇文章 |
或:
1 | $publish-article-to-website |
对 Codex 使用教程,固定投递规则是:
1 | 源文档:C:\Users\Lenovo\OneDrive\Codex使用学习教程.md |
该 Skill 的辅助脚本已经测试成功,可以把源文档复制到发布目录并覆盖发布副本。
官方校验脚本 quick_validate.py 曾尝试运行,但当前 py 环境缺少 yaml 模块,因此没有完成官方校验;已完成手动结构检查和脚本运行验证。