乐于分享
好东西不私藏

Codex Skill 插件入门:把重复任务做成自己的 AI 工具

Codex Skill 插件入门:把重复任务做成自己的 AI 工具
这一篇解决三个问题:Skill 是什么、插件和 Skill 有什么区别、怎样做一个“清理电脑”的自定义 Skill。

上一篇,我们已经把账号、会员、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,再执行检查命令,最后给你一个清单。你要看的不是它有没有把话说得漂亮,而是它有没有遵守三件事:

  1. 有没有先检查磁盘和内存。
  2. 有没有列出候选项和风险等级。
  3. 有没有在删除前停下来等你确认。

如果它直接开始删除文件,说明 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、配图处理脚本、封面模板
电脑清理插件
Mac 清理 Skill、安全删除规则、报告模板
服务器运维插件
SSH 检查 Skill、日志分析脚本、重启前检查规则
品牌内容插件
品牌语气、禁用词、固定标签、配图风格

插件适合“安装”和“分发”。如果只是自己用,先别急着做插件;把 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、配置文件一次学完。只要完成三件事,就算过关:

  1. 你能说清楚 Prompt、AGENTS.md、Skill、Plugin、MCP 的区别。
  2. 你能在 ~/.agents/skills/ 下面新建一个自己的 Skill。
  3. 你能让 Codex 使用这个 Skill 做一次“只检查、不删除”的电脑清理报告。

做到这一步,Codex 就不只是一个会回答问题的工具,而开始有了一点“团队成员”的意思:它有自己的工作说明,有固定流程,有不能越过的边界。下一篇再往前走,就可以讲 Codex CLI、Cloud 和 SSH,开始让它处理更长、更远、更接近真实生产环境的任务。

#ChatGPT #Codex #Codex教程 #Codex入门 #OpenAI #AI教程 #AI工具 #AI编程 #Skill #CodexSkill #自定义Skill #插件 #Codex插件 #AGENTS.md #MCP #Mac清理 #电脑清理 #自动化工具 #公众号教程 #AI工作流