乐于分享
好东西不私藏

codex 中的plugins插件和skills技能有什么差别,我们在自己设计使用时如何取舍?

codex 中的plugins插件和skills技能有什么差别,我们在自己设计使用时如何取舍?

Codex(OpenAI 的 AI 编码助手)中的「插件(Plugins)」和「技能(Skills)」是两个紧密相关但用途不同的扩展机制,核心区别在于设计层级分发方式。它们都基于相同的开源标准(agentskills.io),但定位完全不同。

1. 核心概念与区别

维度 技能 (Skills) 插件 (Plugins)
本质 可复用的工作流包(一个文件夹) 可安装的分发单元(打包后的集合)
核心文件 SKILL.md(Markdown 格式,包含 name、description 和详细指令) plugin.json(清单文件) + 一个或多个 Skills 文件夹 + 可选的 App 集成/MCP 配置
包含内容 指令、资源、可选脚本(scripts/)、参考文档(references/)、资源(assets/) Skills + App 连接器(如 Figma、Notion、Slack) + MCP 服务器配置
适用场景 私人定制、单一代码库/仓库内迭代

定义 AI 在特定任务下的 SOP(标准操作流程)
团队共享、跨项目分发

统一开发配置,让多人一键复用
分发能力 无法对外发布,只能本地使用或 repo 级共享 支持组织内部/市场发布,一键安装
加载方式 渐进式加载(Progressive Disclosure):只预加载名称+描述,需要时才加载完整内容,节省 token 安装后直接可用,可打包多个 Skills
调用方式 显式调用(/skill-name)或隐式(AI 根据 description 自动选择) 安装后自动可用,包含 Skills 的调用
典型例子 前端界面设计技能、自动修复 CI 失败技能、代码审查技能 把「前端技能 + Figma 集成 + GitHub MCP」打包成一个插件,团队全员安装

一句话总结Skill = 写给 AI 的「岗位 SOP」(你自己设计工作流);Plugin = 把多个 SOP + 外部工具打包成「安装包」(方便分享)。

官方开发者文档明确指出:Skills 是编写可复用工作流的格式,Plugins 是可安装的分发单元。先用 Skill 设计工作流,再打包成 Plugin 进行分发。

2. 我们在自己设计使用时如何取舍?

核心决策标准只有两个是否需要分享 + 是否需要外部集成

推荐使用 Skills 的场景(优先选择)

  • 个人/单人项目:只需要自己用,不想折腾打包。
  • 仓库级定制:针对当前项目写一套专属流程(例如前端 UI 设计规范、特定架构的代码生成)。
  • 快速迭代:直接在 ~/.codex/skills/ 或项目里的 .agents/skills/ 文件夹里建文件夹写 SKILL.md,Codex 自动识别。
  • 优势:简单、轻量、上下文高效、容易调试。
  • 设计建议
    • 每个 Skill 只做一件事(Keep focused on one job)。
    • 优先写指令(imperative steps),而不是脚本(除非需要确定性执行)。
    • 写清楚输入/输出、边界条件,让 AI 容易触发。
    • 用内置的 $skill-creator 让 Codex 帮你生成骨架,再手动优化。

推荐使用 Plugins 的场景

  • 需要分享给团队/同事:想让大家一键安装相同的配置。
  • 需要打包外部工具:要同时带 Figma/Notion/Slack/Github 等 App 集成,或 MCP 服务器。
  • 想发布到市场:做成公开或组织级的可复用组件。
  • 优势:一键安装、版本管理、统一标准、减少团队沟通成本。
  • 设计流程
    1. 先做好一个或多个 Skill。
    2. 用 @plugin-creator 或手动建 plugin.json 打包。
    3. 加入 App mappings 和 MCP 配置。
    4. 发布到组织市场或内部。

实际取舍建议(实战 checklist)

  1. 只给自己用 → 直接做 Skill(99% 的个人场景够用)。
  2. 要做给团队用 → 先做 Skill → 打包成 Plugin
  3. 技能太多想统一管理 → 用 Plugin 把它们捆绑成一个「全栈开发套件」。
  4. 想带外部工具(浏览器、设计稿、任务管理)→ 必须用 Plugin(Skill 本身不支持 App/MCP 打包)。
  5. 不确定 → 从 Skill 开始做,后面随时打包成 Plugin(成本极低)。

小贴士Codex 的 Skills 完全兼容 Claude Code 的格式,很多社区 Skill 可以直接复制到 ~/.codex/skills/ 使用。技能写得好,Codex 就会像「专职开发助手」一样稳定执行,而不是每次都重新解释一遍提示词。

简单来说:个人玩 → Skill要分享/标准化 → Plugin。先把工作流写成 Skill,再决定要不要打包,这几乎是最佳实践。

当然,如果是偶尔偷个懒,最简单的方式可能是试试下面的AI小程序。