本文以我现有的 super-frontend-design Skill 为例,完整演示如何把一个已经能工作的 Skill 封装成 Codex Plugin,再通过 Marketplace 安装和分发。重点不是讲概念,而是给出一条可以照着复现的路径。
一、为什么要把 Skill 做成 Plugin?
我之前做过一个 super-frontend-design Skill。
它解决的问题很直接:
AI 能生成前端代码,但“能跑”不等于“像专业产品”。
所以我给它加入了一套比较硬的设计约束,例如:
- 不使用 Emoji 充当 UI 图标
- 优先使用 Lucide / Tabler SVG 图标
- 需要真实图片时使用真实摄影素材
- 强调响应式、可访问性和完整视觉层级
- 输出尽可能接近生产级页面,而不是 Demo
原来的使用方式大概是:
下载 Skill
↓
复制到指定目录
↓
让 Claude Code / Codex 读取
↓
开始执行
能用,但当 Skill 越来越多以后,会出现几个问题:
- 不同电脑需要重新复制
- 团队成员要自己配置
- Skill、脚本、资源文件不好统一管理
- Skill + MCP 等能力不好一起分发
- 更新版本没有统一入口
这就是 Plugin 开始有价值的地方。

可以先用一句话理解:
- Skill = 告诉 Agent 怎么做
- MCP = 给 Agent 什么工具
- Plugin = 把这些能力打包、安装和分发
二、当前 Codex Plugin 的基本结构
以 Codex 官方仓库当前提供的 $plugin-creator 为准,一个 Plugin 的核心 Manifest 位于:
|
1
|
.codex-plugin/plugin.json
|
官方的 Plugin Creator 还支持创建:
|
1
2
3
4
5
6
|
skills/
hooks/
scripts/
assets/
.mcp.json
.app.json
|
也就是说,一个 Plugin 不只是一个 Prompt 文件,它可以把 Agent 工作所需的多类资源放在同一个安装单元里。
这次我们的目标不是重写 super-frontend-design,而是:
保留已有 Skill,只增加 Plugin 封装层。
最终目录可以整理成:

super-frontend-design/
├── .codex-plugin/
│ └── plugin.json
├── skills/
│ └── super-frontend-design/
│ ├── SKILL.md
│ ├── templates/
│ ├── examples/
│ └── .env.example
├── assets/
└── README.md
这里职责非常清楚:
Plugin:负责安装、管理和分发
Skill:负责真正的工作流和规则
三、最快的方法:直接用$plugin-creator
如果你当前 Codex 环境里已经有官方 Plugin Creator,可以直接调用:
然后给它一个明确任务,例如:
|
1
2
3
4
5
6
7
8
9
10
11
12
|
Create a plugin named super-frontend-design.
Package my existing super-frontend-design skill.
Requirements:
- Keep the existing SKILL.md
- Keep templates and examples
- Never use emoji as UI icons
- Prefer Lucide or Tabler SVG icons
- Generate responsive production-ready frontend code
- Add the plugin to a personal marketplace
|
官方 Plugin Creator 当前会创建一个基础 Plugin 骨架,并要求核心 Manifest 保持在:
|
1
|
<plugin-path>/.codex-plugin/plugin.json
|
如果要同时创建 Skill 目录,可以使用官方脚本的:
|
1
2
3
4
|
python3 scripts/create_basic_plugin.py super-frontend-design \
--with-skills \
--with-assets \
--with-marketplace
|
实际路径要根据你的 Plugin Creator 所在位置调整。
创建完以后,建议先检查目录,再运行官方校验脚本:
|
1
|
python3 scripts/validate_plugin.py <plugin-path>
|
不要跳过校验。
因为 Manifest 字段错误、残留 TODO、版本号不合法等问题,都会导致后续安装体验很差。
四、plugin.json要放什么?
一个最小可用思路是:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
{
"name": "super-frontend-design",
"version": "0.1.0",
"description": "Create production-grade frontend interfaces.",
"author": {
"name": "adu666"
},
"skills": "./skills/",
"interface": {
"displayName": "Super Frontend Design",
"shortDescription": "Create professional frontend interfaces.",
"longDescription": "Generate distinctive, responsive and production-grade frontend interfaces.",
"developerName": "adu666",
"category": "Productivity",
"capabilities": [],
"defaultPrompt": "Create a professional production-grade frontend interface."
}
}
|
实际字段请以你当前安装的 Plugin Creator 校验规则为准。
最关键的是这一类关系:
它把 Plugin 和内部 Skills 关联起来。
也就是说,我们不需要把原来的 Skill 全部改写。
五、把原来的 Skill 迁进来
我原来的 super-frontend-design 仓库已经有:
SKILL.md
templates/
examples/
.env.example
因此迁移其实很简单:
skills/
└── super-frontend-design/
├── SKILL.md
├── templates/
├── examples/
└── .env.example
Plugin 负责“装进去”。
Skill 继续负责:
- 页面设计规则
- UI 约束
- 图片规范
- 图标规范
- 前端实现要求
- 输出步骤
这也是我认为 Plugin 很适合已有 Skill 作者的原因:
以前的工作没有白做。
六、接下来做 Marketplace
单独有 Plugin 还不够。
真正改变分发体验的是 Marketplace。

