适用人群:已经会用 Codex,希望把重复流程、外部系统和团队能力组织起来的开发者。核心结论是:Skill 负责“怎么做”,MCP 负责“能访问什么”,Plugin 负责“如何安装和分发一整套能力”。三者不是互相替代,而是逐层组合。
很多人第一次扩展 Codex 时,会在 Skill、MCP 和 Plugin 之间来回犹豫:一段发布流程该写成 Skill,还是做成 MCP?接入 GitHub 后是否还需要 Skill?个人脚本什么时候值得打包成 Plugin?如果一开始边界没分清,常见结果是把业务步骤塞进连接器、把凭据写进脚本,或者为了一个简单检查维护过重的插件。
先用一句话分清三者
- Skill:可复用的工作方法。它通常以
SKILL.md为入口,还可以带脚本、参考资料和模板。适合发布检查、代码评审、故障诊断等“步骤基本稳定,但每次输入不同”的流程。 - MCP:外部能力与数据通道。当 Codex 需要读取工单、搜索内部知识库、查询设计稿或调用远程服务时,用 MCP 暴露工具、资源或提示模板。
- Plugin:可安装的能力包。它能把 Skills、MCP 配置、Hooks 和展示资源组合起来,通过统一入口安装、启用和分发。
可以把它们想成厨房:Skill 是菜谱,MCP 是通往冰箱和灶具的接口,Plugin 则是装好菜谱、工具和说明书的整套厨房套件。
三步选择法:先流程,再数据,最后分发
第一步,问自己“这件事是否只是一个可重复流程”。如果答案是肯定的,先做 Skill。比如每次发版都要检查变更日志、运行测试、查看 Diff、生成回滚说明,这些动作主要依赖本地仓库和命令,不必为了“看起来更工程化”而搭建服务。
第二步,检查流程是否需要仓库之外的实时数据或动作。如果 Skill 必须读取远程告警、更新项目管理系统、访问团队文档,就为这些能力接入 MCP。此时 Skill 继续描述顺序、判断条件和失败处理,MCP 只提供边界清晰的工具。例如:Skill 规定“先读告警,再定位提交,验证后才更新状态”;MCP 分别提供读取告警和更新状态的操作。
第三步,判断是否要让多人稳定安装。如果只是个人或单个仓库使用,保留本地 Skill 与项目配置通常更轻。需要跨团队发布、统一版本、附带连接器或 Hooks 时,再打包成 Plugin。官方文档也明确把 Skill 视为工作流的创作格式,把 Plugin 视为可安装的分发单元。
一个可落地的组合示例
假设团队要做“每日缺陷分诊”,可以这样拆:
- Skill 写明筛选时间范围、去重规则、严重级别判断、输出格式和人工确认点。
- MCP 提供
list_incidents、get_logs、update_ticket等最小工具,不把“什么情况下关闭工单”的业务判断固化在连接层。 - Plugin 打包该 Skill、MCP 映射和图标,让团队成员按同一版本安装。
- 自动化只负责按时触发;涉及关闭工单、发送通知等外部写操作,仍保留审批或明确的权限策略。
这种拆法的好处是可测试:没有外部连接时,可以用固定样例验证 Skill 的决策逻辑;连接器升级时,可以单独测试 MCP 返回结构;分发有变化时,只调整 Plugin 清单和版本。
权限设计比功能数量更重要
MCP 和 Plugin 一旦带来外部写能力,风险就不再只是“生成结果不理想”。设计时至少做四件事:
- 最小工具集:只暴露任务必需的操作,读取和写入分开,不提供模糊的万能执行接口。
- 凭据隔离:令牌放在受控凭据系统或环境配置中,不写进
SKILL.md、示例、仓库和日志。 - 写操作可见:删除、发布、付款、发消息等动作应有清晰目标和确认机制。
- 审查 Hooks:Plugin 可以包含生命周期 Hooks,但“安装”不等于“信任”。启用前要查看它会运行什么命令、读取哪些目录、是否联网。
官方的 Plugin 结构要求以 .codex-plugin/plugin.json 作为清单入口;Skills、Hooks、MCP 配置和资源位于插件根目录的对应位置。这个结构不仅是打包规则,也是在提醒维护者:能力、连接和自动执行应当分别声明,方便审核。
推荐的渐进式落地路径
不要从“做一个功能齐全的 Plugin”起步。更稳妥的顺序是:
- 先把一次任务写成可复现清单,连续执行几次,确认步骤没有依赖个人记忆。
- 将稳定步骤整理成 Skill,并为失败分支、验收条件和敏感信息边界补充说明。
- 只有确实需要外部系统时才接 MCP,优先开放只读工具,再逐项增加写能力。
- 当两名以上使用者需要一致安装和升级时,再打包 Plugin,记录版本变化和权限变化。
- 每次新增工具、Hook 或外部写操作,都重新做一次最小权限审查。
最后记住这个判断表
如果需求是“让 Codex 每次都按同一套步骤完成工作”,选择 Skill;如果是“让 Codex 访问本地仓库之外的系统”,选择 MCP;如果是“把多种能力作为一个可安装产品交给别人”,选择 Plugin。多数成熟方案会同时使用三者,但应当从最小的一层开始,而不是一次把所有层都建齐。
文章更新日期:2026 年 8 月 6 日。Codex 产品能力和支持界面可能继续变化,安装前请以官方文档为准。