Codex Skills 初体验,第一个技能创建和使用!

所有使用 AI 编程的程序员都应该关注一下这项技术,这应该是一个重点发展方向。

2025 年 12 月 19 日的时候 OpenAI 发布了一条公告,Codex 全面支持 Skills。

Skills 最早由 Claude 家提出,现在 OpenAI 也全面支持了,那么基本就相当于这个规范已经快要确定了。

从 agentskills 上可以看到,目前已经有大量平台支持这项技术了。

所有的 AI 编程工具都支持了,就差谷歌入场了。

之前一直想研究一下,但是我没有直接开通 Claude,所以就暂缓了。当听到 Codex 也支持了,我觉得我必须要实践一下了。下面就一起了解一下什么是 Skill,如何创建 Skill,如何使用 Skill。

什么是 Codex Skill?

Skills 是任务特定的能力包,本质上就是一个文件夹,包含指令、脚本和资源。它遵循开源标准 agentskills.io

一个 Skill 的核心是 SKILL.md 文件,用 Markdown 格式编写,包含元数据和详细指令。

Skills 的设计非常聪明:采用“渐进式加载”(progressive disclosure)机制。Codex 在初始上下文只加载 Skill 的名称和简短描述(避免浪费 token),只有当真正需要时,才读取完整指令。这让 Codex 在处理长任务时保持高效。

Skills 的主要优势

  • 可靠执行特定工作流:如自动修复 CI 失败、集成任务管理工具等。
  • 易共享:团队或社区可以轻松分发 Skill,支持跨平台(如从 Claude 迁移到 Codex)。
  • 上下文高效:不污染主提示,只在需要时激活。
  • 可扩展:支持可选脚本、参考文档和资源文件。

Codex 自带几个系统 Skill,如 plan(规划复杂任务)、skill-creator(创建新 Skill)和 skill-installer(安装 Skill)。

如何创建 Skills?

  1. 使用内置 skill-creator

在 Codex 中直接调用 $skill-creator,然后描述你想要的 Skill 功能。

例如:“创建一个 Skill,用于处理 PDF 文件提取文本和表格,使用 pdfplumber 库。”

Codex 会自动生成文件夹结构和 SKILL.md 模板。

你还可以先用 $plan Skill 规划,再结合 skill-creator 完善。

  1. 手动创建

在合适的目录下创建一个文件夹(文件夹名即 Skill 名),然后添加 SKILL.md 文件。

基本格式如下:

---
name: your-skill-name
description: 当用户提到 XXX 时使用这个 Skill,帮助完成 YYY。
metadata:
short-description: 可选的简短用户可见描述
---

# Skill 标题

这里写详细指令:一步步指导 Codex 如何执行任务。
- 使用哪些工具或库
- 处理边缘情况
- 输出格式要求
- 示例等

可选添加子文件夹:

  • scripts/:存放可执行脚本。
  • references/:参考文档。
  • assets/:模板或其他资源。

Skill 存放位置(优先级从高到低)

  • 项目当前目录:.codex/skills/(适合当前 repo 专用)。
  • 项目根目录:repo_root/.codex/skills/(团队共享)。
  • 个人全局:~/.codex/skills/(默认位置)。
  • 系统内置:Codex 自带,无法覆盖。

更高优先级的 Skill 会覆盖同名低优先级 Skill,便于自定义覆盖。

如何使用 Skills?

使用 Skills 有两种方式:

  1. 显式调用(推荐精确控制):
    • 在提示中直接写 $.skill-name(例如 $.linear)。
    • 或在 CLI/IDE 中使用 /skills 命令选择。
  2. 自动选择(更自然):
    • Codex 会根据你的任务描述,智能判断并加载匹配的 Skill(依赖 description 字段写得准确)。

举个例子

概念学完了,尝试自己创建一个 Skills。比如我要创建一个可以创建文件夹的技能。通过调用这个技能可以在当前文件夹新建一个指定名称的文件夹。

首先确保已经安装最新版 Codex 工具。

可以通过 codex --version 查看版本,如果版号小于 0.76,就升级一下。

