andrej-karpathy-skills的codex适配改造

📅 发布时间:2026/7/24 11:56:10
andrej-karpathy-skills的codex适配改造 如有错误欢迎指正前言andrej-karpathy-skills是什么它是以karpathy总结的AI写代码时的缺陷为灵感开发的一款skill主要是为了约束AI而制定的一些规则。可以理解为让AI在执行之前需要进行的一些思考从而提高AI的工作效能。当使用openspec或者其他的规范驱动开发模式时这个skill会有较大的帮助等我走完openspec流程之后再详细写一篇哈哈哈哈。但是从我的观察来看这个skill目前好像没有支持codex所以打算自己尝试把它接入到codex中其实没什么难的但是可以通过这个来理解一个skill它需要什么。看来还是claude code的适配度更好啊~~如果有兴趣可以去官方仓库看看https://github.com/multica-ai/andrej-karpathy-skills如何在codex开发一款skill对于所有的AI工具无论是claude code还是codex识别一个skill的条件就两个目录格式。skill目录要放在官方定义的skill目录中其次就是skill内部结构也要符合官方定义只有这两个条件满足了这个skill才能被正确识别。目录要求对于codex来说skill存放的目录在$CODEX_HOME/skills/如果配置了$CODEX_HOME或~/.codex/skills/对于skills的目录位置可以看这篇文章Claude Code、Codex、OpenCode 对 Skills 的支持现状对比我就没有配置$CODEX_HOME所以我的skills应该放在C:\Users\用户名\.codex\skills这个文件夹下。如果你安装了codex打开这个目录会发现这个文件夹。这个文件夹中存放的skill是官方skill我们自己的skill跟这个文件夹是平级的。如下图。skill结构要求对于几乎任何AI工具来说SKILL.md都是必须的当AI工具启动时会去读取skills目录然后会去读取SKILL.md文档。所以当有新skill时如果想让AI工具加载skill必须重启这个AI工具。这个文档中定义了这个skill的namedescription以及skill的整个工作流。name:skill的名字使用小写字母、数字和连字符-这里要注意name要和文件夹的名字一样。比如父目录名是qwer-qwer那么name也必须是qwer-qwer。description:用于精确描述skill的作用codex会根据这个决定何时调用这个skill。所以可以说在改造的时候加上一个SKILL.md就可以了。但是因为后续想要在openspec模式下使用这个skill还需要加上自己的工作流和公司的一些规范所以这里不单单是只需要一个SKILL.md文档。虽然理论上只有一个SKILL.md文档就可以了但是一般codex的skill都具有如下的结构。│ README.md │ SKILL.md │ ├─agents │ openai.yaml//补充 UI 展示名称、调用策略和工具依赖声明 │ └─references//按需读取的长文档或者其他规则实践记录理论具备开始实践。skill结构首先先从官方仓库下clone或者fork一份andrej-karpathy-skills其实不fork也行因为这个andrej-karpathy-skills最关键的就是那一份claude.md文档直接拷贝下来另存为principles.md即可这个名字随便。因为我后续还要加上自己的工作流所以没有直接将其命名为SKILL.md如果没有额外的需求到这里这个skill就已经适配codex了是不是很简单~~可以直接跳到验证部分。不过我还是建议不要直接命名为SKILL.md方便后续扩展。另存为principles.md之后将其放到references目录下这个目录下还可以放其他的规则文件比如personal.md用来定义自己开发时的一些固定规则company.md可以放一些公司的规则等等只要在SKILL.md中定义清楚什么情况下需要去遵循这些规则就行。比如说开发时必须遵循personal.md这个规则使用公司组件时遵循company.md规则这里可以结合MCP使用后续开发好MCP后还会出文章这里可以忽略。但是要注意skill不要超出token上下文窗口。这些要求比如说使用规则的时机文件的名字都可以直接丢给codex让它按照codex的skill的标准结构生成就行最后生成的目录如下。│ README.md │ SKILL.md │ ├─agents │ openai.yaml │ └─references company.md examples.md personal.md principles.md验证在codex终端输入/karpthy-guidelines或者$karpthy-guidelines可以识别到就说明skill接入成功了。但是后续这个skill的效果还需要在使用的过程中不断的调整。一些小tips软链接当我们本地开发完一个skill后可能需要它可以在不同的AI工具上使用但是每次都将其复制到不同的skills目录下比较麻烦后续同步skills功能也比较麻烦这个时候我们就可以使用软链接的方式这样skill在本机中其实只有一份但是不同的工具都可以访问到这个skill。不过我在实践中发现在进行链接的时候最好使用New-Item如下来链接不然codex可能识别不到。New-Item -ItemType Junction -Path C:\Users\Administrator\.codex\skills\karpathy-guidelines -Target D:\mydearagent\skills\andrej-karpathy-skills-gj\skills\karpathy-guidelines使用cdoex cli当使用codex桌面端进行开发时有些问题可能不会显示出来而使用codex cli进行开发时会把错误打印出来。就比如在重启加载skill时桌面端可能并不会有什么反应而使用cli就可能会报如下的错误一眼就能看出问题出在哪里。⚠ Skipped loading 1 skill(s) due to invalid SKILL.md files. ⚠ D:\mydearagent\skills\andrej-karpathy-skills-gj\skills\karpathy-guidelines\SKILL.md: missing YAML frontmatter delimited by ---看官方刚开始学习时在网络上找的学习文章真的会看的一脸懵逼因为这些文章可能对于初学者来说确实不好理解这个时候我们就要去看官方怎么说。就比如skill的结构我也有在github上找到andrej-karpathy-skills对于codex的适配方案但是是以plugin的形式越看越。这个时候就可以去看官方已经支持的skill它们绝对是最标准的版本。或者使用skill-creator这个skill来创建一个skill它创建出来的结构也是最标准的版本。这里放上官方skill的仓库GitHub - openai/skills: Skills Catalog for Codex · GitHub