必须先完成 codex login 才能加载技能;技能分全局(~/.codex/skills/)和项目级(.codex/skills/),优先匹配项目级;手动部署需创建含正确 yaml 头的 skill.md 并执行 codex skill reload。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在 Windows 或 macOS 的终端里让 Codex CLI 真正听懂你的项目规范、自动执行审查/测试/部署流程,必须配置 Skill——它不是插件开关,而是把团队规则、技术栈约束、文件模板直接“刻进”AI 的行为逻辑里。
确认 Codex CLI 已正确安装并登录
打开终端(PowerShell / Git Bash / iTerm),运行:codex --version。若返回类似 v2.4.1 的版本号,说明 CLI 已就绪;若提示命令未找到,请先执行 npm install -g @openai/codex 并确保 Node.js ≥18。
接着运行 codex login,按提示完成身份验证。这一步会自动生成 ~/.codex/auth.json 和基础配置目录——【没有成功 login,后续所有 skill 都无法加载】。
选择技能存放位置:全局 or 项目级
全局技能对所有项目生效,适合通用能力(如代码审查、日志格式化);项目级技能只在当前目录下起作用,适合绑定特定框架或私有 API 规范。
全局路径固定为:~/.codex/skills/(Windows 是 C:\Users\{用户名}\.codex\skills\);项目级路径为:{你的项目根目录}/.codex/skills/。两者可共存,Codex 会优先匹配项目级技能。
如果你刚起步,直接用全局路径最省事:在终端中执行 mkdir -p ~/.codex/skills 创建目录。
手动部署一个 Skill(以「生成测试」为例)
第一步:进入全局技能目录
PowerShell 用户执行:cd ~\.codex\skills;macOS/Linux 用户执行:cd ~/.codex/skills。
第二步:新建技能文件夹并进入mkdir generate-test && cd generate-test。
第三步:创建必需的 SKILL.md 文件
用记事本或 VS Code 新建文件,保存为 SKILL.md(注意:不是 .md.txt!Mac 用户尤其要检查扩展名是否被系统自动添加)。内容如下:
--- name: 生成测试 description: 为指定函数或文件生成 Jest 单元测试 trigger: /test --- # 生成测试技能 <h2>执行规则</h2>
- 优先读取当前项目中的 jest.config.js 或 vitest.config.ts
- 若无配置,则默认使用 Jest + TypeScript 模板
- 测试文件必须放在 tests/ 目录下,命名与源文件一致(xxx.test.ts)
输出要求
- 生成可直接运行的 .test.ts 文件
- 包含 describe 块、至少 3 个 it 用例(正常路径、边界值、异常输入)
- 不得修改原始源码
第四步:保存后退出编辑器,回到终端执行:
codex skill reload。如果看到Reloaded 1 skill(s),说明技能已注册成功。
用 CLI 一键安装社区 Skill
方法一:从 GitHub 安装公开技能
在你的项目根目录下运行:codex skill install https://github.com/codex-community/skill-code-review.git。该命令会自动克隆仓库、校验 YAML 元数据、复制到 .codex/skills/ 下,并触发 reload。
方法二:离线导入 ZIP 包
将下载好的 my-skill.zip 解压到 ~/.codex/skills/ 内对应文件夹中,确保解压后路径为 ~/.codex/skills/my-skill/SKILL.md,再执行 codex skill reload。
注意:如果 reload 后技能未出现在列表中,运行 codex skill list 查看报错详情——常见原因是 SKILL.md 开头 YAML 缺少 name 或 description 字段。
验证 Skill 是否生效
在任意项目目录下,运行:codex "/test src/utils/formatDate.ts"。如果配置正确,Codex 将调用你刚部署的「生成测试」Skill,而不是默认的通用测试生成逻辑。
若返回错误提示 No skill matches trigger "/test",请检查:【SKILL.md 中的 trigger 字段是否为 /test(前后无空格),且大小写完全一致】。









