第 3 章:认识 Skill

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
2
3
4
5
6
---
name: skill-name
description: 说明什么时候应该使用这个 skill
---

这里写 Codex 需要遵循的具体步骤。

Skill 文件夹里还可以有:

  • scripts/:辅助脚本。
  • references/:参考资料。
  • examples/:示例。
  • templates/:模板。

Codex 使用 Skill 时采用“渐进披露”机制:一开始只看到 Skill 的名称、描述和路径;只有决定使用某个 Skill 时,才读取完整的 SKILL.md。这样可以避免一开始就把大量说明塞进上下文。

3.4 Skill 怎么触发

Skill 有两种触发方式:

  1. 明确触发
    用户直接点名某个 Skill,例如“使用 notion-knowledge-capture skill”。

  2. 自动触发
    Codex 根据用户请求和 Skill 的 description 判断是否适合使用。

因此,Skill 的 description 很重要。它应该清楚说明:

  • 什么时候应该用。
  • 什么时候不应该用。
  • 关键触发词是什么。
  • 这个 Skill 的边界在哪里。

3.5 Skill、AGENTS、插件和 MCP 的区别

这几个概念容易混在一起,可以先这样区分:

1
2
3
4
AGENTS.md = 长期行为规则
Skill = 可复用任务流程
Plugin = 打包分发 Skill、工具、MCP、App 连接能力
MCP = 连接外部工具和数据的协议

举例:

  • 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,先做到三步:

  1. 看懂 Skill 是什么。
  2. 看懂一个真实的 SKILL.md
  3. 判断什么时候该用 Skill,什么时候该用 AGENTS.md

后续可以尝试做一个简单的个人 Skill,例如:

  • 对话归档 Skill。
  • 教程更新 Skill。
  • 网页发布检查 Skill。

3.7 Skill 存放在哪里

Skill 可以来自不同层级。

常见位置:

1
2
3
4
项目级 Skill:项目目录\.agents\skills
用户级 Skill:C:\Users\Lenovo\.agents\skills
系统级 Skill:C:\Users\Lenovo\.codex\skills\.system
插件自带 Skill:C:\Users\Lenovo\.codex\plugins\cache\...

不同层级的用途:

  • 项目级 Skill:只适合某个项目或仓库的流程,例如某个项目专属发布流程。
  • 用户级 Skill:适合个人长期使用、跨项目复用的流程。
  • 系统级 Skill:Codex 自带能力,例如 openai-docsskill-creatorskill-installer
  • 插件自带 Skill:安装插件后出现,例如 Notion、Gmail、Slack、GitHub 插件里的 Skill。

当前电脑上已经能看到系统级 Skill:

1
2
3
C:\Users\Lenovo\.codex\skills\.system\openai-docs
C:\Users\Lenovo\.codex\skills\.system\skill-creator
C:\Users\Lenovo\.codex\skills\.system\skill-installer

当前还没有用户级 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
2
3
4
5
6
---
name: my-skill
description: 说明什么时候应该使用这个 skill
---

这里写具体步骤。

第三种:通过插件安装。

插件可以自带一个或多个 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
2
3
C:\Users\Lenovo\.codex\skills\publish-article-to-website\SKILL.md
C:\Users\Lenovo\.codex\skills\publish-article-to-website\scripts\publish_markdown.ps1
C:\Users\Lenovo\.codex\skills\publish-article-to-website\references\publishing-rules.md

调用方式:

1
使用 publish-article-to-website skill 发布这篇文章

或:

1
$publish-article-to-website

对 Codex 使用教程,固定投递规则是:

1
2
源文档:C:\Users\Lenovo\OneDrive\Codex使用学习教程.md
发布副本:C:\Users\Lenovo\OneDrive\网页发布文档\Codex使用教程.md

该 Skill 的辅助脚本已经测试成功,可以把源文档复制到发布目录并覆盖发布副本。

官方校验脚本 quick_validate.py 曾尝试运行,但当前 py 环境缺少 yaml 模块,因此没有完成官方校验;已完成手动结构检查和脚本运行验证。