
上一篇,我们已经把账号、会员、Codex 入口、本地文件夹和第一次文件修改跑通了。读者做到那一步,其实已经越过了最难的坎:Codex 不再只是聊天框里的问答工具,而是能进入一个文件夹,读文件,改文件,并按要求汇报结果。
但只会这样用,还不够。
真正开始省事,是你把一类重复任务沉淀下来。比如每次整理公众号文章,都要检查 Markdown 图片引用;每次做配图,都要统一尺寸、压缩、命名;每次清理电脑,都要先看磁盘、再看下载目录、再看缓存和日志;每次发布前,都要做一遍链接、标签、错别字和配图检查。倘若每次都重新写一大段提示词,Codex 固然能做,但你本人仍旧在重复劳动,只不过换成了重复写 prompt 而已。
Skill 和插件,就是为这件事准备的。
一、先分清几个词
在 Codex 里,容易混在一起的词主要有五个:Prompt、AGENTS.md、Skill、Plugin、MCP。新手不必一下子全学完,但要知道它们各自放在哪里。

Prompt 是一次性的。你在当前对话里写一句“只检查图片引用,不要修改正文”,这句话通常只管这一轮任务。下一次开新任务,你还得再写。
AGENTS.md 是项目规则。它像给 AI 看的项目说明书,放在仓库或文件夹里,Codex 进入这个项目时会读取它。比如一个公众号项目可以在 AGENTS.md 里写:文章使用 Markdown,图片都放在 assets/,不要随便改标题,不要删除原图,检查完成后用表格汇报。这个规则适合跟项目绑定,而不是跟某一个操作绑定。
Skill 是重复流程。它不是一句提示词,而是一个文件夹,里面至少有一个 SKILL.md。Codex 需要做某类任务时,会读取这份说明,按里面的流程做。比如“清理电脑”“生成公众号配图”“检查文章图片引用”“整理 Excel 表格”,都可以做成 Skill。

Plugin 是可安装的能力包。一个插件里可以带 Skill,也可以带脚本、资源、连接器、MCP 配置等。你可以把它理解成“更正式、更适合分发”的 Skill 包。自己电脑上临时用,用 Skill 就够了;要给团队、读者、另一台电脑安装,才更适合做成插件。
MCP 是连接外部系统的方式。GitHub、Figma、Google Drive、Notion、Slack 这类工具,如果要让 Codex 读取或操作里面的数据,通常就不是单靠提示词能解决的,而要靠对应的插件、连接器或 MCP。
新手可以按这个顺序来:先把 prompt 写清楚;同一类话重复三次以后,再考虑 AGENTS.md 或 Skill;等你要分发、安装、连接外部工具,再考虑插件。
二、什么时候用 Skill,什么时候用插件
如果你只是给自己用,并且任务主要发生在本地文件夹里,优先做 Skill。Skill 的好处是轻:一个文件夹,一个 SKILL.md,写清楚触发条件、操作流程、禁止事项和验收标准,基本就能用。
比如这些任务都适合先做成 Skill:
如果你希望别人也能安装,或者这个能力不只是说明书,还要带脚本、图标、模板、MCP 配置、授权连接器,那就考虑插件。插件比 Skill 重一点,但更像一个产品,适合做成“安装后可用”的能力包。
这里有个容易误会的地方:插件并不天然高一等。很多时候,一个写得很清楚的 Skill,比一个做得很花的插件更有用。插件解决的是分发和连接问题,Skill 解决的是工作流程问题。
三、先看看自己的 Skill 放在哪里
在个人电脑上,自定义 Skill 通常可以放在这个目录:
~/.agents/skills/
一个 Skill 就是一个单独的文件夹,例如:
~/.agents/skills/mac-cleanup-assistant/
里面至少要有一个文件:
SKILL.md
也就是说,最小结构是这样:
~/.agents/skills/
mac-cleanup-assistant/
SKILL.md
有些旧环境或系统技能目录里,你也可能看到 ~/.codex/skills/。那里面往往有 Codex 已经安装的系统技能、插件技能或历史迁移过来的技能。新手自己创建个人 Skill,建议先放 ~/.agents/skills/,目录更清楚,也不容易和系统技能混在一起。
如果你是第一次创建这个目录,可以让 Codex 帮你建,也可以自己在终端里执行:
mkdir -p ~/.agents/skills/mac-cleanup-assistant
然后新建:
~/.agents/skills/mac-cleanup-assistant/SKILL.md
新建或修改 Skill 以后,建议开一个新的 Codex 任务,或者重启一下 Codex。Skill 是否被加载,通常和当前任务启动时的可用技能列表有关;旧任务里不一定马上能看到刚写好的新 Skill。
四、写一个“清理电脑”的 Skill
这一篇用“清理电脑”做例子,不是因为它最复杂,而是因为它最能说明 Skill 的价值。清理电脑如果只写一句“帮我清理一下内存”,Codex 很可能不知道你说的是 RAM、磁盘空间、下载目录,还是缓存文件;即使它知道,也不该一上来就删东西。
一个好的清理 Skill,第一条规则应该是:先检查,先列清单,不自动删除。

