playbook/SKILLS.md

136 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SKILLS
本文件定义:如何在仓库中落地与维护 **Codex CLI skills**(实验功能),并给出与本 Playbook`docs/` + `.agents/`)配套的技能编写建议与内置技能清单。
> 提示Codex skills 是“按用户安装”的(默认在 `~/.codex/skills`)。本仓库将 skills 以可分发的形式放在 `codex/skills/`,并提供脚本一键安装到你的 `CODEX_HOME`。
---
## 1. 启用 skills必做
`$CODEX_HOME/config.toml`(通常是 `~/.codex/config.toml`)中启用:
```toml
[features]
skills = true
```
修改后需要重启 `codex` 才会重新发现技能。
---
## 2. 本仓库的 skills 目录结构
本 Playbook 以“可 vendoring”的方式提供 skills
```txt
codex/skills/
<skill-name>/
SKILL.md
references/ # 可选:拆分参考文档
templates/ # 可选:模板
scripts/ # 可选:脚本/命令封装
```
最终安装到本机后,对应路径为:
```txt
$CODEX_HOME/skills/<skill-name>/SKILL.md
```
---
## 3. 安装到本机(推荐)
本仓库已提供跨平台安装脚本(会把 `codex/skills/*` 复制到 `$CODEX_HOME/skills/`
- macOS/Linux`sh scripts/install_codex_skills.sh`
- PowerShell`powershell -File scripts/install_codex_skills.ps1`
- Windows bat`scripts/install_codex_skills.bat`
用法示例:
```bash
# 安装全部 skills
sh scripts/install_codex_skills.sh
# 只安装指定 skills
sh scripts/install_codex_skills.sh style-cleanup code-review-workflow
```
如果你的项目通过 `git subtree` vendoring 本 Playbook推荐前缀 `docs/standards/playbook`),则在目标项目里执行:
```bash
sh docs/standards/playbook/scripts/install_codex_skills.sh
```
安装后重启 `codex`,即可在运行时看到 `## Skills` 列表。
---
## 4. `SKILL.md` 最小规范Codex
- 文件名必须是 `SKILL.md`
- 必须包含 YAML frontmatter`---` 包裹),且至少包含:
- `name`非空≤100 字符,建议 kebab-case 且与目录名一致
- `description`非空≤500 字符(写“用户会怎么说”的触发词;避免换行)
- frontmatter 之外的正文可以是任意 Markdown用于工作流说明/决策树/命令/模板索引)
---
## 5. 使用方式
- 在对话中通过 `$<skill-name>` 直接点名触发(例如:`$style-cleanup`
- 在 Codex TUI 中可用 `/skills` 浏览与插入
---
## 6. 设计原则(写给维护者)
把 skill 当作“可检索的工作流模块”,而不是长篇教程:
1. **边界清晰**:只写“仓库/组织特定”的流程、约束与验收标准;避免通用编程常识。
2. **description 负责检索**:把团队常用说法(中英文同义词)写进 `description`,降低漏触发概率。
3. **SOP 化**:建议包含 Inputs → Procedure → Output Contract → Success Criteria → Failure Handling。
4. **渐进式披露**:主 `SKILL.md` 保持精炼;大段清单/模板放 `references/`,引用深度 ≤ 1。
5. **高风险低自由度**:破坏性操作(删数据/重写历史/生产变更)默认先停下确认,并给回滚方案。
---
## 7. Playbook 权威来源(可在 skill 中引用)
- 提交信息:`docs/common/commit_message.md`
- TSL`docs/tsl/code_style.md`、`docs/tsl/naming.md`、`docs/tsl/toolchain.md`
- C++`docs/cpp/code_style.md`、`docs/cpp/naming.md`、`docs/cpp/toolchain.md`
- Python`docs/python/style_guide.md`、`docs/python/tooling.md`、`docs/python/configuration.md`
若你的项目通过 git subtree 引入本 Playbook常见路径为 `docs/standards/playbook/docs/...`;把上述 `docs/` 前缀替换为 `docs/standards/playbook/docs/` 即可。
---
## 8. 本 Playbook 内置 skills
位于 `codex/skills/`
- `commit-message`:基于 staged diff 自动建议提交信息(`:emoji: type(scope): subject`
- `code-review-workflow`:结构化代码评审(正确性/安全/性能/测试)
- `style-cleanup`:整理代码风格(优先使用仓库既有 formatter/lint 工具链)
- `systematic-debugging`:系统化调试(先复现 → 再定位 → 再修复 → 再验证)
- `root-cause-tracing`:根因溯源 / RCA 模板
- `defense-in-depth`:关键路径分层校验/多道防线
- `bulk-refactor-workflow`:批量重构(安全做法 + 验证契约)
- `document-workflow`PDF/DOCX/PPTX/XLSX 文档工作流(带开源 fallback
- `pdf-workflow` / `docx-workflow` / `pptx-workflow` / `xlsx-workflow`:按格式拆分的文档子工作流
- `verification-before-completion`:先验证再宣称完成(证据链优先)
---
## 9. 运行时排障
- 不触发:
- 确认已启用 `[features] skills = true`
- 确认 skill 已安装到 `$CODEX_HOME/skills/<name>/SKILL.md`
- 重启 `codex`skills 只在启动时加载)
- 触发错:减少不同 skill 的 `description` 关键词重叠;让触发词更具体(语言/工具/目录名/流程名)。
- 启动报错:通常是 YAML frontmatter 不合法或字段超长;修复后重启即可。