Codex 当前 Plugin Creator 的 Marketplace 结构使用:
|
1
|
.agents/plugins/marketplace.json
|
一个简单的 Marketplace 可以是:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
{
"name": "personal",
"interface": {
"displayName": "Personal"
},
"plugins": [
{
"name": "super-frontend-design",
"source": {
"source": "local",
"path": "./plugins/super-frontend-design"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Productivity"
}
]
}
|
官方当前对 policy.installation 支持的值包括:
|
1
2
3
|
NOT_AVAILABLE
AVAILABLE
INSTALLED_BY_DEFAULT
|
对 policy.authentication 支持:
对于普通个人 Plugin,先用:
|
1
2
3
4
|
{
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
}
|
已经够了。
七、个人 Marketplace 和团队 Marketplace 不一样
这里非常容易写错。
个人 Marketplace
官方 Plugin Creator 当前默认的个人 Marketplace 路径是:
|
1
|
~/.agents/plugins/marketplace.json
|
这个默认个人 Marketplace 会被 Codex 自动发现。
因此:
默认个人 Marketplace 不需要额外执行 codex plugin marketplace add。
安装 Plugin 时使用:
|
1
|
codex plugin add super-frontend-design@<marketplace-name>
|
如果顶层 Marketplace 名称就是:
那么就是:
|
1
|
codex plugin add super-frontend-design@personal
|
非默认 / 团队 Marketplace
如果你做的是一个仓库级 Marketplace,例如:
codex-plugins/
├── .agents/
│ └── plugins/
│ └── marketplace.json
└── plugins/
└── super-frontend-design/
这种非默认 Marketplace 才需要先把 Marketplace 加入 Codex:
|
1
|
codex plugin marketplace add <path-to-marketplace-root>
|
这一点建议严格以你本机 codex plugin --help 输出和当前版本官方仓库为准。
八、安装完成后,一定要新开 Session
Plugin 安装成功以后,不建议直接在旧 Session 里测试。
官方当前的安装更新说明建议:
重新安装或更新以后,新开一个 Thread / Session。
因为新的 Skills、MCP Tools 等能力需要在新的上下文边界重新加载。
所以正确流程是:
安装 Plugin
↓
关闭当前 Session
↓
新建 Session
↓
再测试 Plugin
很多“Plugin 装了但是没效果”的问题,其实不是 Skill 写坏了,而是仍然在用旧 Session。
九、真实测试:别用 Hello World
这篇文章如果只测试:
价值很低。
我的测试方式会直接让 Codex 做一个真实页面。
例如:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
Use super-frontend-design.
Create a landing page for an AI coding product.
Tech stack:
- Next.js
- Tailwind CSS
Requirements:
- Dark technical visual style
- Hero section
- Product features
- Workflow
- Pricing
- FAQ
- CTA
- Fully responsive
- Production-ready code
Do not use emoji as icons.
Use professional SVG icons.
Use real visual assets where appropriate.
|
然后完整观察:
理解需求
↓
读取 Skill
↓
确定视觉方案
↓
创建项目
↓
生成页面
↓
运行项目
↓
检查问题
↓
继续修改
↓
最终页面

文章里建议至少保留三类真实截图:
- Codex 识别 Plugin / Skill
- Codex 实际执行过程
- 浏览器中的最终页面
这样才能真正证明:
Plugin 不只是“安装成功”,而是真的改变了 Codex 的工作方式。
十、Skill、MCP、Plugin 到底怎么选?

Skill
适合:
- 开发规范
- 执行流程
- 代码审查规则
- 设计方法
- 项目约束
- 提示策略
解决的是:Agent 应该怎么做?
MCP
适合:
- 数据库
- GitHub
- 企业系统
- 内部 API
- 第三方服务
- 工具调用
解决的是:Agent 可以使用什么外部能力?
Plugin
适合把:
组合到一起,并提供统一的:
一句话:
- Skill = 说明书
- MCP = 工具箱
- Plugin = 安装包
十一、Plugin 真正改变的是什么?
如果只理解成:Plugin 就是给 Skill 加一个壳。
其实低估它了。
我认为 Plugin 真正重要的变化是:
Agent 能力开始“软件化”。
以前给 AI 增加能力:
复制 Prompt
↓
复制 Markdown
↓
复制 Skill
↓
手动修改配置
现在开始变成:
找到 Plugin
↓
安装
↓
授权
↓
新开 Session
↓
直接使用
进一步,一个团队完全可以维护自己的 Agent 能力仓库:
company-agent-plugins/
├── frontend-design
├── code-review
├── database-design
├── testing
├── deploy
└── documentation
新人加入以后,不一定要先知道:团队的 30 个 Prompt 到底放在哪?
而可能只需要:安装团队 Plugin。
从这个角度看,Plugin 已经很接近:
Agent 时代的能力包管理机制。
十二、下一步我准备怎么做
这次只是把:
|
1
|
super-frontend-design Skill
|
升级为:
下一步我准备继续做两个方向。
1. 把常用 Skill 全部 Plugin 化
例如:
前端设计
代码 Review
文档生成
项目初始化
UI 检查
发布流程
2. 做自己的 Codex Plugin Marketplace
以后分享的可能不只是:一段 Prompt
而是:一个可以直接安装到 Codex 里的能力
这件事,我觉得比“再写 100 条 Prompt”更值得开发者关注。
最后
如果你已经有:
CLAUDE.md
AGENTS.md
SKILL.md
MCP Server
Agent 工作流
现在可以开始想一个问题:
这些能力,能不能进一步变成 Plugin?
Prompt 解决的是:这一次怎么让 AI 做好。
Skill 解决的是:怎么让 AI 重复做好。
Plugin 开始解决的是:怎么把这套能力真正交付给别人。
这三个阶段,已经完全不一样了。
注:Codex Plugin 仍处于快速迭代阶段。命令、Manifest 字段和 Marketplace 行为可能随版本变化。实际操作前建议执行 codex plugin --help,并以当前版本官方仓库与文档为准。