作者:互联网 时间: 2026-09-02 16:45:57
Skills(技能)是 Codex CLI 的扩展机制,允许你创建自定义的工作流程和自动化任务。通过技能,你可以定义 Codex 在特定场景下的行为方式。
技能是一种可配置的行为模式,它告诉 Codex 如何处理特定类型的任务。你可以创建自己的技能来:

技能系统让 Codex 能够适应不同项目和工作流程的需求,就像为你的团队分配了一位专职开发助手。
Codex 会从以下位置加载技能:
| 位置 | 说明 |
|---|---|
~/.codex/skills/ | 全局技能目录,所有项目可用 |
{项目目录}/.codex/skills/ | 项目级技能目录 |
配置指定的目录 | 通过 config.toml 中的 skills.directory 指定 |
[skills]enabled = true
directory = "~/my-codex-skills"
每个技能是一个独立的文件夹,包含以下文件:
skill-name/├── skill.md # 技能定义文件(必需)└── (可选的辅助文件)
---name: 代码审查
description: 执行深度代码审查并提供改进建议
trigger: /review
---
# 代码审查技能
当用户请求代码审查时,执行以下步骤:
## 审查标准
1. 代码可读性
2. 性能问题
3. 安全隐患
4. 最佳实践遵循情况
5. 测试覆盖度
## 输出格式
提供以下结构化报告:
- 问题列表(按严重程度排序)
- 改进建议
- 代码评分(1-10)
每个技能文件的开头必须包含 YAML 格式的元数据:
| 字段 | 类型 | 说明 | 必需 |
|---|---|---|---|
name | string | 技能名称 | 是 |
description | string | 技能描述 | 是 |
trigger | string | 触发关键词 | 否 |
当你的输入匹配技能的 trigger 时,Codex 会自动使用该技能来处理任务。
让我们创建一个简单的技能作为示例:
mkdir-p ~/.codex/skills/生成测试---name: 生成测试
description: 为代码生成单元测试
trigger: 测试
---
# 生成测试技能
当用户请求生成测试时,执行以下步骤:
## 步骤
1. 分析现有代码的功能
2. 识别需要测试的边界情况
3. 选择合适的测试框架
4. 生成测试用例
## 测试标准
- 覆盖率应该包括正常情况、边界情况和错误情况
- 每个测试用例应该独立,不依赖其他测试的执行顺序
- 使用清晰的测试函数命名
## 输出格式
生成可以直接运行的测试代码,并包含必要的测试数据。
现在,当你输入包含"测试"相关的内容时,Codex 会自动使用这个技能:
# 这些输入会触发"生成测试"技能帮我为这个函数生成测试
请测试这个模块
Codex 自带了一些常用技能:
| 技能名称 | 触发词 | 说明 |
|---|---|---|
| 代码审查 | review、审查 | 执行代码审查并提供改进建议 |
| 调试 | debug、调试 | 帮助定位和修复问题 |
| 重构 | refactor、重构 | 优化代码结构而不改变功能 |
| 文档 | doc、文档 | 生成代码文档 |
你可以覆盖内置技能的行为,创建符合项目需求的版本。
当多个技能匹配时,Codex 按以下优先级选择:
你可以通过斜杠命令强制使用某个技能:
# 使用技能命令@skill-name 你的任务描述
你可以通过配置让技能在特定条件下触发:
---name: Python 技能
description: Python 项目特定处理
trigger: python
when:
file_pattern: "*.py"
directory: "src/"
---
# Python 项目技能
此技能仅在处理 Python 文件时生效。
技能可以定义复杂的多步骤流程:
---name: 完整功能开发
description: 从需求到实现完整流程
trigger: 开发功能
---
# 完整功能开发流程
## 阶段 1:需求分析
- 理解功能需求
- 识别边界情况
- 设计数据结构
## 阶段 2:设计
- 设计函数/类结构
- 定义接口
- 选择算法
## 阶段 3:实现
- 编写代码
- 添加注释
- 编写文档
## 阶段 4:测试
- 编写单元测试
- 验证边界情况
- 检查覆盖率
## 阶段 5:提交
- 创建 Git commit
- 编写提交信息
好的技能应该让用户感觉"Codex 懂我的需求",而不是需要学习特殊语法。
# 在 Codex 中输入/skills
如果你不想使用某个技能,可以删除对应的文件或移动到其他目录。
修改技能文件后,需要重启 Codex 才能生效。
OpenAI 官方提供了一些预制技能供你参考和使用:
访问 GitHub 仓库查看更多示例:https://github.com/openai/codex/tree/main/skills
检查技能文件的元数据格式是否正确,确保 YAML 头部格式正确且文件以 .md 结尾。
可以在 Codex 中使用 /debug 命令查看技能匹配的详细信息。
技能只是提供指导方针,Codex 仍然会进行独立判断。如果技能配置不当,Codex 会使用默认行为。