把下面这段写进 ~/.agents/skills/mac-cleanup-assistant/SKILL.md:
---
name: mac-cleanup-assistant
description: 当用户想检查 Mac 内存压力、磁盘占用、大文件、缓存、日志、下载目录、桌面杂物,并生成安全清理方案时使用。不要自动删除文件。
---
# Mac 清理助手
当用户要求清理 Mac、释放磁盘空间、检查内存压力、查找大文件、整理下载目录或桌面,或者准备一份安全清理方案时,使用这个 Skill。
## 核心规则
没有得到用户明确确认前,不要删除、移动、压缩或覆盖任何文件。
默认第一轮只做检查,不做清理。
## 工作流程
1. 检查磁盘空间:
-`df -h`
-`du -sh ~/Downloads ~/Desktop ~/Documents 2>/dev/null`
2. 检查内存压力:
-`memory_pressure`
-`vm_stat`
3. 查找用户目录里的大文件,但不要碰系统目录:
- 优先从 `~/Downloads`、`~/Desktop`、`~/Documents` 开始
- 避开 `/System`、`/Library`、`/Applications`、隐藏配置目录,以及用户没有明确点名的项目目录
4. 生成清理报告:
- 项目名称
- 文件路径
- 估算大小
- 为什么可能可以清理
- 风险等级
- 建议动作
5. 执行任何清理动作前,先让用户确认。
6. 用户确认并完成清理后,重新检查磁盘空间,并总结发生了哪些变化。
## 安全规则
- 不要自动删除源代码、照片、文档、密码、密钥、数据库或 App 配置文件。
- 优先建议移到废纸篓,而不是永久删除。
- 如果不确定,就标记为“需要人工确认”。
- 如果某个命令需要很大的系统访问范围,先停下来问用户。
## 输出格式
用表格列出可清理候选项。
最后补充:
- 预计可释放的总空间
- 相对安全的清理项
- 需要人工确认的项目
- 建议执行的具体命令或 Finder 操作
这里最重要的不是命令,而是边界。它明确告诉 Codex:你可以检查,可以列清单,可以估算空间,但不能自动删除。清理电脑这种任务,怕的不是“不会删”,而是“太会删”。Skill 要把这种危险压住。
五、第一次测试这个 Skill
写完 Skill 后,开一个新的 Codex 任务,输入:
请使用 mac-cleanup-assistant,帮我检查这台 Mac 的磁盘和内存情况。
只做检查,不要删除、移动、压缩任何文件。
最后列一个可以清理的候选清单,并标注风险等级。
正常情况下,Codex 会先读取 Skill,再执行检查命令,最后给你一个清单。你要看的不是它有没有把话说得漂亮,而是它有没有遵守三件事:
有没有先检查磁盘和内存。 有没有列出候选项和风险等级。 有没有在删除前停下来等你确认。

