Codex从零到一:SKILL编写实战教程
利用 Codex 从零构建一个 GIF 处理技能,将视频转 GIF 这一繁琐流程彻底自动化,一次投入,永久复用。
核心要点:
1. 从解决真实场景切入,让 Codex 直接生成 FFmpeg 命令
2. 将单次操作提炼为可重复执行的自动化工作流
3. 封装成通用型 skill,灵活应对各类视频剪辑需求
为推广 oh-my-prompt 2.0,直接借助 Codex 从零编写了一个 GIF skill。
oh-my-prompt 2.0 近期上线,主要升级包括两大功能:云端备份与 Prompt Agent。
Prompt Agent 功能最适合用 GIF 直观演示,于是录了一段屏幕操作,准备剪辑、加速后转成动图插入文章。
过去处理视频,我通常使用 Remotion。
Remotion 功能强大——支持视频比例转换、自动字幕生成、复杂渲染合成。但这次需求极为简单,仅需将录屏转为 GIF,专门启动一个 Remotion 项目显得大材小用。
于是临时决定:能不能直接让 Codex 帮忙定制一个专门处理视频转 GIF 的 skill?
目的不是只写一条 FFmpeg 命令,而是打造一个可反复使用的工作流。以后只需告知视频位置、截取区间、调速参数及输出尺寸,它便能自动检查视频内容、复述处理计划、等待确认后生成 GIF。
本文将完整记录从零到一构建该 skill 的全过程。如果你也常处理重复性小任务——如整理文件、批量图片处理、格式转换、草稿生成、重命名等——完全可以参照此方法落地。
1、别急着写 skill,先把实际任务跑通
最初向 Codex 提问非常直接:
我想将视频进行剪辑,并变速,再转成 gif,可以使用什么工具?
Codex 推荐了 FFmpeg。这一选择十分合理——视频裁剪、变速、拼接、转 GIF,FFmpeg 全覆盖,且免费开源,非常适合嵌入自动化流程。
接着继续回应它的追问:
一个命令搞定,且免费。
Codex 提供了一条 FFmpeg 命令,并逐项解释了关键参数。至此,一次性问题已经解决。但我不想每次都重复拼写命令,况且真实场景下的视频处理通常不止截取一段那么简单。
随后边播放视频,边用自然语言向 Codex 描述需要剪辑的位置:
8 秒之前不要,8 秒到 15 秒加速 4 倍,16 秒到 31 秒不要,32 秒到 40 秒加速 4 倍,41 秒到 53 秒不要,54 秒到 55 秒加速 2 倍,55 秒之后不要。
这段描述翻译成命令相当繁琐——需要拆分片段、分别调速、拼接、转 GIF,还要检查输出大小。它最终生成了一段 4 秒多的 GIF,保留了三个片段,分别按 4 倍速、4 倍速、2 倍速处理。
到这里,本次需求已完成——它帮我将视频成功转成了所需的 GIF。但如果不沉淀为 skill,下次还得重新重复以上沟通流程。
2、将单次操作,提炼为可复用的工作流
这一步至关重要。
创建 skill 前,务必让 Codex 完整执行一次真实任务。 不要一上来就说“帮我写一个视频转 GIF skill”——这样极易生成空洞的说明。
更好的做法:先让它解决一个真实问题,把过程里的输入、判断、异常处理、确认环节、输出结果全部暴露出来。跑通之后,再让它将这套流程固化为 skill。
任务跑通后,让 Codex 使用 Skill Creator,将以上过程整理为一个正式 skill。注意要求它先确认,而非直接创建。
这个习惯值得保留——因为 skill 并非普通 prompt,它直接影响 Agent 后续行为。写得太粗,执行容易失控;写得太死,灵活性不足。
创建前务必先明确几个问题:这个 skill 的名称是什么?它在哪些场景下触发?需要用户提供哪些信息?何时需要追问?何时可以执行?执行前是否需要确认?执行后如何验证结果?
它不解决所有视频剪辑问题,只解决一个非常具体的场景——从视频中截取片段、按需调速、拼接并转为 GIF。范围一定要收窄。
很多朋友初次写 skill,容易什么都往里塞:视频转 GIF、加字幕、加封面、压缩、调色、去水印、转 MP4,全写进去。看起来全能,实则极易失控。
经验表明,skill 越小,越容易真正落地使用。只要把一件重复的小事做稳定,就已经价值巨大。
3、设计 skill 时,重点明确交互流程
这次 video-gif-editor 的核心,并非 FFmpeg 命令——FFmpeg 只是底层工具。真正关键的是交互流程。
我希望它按以下顺序执行:
1、先定位来源视频。若未指定,则主动询问视频位置。
2、读取视频基本信息。包括时长、分辨率、帧率、文件大小。
3、询问处理需求。用户可用自然语言描述,例如“裁掉开头 8 秒,后面整体 4 倍速”或“保留几段不同速度”。
4、检查描述是否存在问题。例如时间段是否超出视频长度、片段是否重叠、速度倍率是否合理。
5、复述即将执行的计划。包括保留哪些片段、每段速度、输出尺寸、预计 GIF 时长和大小。
6、等待用户明确确认。未确认绝不执行。
7、生成 GIF 并校验结果。输出实际时长、尺寸、帧率、帧数、文件大小。
真正需要写入 skill 的,是这些交互规则——让 Agent 清楚何时提问、何时判断、何时复述、何时执行。
这也是 skill 好用与否的分水岭。差的 skill 只写“怎么做”;好的 skill 会写清楚“怎么和用户一起做”。尤其视频处理这类任务,执行一次可能耗时几十秒甚至几分钟——未经确认直接跑,错一次就是浪费大量时间。因此在 skill 中明确要求:用户确认前不得执行。这条规则简单却极其有效。
4、让 Codex 创建文件,并自行验证
确认流程后,Codex 创建了 video-gif-editor skill。它包含几个组件:SKILL.md 用于描述触发场景和工作流程,scripts/render_gif.py 用于实际调用 FFmpeg 生成 GIF。
5、用新 skill 处理真实素材
这一步同样建议照做——不要只看到 Codex 提示“创建完成”就结束。务必让它使用真实素材完整跑一遍。skill 这类文件,如果只写不测,很容易出现路径错误、依赖缺失、参数解析异常等问题。能跑通,才算真正完成。
skill 就绪后,立即用它测试处理本次 oh-my-prompt 2.0 的录屏。
源视频为 PixPin_2026-05-26_10-20-06.mp4。video-gif-editor 首先读取了视频信息。由于创建 skill 过程中已经帮我把 GIF 制作完成,这里测试时随意给了一个处理要求:
全部加速 4 倍,裁剪掉末尾 2 秒。
它解析出的计划是:保留 0 到 124.45 秒,整体加速 4 倍,预计 GIF 时长约 31.11 秒。同时给出了三种输出规格。
选择了 small——因为这张 GIF 主要用于文章和聊天记录,不需要超高清晰度,体积小更利于传播。随后 skill 再次复述即将执行的参数,并要求明确回复“确认执行”。
确认后,开始生成 GIF。
至此,这个 skill 完成了它的首次真实工作。从需求层面看,它只是帮忙生成了一个 GIF。但从工作流层面看,它将一个以后会反复出现的小任务固化了下来。下次再录制产品演示,无需重新思考用什么工具,只需将视频丢给 video-gif-editor,然后用自然语言描述剪辑需求即可。
这正是 Codex 做 skill 最实用的价值——它不仅适合编写大型项目,也擅长将那些重复出现、步骤不复杂但容易出错的小任务,转化为稳定可靠的工具。
具体操作路径:先让 Codex 手动完成一次真实任务;再让它总结流程,找出固定步骤与易错环节;然后使用 Skill Creator 将流程写成 skill;接着让它创建必要脚本;最后用真实素材验证。这是一条非常简单有效的 skill 创建路径。
顺便介绍一下 oh-my-prompt 2.0。本次更新主要围绕两个功能:云端备份和 Prompt Agent。
云端备份解决了 prompt 资产的安全问题。许多用户使用 oh-my-prompt 并非只存储几条提示词,而是按项目、角色、平台、风格长期积累。积累到一定规模后,这些 prompt 不再是临时文本,而是核心素材资产。因此 2.0 加入了云端备份,换电脑、重装浏览器、同步 prompt 都更加稳妥。
Prompt Agent 则是本次 GIF 展示的重点。
过去的 oh-my-prompt 更像是一个 prompt 管理器——保存一段 prompt,需要时一键插入。但很多 prompt 并非固定文本,而是一个任务的入口。例如做产品海报,它应该继续追问产品是什么、卖点是什么、风格是什么、面向什么人群。例如做角色一致性,它应该帮助补全角色设定、生成参考表、测试场景、沉淀模板。
Prompt Agent 的目标就是实现这一点——将静态的 prompt,变成一个能够持续追问并推进任务的小助手。这也是为什么需要一个 GIF 来展示,因为这个功能仅靠截图难以说明,动图更直观。
官网:oh-my-prompt.com
GitHub:github.com/wk240/oh-my-prompt
如果已经在使用,建议更新到 2.0 版本体验。如果还未接触,也可以从此版本开始了解。












