Skip to content

Codex 定制化分三个层次:AGENTS.md 给 Codex 写项目级固定规则(跟着仓库走);Skills 封装可复用的工作流程(本地 SKILL.md 文件);MCP 负责连接代码仓库之外的外部系统(Linear、GitHub、Figma 等)。三层分工明确,不互相替代。本文覆盖每层的适用场景、配置方式,以及推荐的搭建顺序。

OpenAI Codex 定制化指南

定制化就是让 Codex 按你们团队的方式工作。Codex 的定制化分几个层次,协同工作:

  • 项目指导(AGENTS.md:持久化的指令,随仓库一起走
  • Skills:可复用的工作流和领域知识
  • MCP:访问外部工具和共享系统
  • Subagents:把专项任务委托给子代理

这几层是互补关系,不是竞争关系:AGENTS.md 塑造行为,Skills 打包可重复的流程,MCP 把 Codex 连接到本地代码之外的系统。


AGENTS.md:项目规则的固化

AGENTS.md 给 Codex 提供持久化的项目指导,随仓库一起存在,在代理开始工作前就已生效。保持简洁

用来写 Codex 在这个仓库里每次都要遵守的规则,比如:

  • 构建和测试命令
  • Code review 标准
  • 仓库特定的约定
  • 针对某个子目录的专项指令

当代理对你的代码库做了错误假设,在 AGENTS.md 里纠正它,并让代理更新 AGENTS.md——这样修复会在未来的所有会话里生效,形成正向反馈循环。

什么时候更新 AGENTS.md

  • 重复犯错:同一个错误出现两次,写进去
  • 读太多文件:找到对的文件了但读了太多不相关的文档,加路由指导(优先读哪些目录/文件)
  • PR 反复收到同样的反馈:同样的 review 意见出现两次以上,写进去
  • 在 GitHub 上:在 PR 评论里 tag @codex 让它把建议更新到 AGENTS.md,委托给云端任务自动完成
  • 自动化漂移检查:用 automations 定期(比如每天)自动检查 guidance 缺口并建议补充到 AGENTS.md

AGENTS.md 和 pre-commit hooks、linters、type checkers 配合使用:基础设施负责强制执行,AGENTS.md 负责传递意图,两者让系统越来越聪明。

文件层级

Codex 可以从多个位置加载指导:

~/.codex/
  AGENTS.md        # 全局(你个人的开发偏好)

repo-root/
  AGENTS.md        # 仓库级(团队和项目规则)

靠近工作目录的文件优先级更高。全局文件用来配置 Codex 和你的沟通方式(review 风格、详细程度、默认值),仓库文件专注于团队和代码库规则。

完整说明参考:使用 AGENTS.md 自定义指令


Skills:可复用工作流的封装

Skills 给 Codex 提供可复用的能力,适合打包可重复的工作流程。

Skills 通常是一个 SKILL.md 文件,加上可选的脚本、参考文档和资源:

my-skill/
  SKILL.md         # 必须:指令 + 元数据
  scripts/         # 可选:可执行脚本
  references/      # 可选:参考文档
  assets/          # 可选:模板、资源

scripts/ 目录可以放 Codex 在工作流中调用的 CLI 脚本(比如填充测试数据或运行验证)。当工作流需要外部系统时,配合 MCP 一起用。

一个 SKILL.md 的例子

markdown
---
name: commit
description: Stage and commit changes in semantic groups. Use when the user wants to commit, organize commits, or clean up a branch before pushing.
---

1. Do not run `git add .`. Stage files in logical groups by purpose.
2. Group into separate commits: feat → test → docs → refactor → chore.
3. Write concise commit messages that match the change scope.
4. Keep each commit focused and reviewable.

Skills 适合用在

  • 可重复的工作流(发布步骤、review 流程、文档更新)
  • 团队特有的专业知识
  • 需要示例、参考文档或辅助脚本的流程

Skills 的作用域

Skills 可以是全局的(在你的用户目录,所有仓库都可用)或者仓库级(签入到 .agents/skills,团队共享):

层级全局仓库级
AGENTS~/.codex/AGENTS.md仓库根目录或子目录的 AGENTS.md
Skills$HOME/.agents/skills仓库的 .agents/skills

Codex 使用渐进式加载策略:

  • 先加载元数据(namedescription)用于发现
  • 当 Skill 被选中时才加载 SKILL.md
  • 仅在需要时读取 references 或运行脚本

Skills 可以显式调用,也可以由 Codex 根据任务描述匹配隐式触发。清晰的 description 能大幅提高自动触发的准确率。

完整说明:Agent Skills


MCP:连接外部系统

MCP(Model Context Protocol)是 Codex 连接外部工具和上下文提供方的标准方式。特别适合那些不在本地仓库里的远程托管系统,比如 Figma、Linear、GitHub 或你团队依赖的内部知识库。

当 Codex 需要本地代码仓库之外的能力时用 MCP:issue trackers、设计工具、浏览器、共享文档系统。

可以这样理解三者的关系:

  • Host:Codex
  • Client:Codex 内部的 MCP 连接
  • Server:外部工具或上下文提供方

MCP 服务端可以暴露:

  • Tools(动作)
  • Resources(可读数据)
  • Prompts(可复用的 prompt 模板)

这种分离让你能清楚地划分信任边界和能力边界——有些服务端主要提供上下文,有些暴露强力动作。

MCP + Skills 的最佳组合:Skill 定义工作流并指定要用哪些 MCP tools,这是最强的组合方式。

完整说明:Model Context Protocol


Subagents:委托专项任务

你可以创建多个具有不同角色的代理,让它们使用不同的工具。比如一个代理专跑特定的测试命令和配置,另一个代理有 MCP 服务端来拉取生产日志用于调试。每个子代理专注于自己的领域,使用最合适的工具。

完整说明:Subagent 概念


推荐的搭建顺序

按这个顺序搭建,收益最大:

  1. AGENTS.md:写好仓库规则,配好 pre-commit hooks 和 linters,让 Codex 从一开始就遵守你的规范。

  2. Plugins:如果已有适合的 Plugin,先装好复用成熟方案。否则创建 Skill,等你想分享时再打包成 Plugin。

  3. MCP:当工作流需要外部系统时(Linear、GitHub、文档服务器、设计工具)再接入。

  4. Subagents:当你准备好把嘈杂或高度专业化的任务委托出去时再用。


常见问题

Q: AGENTS.md 和 Skills 的核心区别是什么,分别该用在哪里?

A: AGENTS.md 是"规则":这个仓库里你必须遵守这些约定,每次都生效。Skills 是"流程":这是一套可复用的工作步骤,需要时调用。简单来说,AGENTS.md 定义约束,Skills 封装流程。

Q: Skills 可以调用 MCP 工具吗?

A: 可以。在 Skill 的 SKILL.md 里声明需要哪些 MCP tools,然后在 agents/openai.yaml 里配置依赖,Codex 会自动安装和连接。

Q: 全局 Skills 和仓库级 Skills 哪个优先?

A: 两者可以共存,不互相覆盖。仓库级 Skills 存在 .agents/skills 里,全局 Skills 在 $HOME/.agents/skills 里,Codex 都能发现和使用。