直接全局安装:

npm install -g @openai/codex@latest

升级完成之后,就支持 Skills 了。

然后可以创建一个测试文件夹进行测试了。

比如我是在桌面创建了一个 Skills 的文件夹。

输入 codex 启动,然后打一个斜杠,就可以看到 Skills 了。

输入 /skills 进入技能菜单,然后输入 skill-creator。也可以直接通过 $ 触发功能菜单。

输入命令:

$skill-creator firstskill

输出内容:

我将使用 skill-creator,因为你明确要创建一个新技能 firstskill。
先进入第 1 步:明确用途与触发场景。请用简短中文回答:

  1. 这个 skill 要解决什么具体任务?
  2. 给 2–3 句“用户会怎么提问”的例子(触发语句)。
  3. 需要固定流程/脚本/参考资料吗?如果有,是什么类型(scripts / references /
      assets)?
  4. 预期输出是什么样(文字说明、命令、模板文件等)?

确认后我会给出技能命名、目录结构与最小 SKILL.md 草案。

输入内容:

我要创建一个技能,这个技能可以根据传入的文件夹名称,在当前项目下创建一个文件夹。

输出内容:

 收到。将按 skill-creator 继续。

先确认触发与命名(简短回复即可):

1. 触发示例:给 2–3 条用户可能的提问句子(中文即可)。
2. 技能名称:建议 make-folder 或 create-folder,你更偏好哪一个?
3. 是否需要脚本?如果只用命令行创建目录也可以不加 scripts/。你希望包含脚本吗?

输入内容:

触发演示例子:请帮我创建文件夹test,我要创建一个文件夹,创建文件夹等;名字就叫makefolder;我希望包含脚本。

输出内容:

已按 skill-creator 建好 makefolder 技能骨架与脚本,保持精简可用。

变更说明

- 新增 skills/makefolder/SKILL.md,包含触发描述与使用规则
- 新增 skills/makefolder/scripts/make_folder.ps1,用于在当前项目创建单一文件
  夹

文件位置

- skills/makefolder/SKILL.md
- skills/makefolder/scripts/make_folder.ps1

下一步建议

1. 试用脚本:./skills/makefolder/scripts/make_folder.ps1 test
2. 如果你想改成中文说明或加入更多校验规则,告诉我偏好。

然后项目目录下,就会有一个 Skills 了。

Skills 下面有一个子文件夹叫 makefolder。

具体目录结构如下:

 skills/
└─ makefolder/
    ├─ SKILL.md
    └─ scripts/
      └─ make_folder.ps1

然后可以测试技能了。

直接告诉他:

创建一个名为jarvis的文件

或者使用

$makefolder jarvis

这样它就会自动调用技能创建文件夹了。

调用过程中会显示可用的技能,并获取你的授权。

然后你也可以把这个技能拷贝到用户目录下。

~\.codex\skills\makefolder

这样就成为一个全局技能了,在其他项目中也可以使用。

拷贝这个动作也可以交给 Codex 来完成!

最后,也可以通过 $skill-installer 来安装 OpenAI 的官方技能!

Skills from openai/skills:

1. gh-address-comments
2. gh-fix-ci
3. notion-knowledge-capture
4. notion-meeting-intelligence
5. notion-research-documentation
6. notion-spec-to-implementation

这么一圈搞下来,Skills 相关的知识点基本就在了。

我在使用 Codex 内置创建技能的技能时遇到了一个问题。

他虽然创建了技能,但是放置的位置一直有问题,它直接把 Skill 文件放在了当前项目下面,导致技能无法加载,问他规范,它死活说没问题,然后它又不能联网,死局。

其实在上面的知识点中已经介绍过了,需要放在 .codex 下面!

这个时候就需要你懂它的规范了,如果完全让它去瞎搞,就一直会有问题。

Skill 这种模式确实非常不错!

第三方开源标准网站:

https://agentskills.io/home

OpenAI 官方手册:

https://developers.openai.com/codex/skills
 

小尾巴==========================
公众号:托尼不是塔克
交流群
知识星球
==============================

 



发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注