如果它直接开始删除文件,说明 Skill 写得还不够硬。你可以把“核心规则”再加粗一点,甚至写成:
如果用户没有在当前对话里明确确认删除动作,删除任何文件前必须停下来。
如果它只说一堆建议,却没有跑任何检查命令,说明流程写得太虚。你可以在“工作流程”里把要执行的检查命令写得更具体。
Skill 的调试方式,大抵就是这样:让它跑一次,看它哪里偏了,再把偏差写回 SKILL.md。
六、把这个 Skill 改成更适合自己
上面的例子只是一个起步版。你可以按自己的习惯继续加规则。
如果你经常写公众号,可以加一条:
除非用户明确点名,不要处理 `~/dev/公众号文章` 下面的任何文件夹。
如果你经常把素材放在下载目录,可以加一条:
对于下载目录里的图片、视频、PDF 和压缩包,先按文件类型和修改时间分组,再给清理建议。
如果你想让它只做报告,不做清理,可以加一条:
这个 Skill 默认只生成报告。清理动作必须由用户在单独一条消息里明确提出。
这就是自定义 Skill 的好处:它不是让 Codex 变“聪明”,而是让 Codex 变“像你的人”。它知道你哪些目录不能碰,哪些文件要先归类,哪些动作必须先问。写得越贴近你的真实工作习惯,后面重复任务越省心。
七、再做一个公众号检查 Skill
理解了清理电脑这个例子以后,你可以照样做一个公众号文章检查 Skill。比如:
~/.agents/skills/wechat-article-checker/SKILL.md
内容可以这样写:
---
name: wechat-article-checker
description: 当用户发布微信公众号 Markdown 文章前,需要检查图片引用、封面图、标题长度、标签、失效链接和缺失素材时使用。
---
# 公众号文章检查助手
在发布微信公众号 Markdown 文章前,使用这个 Skill 做发布前检查。
## 工作流程
1. 读取当前 Markdown 文章。
2. 列出所有图片引用。
3. 检查每个本地图片路径是否存在。
4. 检查是否有封面图。
5. 检查文章是否有搜索标签。
6. 检查教程类文章是否缺少明显模块:
- 标题
- 开头说明
- 操作步骤
- 常见问题
- 参考链接
- 标签
## 限制
- 除非用户要求,不要改写文章正文。
- 不要删除图片。
- 除非用户要求,不要把本地图片替换成远程图片链接。
## 输出
返回一份检查清单,用“通过 / 提醒 / 缺失”标注结果。

这样以后你发文章前,只需要说:
请使用 wechat-article-checker 检查当前这篇文章。
不要修改正文,只给我检查结果。
这比每次临时写一大段检查要求,要稳定得多。
八、插件怎么理解
等你有了几个好用的 Skill,就会自然走到插件。插件可以理解成“把一组能力打包”。它可以带 Skill,也可以带脚本、图标、资源文件、MCP 配置,甚至连接外部工具。
比如你将来可能会做这些插件:
插件适合“安装”和“分发”。如果只是自己用,先别急着做插件;把 Skill 打磨到真的有用,再考虑打包。很多人一上来就想做插件,最后变成在研究插件结构,反而没有把具体工作流程写清楚。
这一篇先不展开插件脚手架。你只要记住一句话:Skill 是能力的最小颗粒,插件是能力的安装包。
九、常见问题
1. Skill 和 prompt 有什么区别?
Prompt 是你临时说的话,Skill 是 Codex 可以反复读取的工作说明。临时任务用 prompt;重复任务用 Skill。
2. Skill 会不会自动触发?
有时会,有时不会。触发和 Skill 的 description 写得是否清楚有关,也和当前任务描述有关。新手不用赌自动触发,直接在提示词里写“请使用 mac-cleanup-assistant”即可。
3. 新建 Skill 后为什么当前任务里没反应?
很多情况下,新建 Skill 后最好开一个新任务,或者重启 Codex。不要在旧任务里反复试半天。先确认文件路径、SKILL.md 文件名、YAML 头部都没写错。
4. 清理电脑 Skill 能不能直接删除缓存?
不建议一上来这样做。缓存、日志、下载文件看似都能删,但其中可能有正在使用的素材、安装包、项目文件、导出文件。更稳的方式是先列候选项,再让用户确认。
5. 插件是不是一定比 Skill 强?
不是。插件解决安装、分发和连接外部工具的问题;Skill 解决流程复用的问题。自己刚开始用,Skill 往往更快。
十、这一篇做到什么程度就够了
这一篇不用追求把插件、MCP、配置文件一次学完。只要完成三件事,就算过关:
你能说清楚 Prompt、 AGENTS.md、Skill、Plugin、MCP 的区别。你能在 ~/.agents/skills/下面新建一个自己的 Skill。你能让 Codex 使用这个 Skill 做一次“只检查、不删除”的电脑清理报告。
做到这一步,Codex 就不只是一个会回答问题的工具,而开始有了一点“团队成员”的意思:它有自己的工作说明,有固定流程,有不能越过的边界。下一篇再往前走,就可以讲 Codex CLI、Cloud 和 SSH,开始让它处理更长、更远、更接近真实生产环境的任务。
#ChatGPT #Codex #Codex教程 #Codex入门 #OpenAI #AI教程 #AI工具 #AI编程 #Skill #CodexSkill #自定义Skill #插件 #Codex插件 #AGENTS.md #MCP #Mac清理 #电脑清理 #自动化工具 #公众号教程 #AI工作流
夜雨聆风