直接答案
Skill 适合封装可重复的专项流程;保持入口短小,把详细参考和确定性脚本放在独立目录中按需使用。
这篇内容解决什么问题
为 Codex 创建和维护可复用 Skill
先选择最小的扩展载体
一次性约束留在提示词,跨任务仓库约定放 AGENTS.md,重复的专项操作写成 Skill,需要实时外部数据或动作时使用 MCP。把不同问题塞进一个 Skill 会增加触发噪声。
Skill 应有清晰输入、步骤、验证与退出条件。只有当流程会重复、步骤容易遗漏或需要附带参考资料时,才值得抽象。
使用清晰的 Skill 目录结构
每个 Skill 使用独立目录和 SKILL.md 入口。名称描述任务,不使用宽泛的 helper 或 utils。参考资料放 references,确定性处理放 scripts,避免入口文件无限增长。
项目 Skill 应进入代码审查,用户级 Skill 用于个人跨仓库工作流。不要把私有密钥、机器绝对路径或未经授权的组织资料提交到项目 Skill。
.codex/skills/release-check/
├── SKILL.md
├── references/
│ └── release-policy.md
└── scripts/
└── collect-evidence.sh编写可识别的 SKILL.md 入口
frontmatter 的 name 应稳定,description 要同时说明做什么以及何时使用,让 Codex 能在相关任务中准确选择。正文按执行顺序写,并标出必须暂停询问用户的动作。
不要在 description 堆砌所有关键词。触发过宽会让无关任务加载 Skill,触发过窄又会让用户必须记住精确名称。
---
name: release-check
description: Verify a release candidate, collect build and test evidence, and report blockers. Use before tagging or publishing a release.
---
# Release Check
1. Read the repository release policy and current version.
2. Confirm the requested tag; do not create or push it without approval.
3. Run the repository-defined build and test commands.
4. Compare expected artifacts and checksums.
5. Report commands, results, blockers, and unverified items.把知识与确定性操作分开
references 保存需要按需阅读的政策、格式和示例;scripts 处理必须精确重复的收集、转换或校验。脚本仍需异常处理、超时与清晰退出码。
Skill 正文负责决策顺序,不应复制参考文件全部内容。脚本不得把用户输入拼进危险 shell,也不能静默执行发布、删除或数据库修改。
- 长参考按主题拆分,并在 SKILL.md 指明何时读取。
- 脚本默认只读,写操作显式传参。
- 网络请求设置超时并保留错误上下文。
- 输出保持机器可判定,避免只打印“成功”。
用正反任务测试触发与执行
至少准备一个应触发、一个不应触发和一个信息不足需要提问的任务。观察 Codex 是否加载正确 Skill、遵守暂停点并运行预期验证。
测试时使用只读仓库或临时分支,不要拿首次运行直接发布真实版本。
codex -C /path/to/repo -s read-only "使用 release-check 检查当前仓库是否具备发布条件。不要创建 tag、不要推送、不要修改文件;列出需要我确认的信息。"版本化并维护 Skill
仓库命令、发布策略或工具参数改变时同步更新 Skill。给关键流程保留示例输入与期望检查项,能在升级 Codex 后快速回归。
定期合并重复 Skill、收窄宽泛描述并删除失效脚本。第三方 Skill 安装前按代码执行项目审查,不要因文件是 Markdown 就默认安全。
官方来源与核验范围
本文以公开官方文档为事实依据;命令和配置可能随客户端版本变化,执行前请同时核对对应来源。
查看技术核验方法