Codex 的 Skills、Plugins、MCP 分别是什么?
本文解释 Codex Skills、Plugins、MCP 的区别、组合方式、典型场景和配置注意事项。
介绍
Codex 的扩展能力常见三个词:Skills、Plugins、MCP。它们容易混淆,但职责不同。
简单说:Skills 定义可复用工作流,Plugins 是可安装的分发包,MCP 连接外部工具和上下文。三者可以单独使用,也可以组合成团队级工作流。
步骤
步骤 1:先理解 Skills
Skill 是一组可复用的任务说明,可以包含 SKILL.md、参考资料、脚本和资源。Codex 会先看到 skill 的名称和描述,只有决定使用时才读取完整说明,这叫 progressive disclosure。
适合场景:
- 发布流程。
- 代码审查流程。
- 内容编辑流程。
- 数据处理流程。
示例 SKILL.md:
---
name: content-editor
description: Edit Chinese Codex tutorials for clarity, SEO, and factual accuracy.
---
1. Check frontmatter fields.
2. Improve title and description.
3. Verify every command or mark it as needing verification.
4. Keep the article concise and readable.
配图标注:图 1 建议放一张 Skill 文件夹结构图,标注 SKILL.md、scripts/、references/。
步骤 2:再理解 Plugins
Plugin 是可安装的分发单元。它可以打包一个或多个 skills,也可以包含 MCP 配置、应用映射、资源和展示信息。你可以把 skill 理解为“工作流本体”,plugin 理解为“安装和分发方式”。
适合场景:
- 给团队分发统一工作流。
- 把多个 skills 打包。
- 同时分发工具配置和界面资源。
- 将工作流和外部集成一起交付。
配图标注:图 2 建议放一张 Plugin 包结构图,展示 manifest、skills、assets、MCP 配置之间的关系。
步骤 3:理解 MCP
MCP 是 Model Context Protocol,用来把 Codex 连接到外部工具和上下文。MCP server 可以暴露 tools、resources 和 prompts。
适合场景:
- 读取外部文档。
- 连接 GitHub、Linear、Figma、Sentry。
- 控制浏览器或设计工具。
- 获取团队知识库中的最新信息。
配置示例:
[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp"]
配图标注:图 3 建议放一张 MCP 架构图,标注 Codex、MCP client、MCP server、外部系统。
步骤 4:按场景组合使用
| 场景 | 推荐组合 | | --- | --- | | 本地写作流程 | Skill | | 团队分发统一流程 | Plugin + Skill | | 需要访问外部系统 | Skill + MCP | | 团队级完整扩展 | Plugin + Skill + MCP |
配图标注:图 4 建议放一张组合矩阵图,按“是否复用”“是否分发”“是否访问外部系统”分层。
步骤 5:写一个可复用提示词
提示词模板:
请帮我判断这个工作流应该做成 AGENTS.md、Skill、Plugin 还是 MCP。
工作流目标:
使用者:
是否需要外部系统:
是否需要团队安装:
是否需要脚本:
期望触发方式:
配图标注:图 5 建议放一张决策树截图,展示从“只是规则”到“需要外部工具”的路径。
红字避坑
必填项:Skill 的description 必须写清楚触发场景,否则 Codex 不容易自动选中。
必填项:MCP server 如果需要密钥,要使用环境变量,不要把 token 写进仓库。
注意事项:Plugin 适合分发,不等于所有工作流都必须做成 Plugin。
坑点:MCP 是连接外部能力的协议,不是提示词模板;不要把所有团队规范都塞进 MCP。
总结
Skills 解决“怎么做”,Plugins 解决“怎么安装和分发”,MCP 解决“怎么连接外部工具和上下文”。先用 Skill 打磨流程,稳定后再打包成 Plugin;当流程需要外部系统时,再接入 MCP。
相关教程
常见问题
这篇内容适合谁阅读?
适合关注 Codex、AI 编程工作流和中文技术内容生产的开发者、技术负责人、测试工程师与内容编辑。
可以直接用于团队实践吗?
建议结合你的项目约束、版本信息、权限策略和验证流程调整后再落地。