第 15 卷
代码审查和Linear、GitHub这几个集成,目前还挂在Codex Cloud(Legacy)这套旧体验上,旧的环境设置页
从终端起云端任务
CLI里有 codex cloud(仍标着实验性):
# 列出最近的云端任务 codex cloud list
# 在某个环境里起一个任务 codex cloud exec --env <ENV_ID> "修掉 issue #42"
# 看状态、看diff、把改动应用到本地 codex cloud status <任务ID> codex cloud diff <任务ID> codex cloud apply <任务ID>
适合云端的几类活
代码审查:每个PR自动过一遍。
从issue到PR:在issue里@codex描述问题,修完你看diff。
范围明确的重构:改动面大但你知道要什么,在独立环境里做,不碰你本地。
批量并行:同一个环境起好几个任务,各跑各的,回来逐个看。
建议:云端最省事的用法是批量委派:把几个互相独立、说得清楚的issue整理好,一次起几个任务,去做别的事,回来逐个看diff。前提是环境先搭稳,测试能在环境里跑通,不然每个任务都会卡在同一个环境问题上。
§08 Skills、插件、MCP、hooks、定时任务与/goal
Skills, Plugins, MCP, Hooks, Scheduled Tasks & /goal
Skill定义做什么、怎么做;插件把skill、MCP和hooks打成一个包;MCP接外部工具;hooks在固定时刻插一段你的代码;定时任务决定什么时候做;/goal决定什么时候算做完。
Skills:教Codex做事的方法
一个skill就是一个目录,里面有一个 SKILL.md,开头写 name 和 description:
--- name: skill-name description: Explain exactly when this skill should and should not trigger.
---
Skill instructions for Codex to follow.
正文是要它遵循的步骤、规则、模板,目录里还可以放脚本和参考文件。
按需加载
Codex启动时只读每个skill的name、description和路径,占的token很少;判断某个skill和当前任务相关时,才加载完整的SKILL.md。所以装几十个skill也不怕撑爆上下文,但description写得好不好,直接决定它会不会被正确触发:写清楚做什么、什么时候用、什么时候别用。
两种调用
显式:在prompt里写 $skill-name。输入 $ 会弹补全, /skills 能浏览全部。
隐式:你不指定,Codex按description自己匹配。
放在哪
| 层级 | 路径 | 适合 |
|---|---|---|
| REPO | .agents/skills/(从当前目录往上一直扫到仓库根) | 项目或某个子服务专用的工作流 |
| USER | $HOME/.agents/skills/ | 你自己跨项目用的 |
| ADMIN | /etc/codex/skills/ | 管理员统一部署的 |
符号链接的skill目录也能识别。SKILL.md这套格式Claude Code、Cursor、Gemini CLI也认,给Claude Code 写的skill,挪到 .agents/skills/ 下通常就能在Codex里用。
创建、安装、停用
# 用内置的skill-creator,它会问你这个skill做什么、什么时候触发 $skill-creator
# 安装官方精选的skill,比如linear $skill-installer linear
不想删、只想先停用一个skill,在 ~/.codex/config.toml 里写:
[[skills.config]] path = "/path/to/skill/SKILL.md"
enabled = false
skill目录里还可以放一个 agents/openai.yaml,配桌面App里显示的名字和图标、调用策略、依赖的工具:
interface:
display_name: "Optional user-facing name"
short_description: "Optional user-facing description"
policy:
allow_implicit_invocation: false
dependencies:
tools:
- type: "mcp"
value: "openaiDeveloperDocs"
transport: "streamable_http"
url: "https:-/developers.openai.com/mcp"
allow_implicit_invocation: false 是个安全开关:设了之后Codex不会自动触发它,只有你显式写 $skill-
name 才调用。有破坏性操作的skill建议这么设。
桌面App(macOS)还有第三种造skill的办法:Record & Replay,你把一个操作演示一遍,它记成一个可复用的skill(§06)。
插件:skill、MCP、hooks打成一个包
一个插件可以同时带skills、MCP服务器、hooks和App连接。现在ChatGPT和Codex共用同一个插件目录: