自学教程

Codex Agent Skills

Codex Agent Skills(智能体技能体系)

Agent Skills 是 Codex 的能力扩展模块,相当于给智能体附加一套领域专业能力包,封装角色设定、系统提示、工具调用逻辑与标准化工作流。Skill 文件以 Markdown 格式存放于项目 .codex/skills/ 目录,支持内置技能、自定义私有技能以及从技能市场安装第三方技能。和一次性提示词不同,Skill 可以按需激活复用,让 Codex 在特定开发场景输出行为稳定、流程统一。本文讲解 Agent Skills 的基础概念、内置技能、自定义编写、技能管理命令、最佳实践与常见问题。

一、Agent Skills 基础概念

Agent Skill 是封装好的领域能力包,由角色定义、系统提示、工具调用规则、完整工作流、输出格式共同组成。

维度说明
定义面向特定开发领域的专业能力扩展包
组成角色设定 + 系统提示 + 工具调用 + 标准化工作流
文件格式Markdown
存放路径项目目录下 .codex/skills/

重要区分:AGENTS.md 属于全局项目规则,对全部任务永久生效;Agent Skills 是可选能力扩展,需要手动激活才生效。

Skill 与普通提示词的差异

  • 普通提示词:单次对话临时生效,每次需要重复描述规则,输出行为不稳定。
  • Agent Skill:文件固化定义,可复用、可团队共享,通过斜杆命令按需激活,自带完整工作流与校验规则。

技能触发方式

  1. 显式触发(推荐):使用 /skill 斜杆命令手动指定技能,精准控制本次任务使用的能力包。
  2. 隐式触发:Codex 根据用户任务意图自动匹配可用技能,适合简单场景;复杂任务建议显式调用,避免匹配错误。

二、Codex 内置 Skills

Codex 自带一组开箱即用的内置技能,无需编写任何文件,直接通过斜杆命令调用。

Skill名称核心能力典型适用场景
code‑review代码审查,检查质量、规范、耦合问题PR/MR变更评审
debug自动调试定位、修复Bug报错、异常堆栈修复
test‑gen批量生成单元、集成测试用例补充项目测试覆盖
doc‑gen自动生成注释、API文档、说明文档接口文档、模块说明生成
refactor在不改变业务前提下做代码重构优化代码结构优化、整理旧代码
security安全漏洞扫描,识别密钥注入、越权风险项目安全审计

内置技能调用示例

# 调用代码审查技能
/skill code-review
审查 src/auth.ts 的代码质量调用调试修复技能
/skill debug
修复 TypeError: Cannot read property 'id' of undefined

使用 security 安全审计技能示例

/skill security
扫描整个项目的安全漏洞

输出样例:

🔴 [严重] src/auth.ts:45 - 硬编码密钥
🟡 [中等] src/api.ts:23 - SQL 拼接未做参数化
🟢 [低] src/utils.ts:12 - 缺少输入参数校验

三、自定义 Skills

当内置技能无法满足团队业务规范、技术栈要求时,可以编写自定义 Skill,保存到项目 .codex/skills/ 目录,提交到代码仓库即可实现团队共享。

一份标准自定义 Skill 文件包含:角色、执行规则、工作流步骤、输出格式,可引入项目模板文件作为参考。

示例1:React组件生成技能 .codex/skills/react-component.md

# React Component Generator
## 角色
你是一个 React 组件开发专家,精通 TypeScript 和现代 React 模式。## 规则
- 使用函数式组件
- 使用 TypeScript 类型注解
- Props 使用 interface 定义
- 使用 CSS Modules 或 Tailwind
- 包含 Storybook story
- 包含单元测试 ## 工作流
1. 分析组件需求
2. 定义 Props interface
3. 实现组件逻辑
4. 添加样式
5. 创建 Storybook story
6. 编写单元测试
7. 验证 TypeScript 编译
## 输出格式
- 组件文件:src/components/ComponentName.tsx
- 样式文件:src/components/ComponentName.module.css
- Story 文件:src/components/ComponentName.stories.tsx
- 测试文件:src/components/ComponentName.test.tsx

调用自定义技能:

/skill react-component
创建一个 DatePicker 组件,支持日期范围选择

示例2:FastAPI接口生成技能 .codex/skills/api-endpoint.md

# API Endpoint Generator
## 角色
你是 FastAPI 端点开发专家。## 规则
- 使用 Pydantic 模型做请求/响应验证
- 所有端点包含错误处理
- 使用 dependency injection
- 包含 Swagger 文档
- 编写 pytest 测试 ## 模板
参考 src/api/templates/standard_endpoint.py 工作流
定义 Pydantic 请求模型 定义 Pydantic 响应模型 实现端点逻辑 添加错误处理 编写测试 确保 pytest 通过

四、Skills 管理命令

所有客户端(桌面、CLI、IDE)均支持技能管理斜杆命令:

# 列出当前项目全部可用技能
/skills list# 查看某个技能的详细定义
/skills info code-review # 启用、禁用指定技能
/skills enable react-component
/skills disable doc-gen
# 从技能市场安装第三方技能包
/skills install graphql-api

注意:内置技能不能直接修改;如果需要改写内置行为,可以创建同名自定义Skill,会自动覆盖内置版本。

五、Skills 最佳实践

实践原则说明
领域专一一个Skill只解决一类问题,不要把多种无关能力写进同一个Skill
引用模板在Skill内指定项目内部模板文件路径,统一输出风格
明确工作流写明完整执行步骤,减少AI随机发挥
定义验证方式写明任务完成后的自测、验证标准
持续迭代根据团队反馈持续更新Skill规则
单任务单Skill一次任务尽量只启用一个Skill,避免多条规则互相冲突

六、常见问题

Q:Skills 和 AGENTS.md 的区别?
A:AGENTS.md 是项目全局规则,所有任务永久生效;Skills 是可选能力包,需要 /skill 命令手动激活。

Q:如何在团队内共享自定义 Skill?
A:把 .codex/skills/ 目录提交到Git仓库,团队其他成员拉取代码即可直接使用。也可以发布到公共Skills市场供外部下载。

Q:使用Skills会不会增加Token消耗?
A:Skill的角色、规则、工作流会占用上下文Token;但对比每次手动重复写一大段提示词,整体token开销更低,输出稳定性更好。

Q:可以修改官方内置Skills吗?
A:不能直接修改内置源文件,可以创建同名自定义Skill,本地会优先加载自定义版本,实现覆盖。

Q:同一个任务可以同时启用多个Skill吗?
A:不建议,多条规则容易发生冲突,导致输出混乱,一个任务尽量只激活一个Skill。

七、总结

Agent Skills 是 Codex 的模块化能力扩展,分为官方内置技能、项目自定义技能、市场第三方技能。Skill文件存放在 .codex/skills/,通过 /skill 系列斜杆命令完成调用、查看、启用、禁用。它和全局规则文件AGENTS.md互为补充:AGENTS.md管全局约束,Skills管按需加载的领域工作流。团队可以把高频开发流程沉淀为Skill,减少大量重复提示词,让AI输出更加标准化、可复用。

0 条笔记