发布日期:2026-10-20
Codex Skills是OpenAI提供的任务工作流扩展。截至2026年10月,官方文档区分显式点名和根据任务自动匹配两种调用方式。如果想保留技能、使用时再手动选择,可以在该Skill的agents/openai.yaml中设置policy.allow_implicit_invocation: false,显式调用仍然有效;如果要完整停用,则使用config.toml中的单技能禁用配置。两种开关作用不同,还要注意实际加载路径、同名技能和已有项目指令,不能只改一句描述就当作完成配置。
装好一批Skills后,你可能遇到这样的情况:原本只是问一个问题,Codex却先加载一套工作流,接着开始找资料、拆步骤,甚至准备生成文件。
这时候,需要先说清自己的目标:以后还要用这个Skill,只是不想每次都被自动选中;还是暂时完全不用它。前者调整调用策略,后者调整启用状态。
只保留手动调用,修改目标Skill的openai.yaml
关闭某个Skill的隐式调用,应在该Skill自己的agents/openai.yaml中设置策略。
以一个名为my-review的自定义Skill为例。这个名称仅用于演示,实际操作时替换成你的技能名称。目录关系如下:
my-review/
├── SKILL.md
└── agents/
└── openai.yaml
在openai.yaml中新增或合并以下内容:
policy:
allow_implicit_invocation: false
OpenAI官方Skills文档明确说明,这个字段默认是true。设为false后,Codex不会再根据用户任务隐式调用该Skill,显式的$skill调用仍然有效。
注意policy是YAML的顶层字段,allow_implicit_invocation位于它下面。不要放进SKILL.md的描述区,也不要缩进到interface下面。
如果文件里已经有显示名称、图标或工具依赖,保留原内容,只合并这项策略。官方说明Codex可以检测Skill变更;若保存后仍呈现旧行为,重启Codex再验证。
需要使用时,继续显式点名Skill
关闭隐式调用后,仍可以主动选择该Skill执行任务。
官方文档明确,Codex CLI和IDE扩展支持通过/skills选择技能,或输入$提及技能。以下示例按这两个客户端的调用方式展示:
$my-review 检查当前改动,只输出问题和定位依据。
这里应使用SKILL.md元数据中的实际name,不只看文件夹叫什么。不同客户端的选择入口可能不同,不要把CLI命令直接当成所有桌面界面的操作步骤。
验证时,可以分别在两个新对话中提交同一项任务:第一次只自然描述任务,不选择技能;第二次显式提及$my-review。前者用于检查是否还会自动选中它,后者用于确认手动调用仍可用。
先确认这个Skill仍处于启用状态。如果同时把它禁用了,就不能用这组对照来验证“仅手动调用”。
完整停用一个Skill,使用config.toml
完整禁用本地Skill的配置位于~/.codex/config.toml,与前面的调用策略分开。
下面沿用OpenAI Skills指南的写法,路径占位符必须替换成目标Skill的真实绝对路径:
[[skills.config]]
path = "/absolute/path/to/my-review/SKILL.md"
enabled = false
enabled = false用于停用所指向的Skill,不是保留手动调用的设置。官方要求修改这份配置后重启Codex。
这里有一个需要留意的文档差异:Skills指南示例的path指向SKILL.md文件,配置参考则将它描述为包含SKILL.md的目录。上例照录指南的文件路径形式;若所用版本未生效,应核对该版本说明和实际加载路径,不能据此假定两种路径形式都兼容。
如果只是想“平时别启动,我点名时再用”,使用前面的YAML策略即可。
配好后仍触发,先确认改的是哪一份
同名Skill不代表同一份文件,排查应从当前会话实际加载的路径开始。
OpenAI文档说明,Codex会从仓库、用户、管理员和系统等位置加载技能;在Git仓库内,还会沿当前目录向上扫描至仓库根的.agents/skills。两份Skill即使同名,也不会自动合并。
因此,修改一个用户目录里的Skill,并不能证明仓库里的同名版本也已改变。可以依次检查:
-
当前被选中的Skill来自哪个路径,修改的是否正是这一份。
-
policy是否位于agents/openai.yaml顶层,false是否为布尔值。 -
用户输入是否已经显式选择技能;显式调用继续生效属于预期行为。
-
提示词或
AGENTS.md是否另有明确要求使用某个工作流。调用策略与项目指令应分别检查。
把description改得更具体,也能让匹配边界更清楚。官方说明,隐式选择依赖任务与描述的匹配;要设置“仅手动调用”,仍应使用专门的策略字段。
关闭自动调用,不等于清空技能列表
技能的发现、列表展示和实际调用是不同环节,关闭隐式调用不能直接解释为不再加载任何技能元数据。
按2026年10月20日核验的OpenAI文档,Codex先获得技能名称、描述和文件路径,决定使用后才读取完整SKILL.md。初始列表默认最多占模型上下文窗口的2%;窗口未知时使用8,000字符预算;显式设置的skills.max_context_tokens上限为10,000 tokens。
这些数字描述的是初始技能目录预算,不是自动触发开关。单纯调小预算,不能代替allow_implicit_invocation: false;希望多项技能都只手动使用,应分别检查它们各自的调用策略。
OpenAI Skills指南和配置参考给出的关键区别是:allow_implicit_invocation控制是否自动匹配,enabled控制技能是否启用。本文配置已对照官方文档,未执行真实Codex会话的行为验证;文档路径差异已在相应步骤注明。本文信息截至2026年10月20日。