Codex Skills是什么?Codex Skills高效拓展自动化任务的完整教程
Codex Skills其实是Codex拓展任务能力的核心机制。它遵循开源标准,以文件夹的形式把指令、脚本和资源封装在一起。最巧妙的地方在于它的渐进式加载机制——这种设计能节省Token,同时提升运行效率。接下来,我们会完整拆解Skills的定义、核心优势,手把手演示内置工具创建和手动搭建两种方式,还会介绍技能调用方法,最后搭配一个创建文件夹的实战案例,帮助大家快速掌握。
一、Skills
什么是Codex Skill?
先来看一个底层问题:Codex Skill到底是个什么东西?本质上,它是一个文件夹——一个任务特定的能力包,里面装的是指令、脚本和资源。它遵循的是开源标准http://agentskills.io。
每一个Skill的核心文件是SKILL.md,用Markdown格式编写,里面包含了元数据和详细指令。这个设计非常聪明,因为采用了一种叫“渐进式加载”(progressive disclosure)的机制。Codex只在初始上下文中预加载这个文件夹的名称和简短描述,这样一来,宝贵的Token不会被浪费——只有当任务真正需要用到这个Skill时,才去读取完整的指令文件。如此一来,在处理长任务时,Codex就能始终保持高效。
Skills的主要优势
- :比如自动修复CI失败、集成任务管理工具等。
可靠执行特定工作流
- :团队或社区可以轻松分发Skill,甚至跨平台迁移(比如从Claude迁移到Codex)。
易共享
- :不污染主提示,只在需要时激活。
上下文高效
- :支持可选脚本、参考文档和资源文件。
可扩展
Codex自带几个系统Skill,比如plan(规划复杂任务)、skill-creator(创建新Skill)和skill-installer(安装Skill)。从设计角度看,这套体系从一开始就考虑到了可扩展性。
二、如何创建Skills
2.1 使用内置skill-creator
创建Skills有两种主流方式。第一种是直接用Codex内置的skill-creator。你在Codex中直接调用$skill-creator,然后描述你想要的Skill功能就行了。举个例子:“创建一个Skill,用于处理PDF文件提取文本和表格,使用pdfplumber库。”Codex会自动生成文件夹结构和SKILL.md模板。你还可以先用$plan Skill规划一下,再结合skill-creator完善细节。
2.2 手动创建
第二种方式是手动搭建。在合适的目录下创建一个文件夹(文件夹名就是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会覆盖掉同名的低优先级版本,方便自定义。
三、如何使用Skills
使用Skills的方式有两种,各有适用场景。
显式调用(推荐精确控制):
$.skill-name(比如$.linear),或者在CLI/IDE中使用/skills命令选择。
自动选择(更自然):
description字段写得够准确。输入codex启动,然后打一个斜杠,就能看到Skills列表了。输入/skills进入技能菜单,再输入skill-creator,也可以直接通过$触发功能菜单。
四、实战案例
4.1 输入命令
$skill-creator firstskill
4.2 输出内容
我将使用skill-creator,因为你明确要创建一个新技能firstskill。
先进入第1步:明确用途与触发场景。请用简短中文回答:
- 这个skill要解决什么具体任务?
- 给2–3句“用户会怎么提问”的例子(触发语句)。
- 需要固定流程/脚本/参考资料吗?如果有,是什么类型(scripts / references / assets)?
- 预期输出是什么样(文字说明、命令、模板文件等)?
确认后我会给出技能命名、目录结构与最小SKILL.md草案。
输入内容:
收到。将按skill-creator继续。
先确认触发与命名(简短回复即可):
- :给2–3条用户可能的提问句子(中文即可)。
触发示例
- :建议
技能名称
make-folder或create-folder,你更偏好哪一个? - ?如果只用命令行创建目录也可以不加
是否需要脚本
scripts/。你希望包含脚本吗?
输入内容:
触发演示例子:请帮我创建文件夹test,我要创建一个文件夹,创建文件夹等;名字就叫makefolder;我希望包含脚本。
4.3 输出内容
已按skill-creator建好makefolder技能骨架与脚本,保持精简可用。
变更说明
- 新增
skills/makefolder/SKILL.md,包含触发描述与使用规则 - 新增
skills/makefolder/scripts/make_folder.ps1,用于在当前项目创建单一文件夹
文件位置
skills/makefolder/SKILL.mdskills/makefolder/scripts/make_folder.ps1
下一步建议
试用脚本:./skills/makefolder/scripts/make_folder.ps1 test
如果你想改成中文说明或加入更多校验规则,告诉我偏好。
然后项目目录下,就会有一个Skills了。Skills下面有一个子文件夹叫makefolder。具体目录结构如下:
skills/
└── makefolder/
├── SKILL.md
└── scripts/
└── make_folder.ps1
总结
本文系统梳理了Codex Skills的核心机制,从定义、优势到两种创建方式,再到显式调用与自动匹配的使用方法,最后通过一个完整的文件夹创建案例,完整演示了从零搭建Skill的流程。这套机制的精髓在于:它把任务能力变成可复用的模块,既节约了Token,又让工作流变得可靠、可分享。对于想要用Codex自动化复杂任务的开发者来说,掌握Skills可以说是必不可少的一步。