用安装器装一个 Codex 技能
Codex 装技能,用的是它自带的一个技能:在 Codex 里输入一行 $skill-installer,安装器就会把文件夹取回来。
linear 这类短名字,出自 OpenAI 的 openai/skills 仓库。这个仓库的 README 如今开头就是弃用声明,指向 OpenAI 的插件仓库去找新示例。不过我们 2026 年 11 月 3 日去读的时候,下面这几条安装命令还在。
$skill-installer linear
$skill-installer gh-address-comments
$skill-installer install the create-plan skill from the .experimental folder
$skill-installer install https://github.com/openai/skills/tree/main/skills/.experimental/create-plan- 在你要用这个技能的项目里启动 Codex。
- 输入上面任意一行。只写名字,装的是精选目录里的技能。写 GitHub 地址,装的就是地址指向的那个文件夹。
- 看 Codex 怎么回复。目标文件夹里已经有同名技能时,安装器会中止。装好之后,它会告诉你技能从下一轮对话起可用。
- 技能没出现,就重启 Codex。README 要求每次装完都重启,构建指南却说 Codex 一般会自己发现新技能。
- 运行
/skills或输入$,按名字点出新装的技能。
重启后还是找不到?安装器自己的 SKILL.md 把技能装进 $CODEX_HOME/skills,默认是 ~/.codex/skills。构建指南的位置表里没有这个文件夹,我们读过的页面也都没说 Codex 会扫描它,所以技能可能就待在 Codex 不去找的地方。把它复制到 $HOME/.agents/skills,这是指南写明的个人位置。上面的帖子是 X 官方嵌入卡片,原帖里的视频没有收进来。
Codex 技能里面有什么
必需的只有 SKILL.md,里面一定要有 name 和 description。OpenAI “构建技能”指南画的结构里,其余部分都是可选的,从脚本到 agents/openai.yaml 都一样。
这种分两步读的做法,OpenAI 叫它渐进式披露。任务还没用到某个技能时,Codex 手里只有它的名称、描述和文件路径。背后的开放标准把整个过程算作三步:发现、激活、执行。
my-skill/
├── SKILL.md 必需:说明和元数据
├── scripts/ 可选:可执行的代码
├── references/ 可选:参考文档
├── assets/ 可选:模板、资源
└── agents/
└── openai.yaml 可选:外观和依赖Claude 有了技能
Claude 官方账号发帖说,Claude 现在可以使用技能了:技能是打包好的指令,教 Claude 按你的方式做事。
来源:Claude 在 X 上 (2026年11月3日 查阅)
Codex 正式支持技能
OpenAI Developers 把技能称为可复用的指令、脚本和资源的集合,你可以用
$直接调用,也可以让 Codex 根据你的提示来选。来源:OpenAI Developers 在 X 上 (2026年11月3日 查阅)
agents/openai.yaml 是可选的元数据文件:ChatGPT 桌面应用里的显示名称和图标、调用策略,以及技能依赖的工具。
调用技能,以及 Codex 没挑中它时查什么
任务和某个技能的 description 对得上,Codex 就会自己挑它来用,OpenAI 叫隐式调用。在 Codex CLI 或 IDE 扩展里用 $ 直接写出技能名,是显式调用,不用等它匹配。
隐式匹配就靠描述这一行,所以主要用途和用户会说的词要放在最前面。技能管到哪里为止也要写明,比如写 PR 描述的技能,可以注明它不负责审查代码。描述太长的话,Codex 可能会截短,留下来的那一截也得对得上。
- Codex 从来不选这个技能:重写描述,再各试几条该匹配和不该匹配的提示。
- 技能只有点名才会运行:看它的
agents/openai.yaml里有没有allow_implicit_invocation: false。这个设置会关掉自动匹配,$技能名这种点名仍然有效。 - 装多了以后有技能不见了:开头那份清单最多占模型上下文窗口的 2%,窗口大小未知时是 8,000 个字符。Codex 会先缩短描述,技能很多时还可能把一部分从清单里去掉,并给出警告。
skills.max_context_tokens可以换一个预算,最高 10,000 个 token。
自己写一个技能
手写一个技能,就是建一个文件夹,在里面写一份 SKILL.md。开放规范定了规则:name 必须和文件夹同名,只能用小写字母、数字和连字符,最长 64 个字符,description 最长 1,024 个字符。OpenAI 另外要求一个技能只做一件事,步骤用祈使句,输入和输出都写明。
Record & Replay 能把你演示的一遍操作记下来,起草成技能。内置的 $skill-creator 会先问你:技能做什么,什么时候触发,只写说明还是带脚本。
---
name: writing-pr-descriptions
description: Writes a pull request description from the current branch's changes. Use when the user asks for a PR description, a PR summary or what to put in a pull request.
---
# Writing PR descriptions
1. Run git diff main...HEAD --stat, then read the changed files.
2. Open with one sentence on what changed and why.
3. List the areas touched, one line each.
4. End with how to test it. If the diff adds no tests, say so.
Never invent an issue number. If the branch name has none, ask for it.
- 在仓库里建
.agents/skills/writing-pr-descriptions。想做成个人技能,就建在$HOME/.agents/skills/writing-pr-descriptions。 - 把示例存成里面的
SKILL.md。 - 运行
/skills或输入$,看 Codex 有没有把它列出来。 - 试两条提示:“为这个分支写一份 PR 描述”应该匹配,“审查这个 diff”不该匹配。要是后一条也调出了这个技能,说明描述写得太宽。
想读一个成品,OpenAI 的指南推荐 gh-fix-ci。它的文件夹里,SKILL.md 旁边是 agents/、assets/ 和 scripts/,另有一个 LICENSE.txt,描述以“当用户要求调试或修复在 GitHub Actions 里运行的 GitHub PR 检查失败时使用”开头(原文为英文)。
到哪里找 Codex 技能,怎样分享自己的
安装器接受任何 GitHub 文件夹地址,所以任何仓库都能当来源,风险也就在这里。技能可以带脚本,装陌生人写的技能之前,先把 SKILL.md 和 scripts/ 里的文件都读一遍。按 README 的说法,技能的许可证放在它自己目录下的 LICENSE.txt 里。
openai/skills 这样被弃用的仓库,随时可能不再更新。复制一份存进自己仓库的 .agents/skills,就不受它停更的影响,在这个仓库里干活的人也都能用到。
技能要在它所在的仓库之外用,OpenAI 建议打包成插件。一个插件可以装两个以上的技能,也可以让一个技能和连接器一起发布。
OpenAI 的示例在 openai/plugins 里,plugins/ 下每个插件一个文件夹,技能放在插件的 skills/ 文件夹里,旁边就是 MCP 配置。OpenAI 插件指南里的示例最小:一个带 plugin.json 的文件夹,加上 skills/hello/SKILL.md 这一个技能。要把某个 GitHub 仓库加成插件市场,运行 codex plugin marketplace add owner/repo。公开的插件,在和 ChatGPT 共用的插件目录里能找到,Codex CLI 的插件浏览器里也有。
Mindket 是独立商店,和 OpenAI 没有隶属关系。技能在这里以工具包的形式上架,也就是给 AI 工具用的纯文本文件夹压缩包,为 Codex 做的工具包解压到 .agents/skills 就能用。技能页上的是另一回事:粘贴进 AI 对话用的提示词技能。
文中链接和来源列表里的页面,我们都在 2026 年 11 月 3 日读过,Mindket 的做法则取自它自己的页面。本文没有实测,示例技能是专为本文写的。弃用声明和各个文件夹的内容,那天之后都可能变。
参考:Codex 去哪里找技能
Codex 从仓库、用户、管理员和系统四类位置读取技能。在 Git 仓库里,它会从你启动 Codex 的目录开始,一路向上扫描到仓库根目录,每一层的 .agents/skills 都看。只和某个微服务有关的技能,可以放在那个服务旁边,全团队都要用的放在根目录。
| 范围 | 位置 | 用途 |
|---|---|---|
| REPO | $CWD/.agents/skills | 启动 Codex 的当前目录,放只和某个微服务或模块有关的技能。 |
| REPO | $CWD/../.agents/skills | 在 Git 仓库里启动时,当前目录的上一层,放一块共享区域用的技能。 |
| REPO | $REPO_ROOT/.agents/skills | 仓库最顶层的目录,放整个仓库通用的根技能,任何子目录都能用。 |
| USER | $HOME/.agents/skills | 你个人的技能,在你做的每个仓库里都能用。 |
| ADMIN | /etc/codex/skills | 机器或容器里共享的系统位置,用于 SDK 脚本、自动化和管理员预置的技能。 |
| SYSTEM | 随 Codex 内置 | skill-creator 和 skill-installer,默认启用。 |
两个技能的 name 相同,Codex 不会把它们合并,选择器里可能同时出现。Codex 还会跟随符号链接的技能文件夹,所以一份技能可以供多个项目共用。
常见问题
Codex 能用为 Claude Code 写的技能吗?
大多可以。Codex 技能建立在同一套开放的 Agent Skills 格式上,这套标准本来就是为了让一个技能在任何兼容的智能体里都能用。不过各家扫描的文件夹不同,得把文件夹挪到 Codex 会找的位置。要留心的是只有某一家支持的字段:规范把 allowed-tools 标为实验性,并说各个智能体的支持程度不一。
Codex 里的技能和插件有什么区别?
插件是一个可以安装的包,除了一个或多个技能,还能带上 MCP 服务器、钩子和展示用的资源。按 OpenAI 的建议,技能的说明需要配上连接的服务或别的工具时,再做成插件。
Codex 技能能在 ChatGPT 应用里用吗?
在 ChatGPT 桌面应用里能用:独立的技能就在那里运行,侧边栏的 Skills 一项会列出你各个项目里创建的技能。打包进插件的技能,还能在网页版、桌面版和手机版 ChatGPT 的 Chat 和 Work 里用。IDE 扩展不支持插件,所以技能要是必须在 IDE 扩展里用,就作为独立的技能文件夹来分发。
怎样关掉一个技能又不删除它?
在 ~/.codex/config.toml 里加一个 [[skills.config]] 条目,写上技能 SKILL.md 的 path 和 enabled = false。每个条目只能用一个选择器,要么 path,要么 name,多个条目都匹配时,以最后一个为准。改完重启 Codex。想在某个项目里关掉内置的系统技能,就在它受信任的 .codex/config.toml 里,把 [skills.bundled] 下的 enabled 设为 false。
Codex 自带哪些技能?
OpenAI 的构建指南列了两个:skill-creator 和 skill-installer,默认启用。openai/skills 仓库的 .system 文件夹在我们读到它时还列着三个:imagegen、openai-docs 和 plugin-creator,README 说这个文件夹里的技能会在最新版 Codex 里自动安装。
Codex 技能能运行脚本吗?
能。技能文件夹里可以放一个 scripts/ 目录,里面是可执行的代码,SKILL.md 可以让 Codex 去运行它,OpenAI 的 gh-fix-ci 技能就是这样用一个 Python 脚本的。OpenAI 的建议是,除非需要确定性的行为或外部工具,否则优先只写说明,$skill-creator 也默认只写说明,要脚本得你开口。
资料来源
- ChatGPT Learn:构建技能 https://learn.chatgpt.com/docs/build-skills
- ChatGPT Learn:技能与插件 https://learn.chatgpt.com/docs/skills-and-plugins
- ChatGPT Learn:插件 https://learn.chatgpt.com/docs/plugins
- ChatGPT Learn:技能控制 https://learn.chatgpt.com/docs/enterprise/skills
- OpenAI Developers:打包你的插件 https://developers.openai.com/plugins/build/plugins
- GitHub:openai/skills 仓库的 README https://github.com/openai/skills
- GitHub:openai/skills 的 skill-installer SKILL.md 文件 https://github.com/openai/skills/blob/main/skills/.system/skill-installer/SKILL.md
- GitHub:openai/skills 的 .system 文件夹 https://github.com/openai/skills/tree/main/skills/.system
- GitHub:openai/skills 的 .curated 文件夹 https://github.com/openai/skills/tree/main/skills/.curated
- GitHub:openai/skills 中的 gh-fix-ci https://github.com/openai/skills/tree/main/skills/.curated/gh-fix-ci
- GitHub:openai/plugins 仓库的 README https://github.com/openai/plugins
- Agent Skills 规范 https://agentskills.io/specification
- Agent Skills 概览 https://agentskills.io/home
- Claude 在 X 上:Claude 现在可以使用技能 https://x.com/claudeai/status/1978855432123723909
- OpenAI Developers 在 X 上:Codex 正式支持技能 https://x.com/OpenAIDevs/status/2002099762536010235

