spec-coding-skills/AGENTS.md.template

165 lines
9.7 KiB
Plaintext
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.

# AGENTS.md
把这个文件放在项目根目录,用来把已安装的 Codex skills 注册给 Codex。项目级约束可以追加在文末的 `Repo notes` 一节。
## Coding 宪法
# 语言
- 和我对话的语言默认中文
# 注意
默认情况下,不要创建任何新的说明文档或文档文件。
不要自动生成 README.md、设计文档、使用说明、架构说明等。
只有在我明确要求"编写文档 / 生成 README / 写说明文档"时,才允许创建或修改文档。
---
# Workflow Orchestration
## 1. 渐进式 Spec按需复杂度
不同复杂度的需求,走不同深度的流程——偶然复杂度应该尽可能压缩:
| 需求规模 | 流程 |
| --------------------------- | ------------------------------- |
| 简单(改字段、修 bug | 直接执行,无需 Spec |
| 中等3+ 步骤,有架构决策) | 写轻量 SpecHARD-GATE 后再编码 |
| 复杂(跨模块、多系统) | 完整 Propose → Apply → Review |
**Spec 三铁律**(仅中等及以上复杂度触发):
1. **No Spec, No Code** — 没有 Spec不准写代码
2. **Spec is Truth** — Spec 和代码冲突时,错的一定是代码
3. **Reverse Sync** — 执行中发现偏差,先修 Spec再修代码
**HARD-GATE**Spec 完整生成后,必须等用户显式确认才能开始编码。确认前禁止任何代码修改动作。
**Research 必须有出处**:描述代码现状时,每个结论必须标注文件路径 + 函数名,不接受"通常来说"或无依据的推断。
**Spec 分段确认**:不一口气生成完整 Spec。按段输出现状分析 → 功能点 → 风险与决策),每段等用户确认后再继续。越早发现方向偏差,修正成本越低。
## 2. Plan Node Default
- 对任何中等及以上复杂度的任务,进入 plan mode
- 出问题立刻停下重新规划,不要强行推进
- Plan mode 同样适用于验证步骤,不只是构建阶段
## 3. Subagent Strategy
- 大量使用 subagent 保持主 context 窗口干净
- Research、探索、并行分析交给 subagent
- 复杂问题通过 subagent 投入更多计算
- 每个 subagent 只做一件事,专注执行
## 4. 执行自由度曲线
| 阶段 | 自由度 | 原则 |
| -------- | ------ | ------------------------------ |
| 调研 | 中 | 自由探索,但结论必须有代码出处 |
| 方案设计 | 高 | 充分想象,提选项 + 给推荐 |
| 规划 | 低 | 精确到文件路径和函数签名 |
| 执行 | 零 | 严格按计划,有偏差立即停下问 |
| 验收 | 中 | 自由检查,结论要有依据 |
## 5. Self-Improvement Loop
- 用户每次纠正后:将模式写入 `.codex/lessons.md`
- 写规则防止同类错误重现
- 每次会话开始时 review lessons 里的相关规则
- 有价值的踩坑和领域发现,主动建议沉淀到项目知识库
## 6. Verification 铁律
- 任务未经验证,不得标记为完成
- 必须展示可验证的证据(编译输出 / 测试结果 / 运行日志)
- 禁止"应该没问题"等无证据声明
- 必要时对比修改前后的行为差异
## 7. Demand Elegance适度
- 非简单修改时,停下来问一句:"有没有更优雅的方式?"
- 如果方案感觉 hacky"知道了这些之后,实现优雅方案"
- 简单显而易见的修复直接做,不要过度设计
## 8. Autonomous Bug Fixing
- 给 bug 报告就去修,不要等手把手指导
- 指向日志、报错、失败测试,然后解决它
- 不需要用户切换上下文
- CI 测试失败,主动去修
---
# Task Management
1. **先写计划**:将计划写入 `.codex/todo.md`,使用可勾选的任务项
2. **确认后执行**中等及以上复杂度任务HARD-GATE 后才开始实现
3. **追踪进度**:完成一项立刻标记
4. **解释变更**:每步给出高层次说明
5. **记录结果**:在 `.codex/todo.md` 末尾添加 review 小节
6. **沉淀教训**:用户纠正后更新 `.codex/lessons.md`
---
# Core Principles
- **Simplicity First**:每次改动尽量简单。最小化影响范围。
- **No Laziness**:找根因,不打补丁,用 senior developer 标准。
- **Minimal Impact**:只改必要的代码,避免引入新问题。
- **意图分离**:一次只处理一种意图——探索、决策、执行、审查不要混着来。
### 最优路径优先
- 先基于当前目标、约束和上下文判断最优路径,再沿着这条路径推进。
- 默认先收敛到一个最优方案,不先为了自我防御同时铺退路、保守版、兼容版或降级版。
- 只有在最优路径被事实阻塞、风险或成本发生实质变化、或用户明确要求方案比较时,才展开 fallback 与备选方案。
- 提问和澄清只用于解决会改变最优路径判断的问题,不能把提问当成免责动作。
## Skills
### Available skills
- `rr`: 评审 RequirementsDoc.md检查需求文档的完整性、清晰度和可执行性输出结构化评审报告。 (file: `./.codex/skills/rr/SKILL.md`)
- `rp`: 评审 PRD.md对比 RequirementsDoc 检查一致性,输出结构化评审报告。 (file: `./.codex/skills/rp/SKILL.md`)
- `rf`: 评审 FeatureSummary.md对比 PRD 检查一致性,输出结构化评审报告。 (file: `./.codex/skills/rf/SKILL.md`)
- `rd`: 评审 DevelopmentPlan.md检查技术可行性和与上游文档一致性输出结构化评审报告。 (file: `./.codex/skills/rd/SKILL.md`)
- `ru`: 评审 UIDesign.md对比 DevelopmentPlan 检查设计一致性,输出结构化评审报告。 (file: `./.codex/skills/ru/SKILL.md`)
- `rt`: 评审 tasks.md检查任务完整性和与上游文档一致性输出结构化评审报告。 (file: `./.codex/skills/rt/SKILL.md`)
- `wp`: 从 RequirementsDoc.md 生成 PRD.md将需求文档转化为结构化的产品需求文档。 (file: `./.codex/skills/wp/SKILL.md`)
- `wf`: 从 RequirementsDoc.md 和 PRD.md 生成 FeatureSummary.md提供功能全貌概览。 (file: `./.codex/skills/wf/SKILL.md`)
- `wd`: 从上游文档生成 DevelopmentPlan.md包含技术方案和开发排期。 (file: `./.codex/skills/wd/SKILL.md`)
- `wu`: 从上游文档生成 UIDesign.md覆盖所有用户界面设计。 (file: `./.codex/skills/wu/SKILL.md`)
- `wt`: 从上游文档生成 tasks.md创建可直接执行的任务列表。 (file: `./.codex/skills/wt/SKILL.md`)
- `mr`: 增量修改 RequirementsDoc.md根据用户指令在现有内容基础上更新需求文档。 (file: `./.codex/skills/mr/SKILL.md`)
- `mp`: 增量修改 PRD.md根据用户指令在现有内容基础上更新产品需求文档。 (file: `./.codex/skills/mp/SKILL.md`)
- `mf`: 增量修改 FeatureSummary.md根据用户指令在现有内容基础上更新功能摘要。 (file: `./.codex/skills/mf/SKILL.md`)
- `md`: 增量修改 DevelopmentPlan.md根据用户指令在现有内容基础上更新开发计划。 (file: `./.codex/skills/md/SKILL.md`)
- `mu`: 增量修改 UIDesign.md根据用户指令在现有内容基础上更新 UI 设计文档。 (file: `./.codex/skills/mu/SKILL.md`)
- `mt`: 增量修改 tasks.md根据用户指令在现有内容基础上更新任务列表。 (file: `./.codex/skills/mt/SKILL.md`)
- `go`: 终极执行按钮,激进模式一口气完成开发任务,兼容 0->1 和 1->100 场景。 (file: `./.codex/skills/go/SKILL.md`)
- `iter`: 迭代变更入口,调研问题后更新 PRD.md 和 tasks.md支持 Bug 修复、功能迭代、技术重构。 (file: `./.codex/skills/iter/SKILL.md`)
- `doc`: 渐进式文档生成器。首次只写精炼梗概≤300字后续通过迭代不断完善。 (file: `./.codex/skills/doc/SKILL.md`)
- `capture`: 复刻一次成功任务的经验,输出到用户指定目录。调用方式 `/capture <目录>` 或 `$capture <目录>`,生成只含 fenced YAML 的 Markdown 记录。 (file: `./.codex/skills/capture/SKILL.md`)
- `update`: 收集用户反馈并更新最近使用的 skill。别名`up`。 (file: `./.codex/skills/up/SKILL.md`)
- `deploy`: Drone CI + 服务器 CD 全流程引导:从基础设施检查到生成配置文件到验证部署,交互式完成。 (file: `./.codex/skills/deploy/SKILL.md`)
- `gitea`: 统一 Gitea 总入口,支持 issue 查询、issue 拆单创建、git push 和 PR 基础操作,优先从当前仓库 origin 自动识别目标仓库。 (file: `./.codex/skills/gitea/SKILL.md`)
- `issue`: 查看当前仓库或任意 Gitea 仓库的 issue 列表和单条详情,支持自动识别 git origin、用户指定仓库和格式化输出。 (file: `./.codex/skills/issue/SKILL.md`)
- `issue-drive`: 归集证据并把问题拆成 1 到多张 Gitea issue支持从当前仓库 origin 自动识别仓库或用户显式指定。 (file: `./.codex/skills/issue-drive/SKILL.md`)
- `changelog`: 一键发版:生成更新日志 → commit → 打 tag全流程自动化。 (file: `./.codex/skills/changelog/SKILL.md`)
### How to use skills
- Discovery: 以上列表就是当前仓库提供给 Codex 的 skills。
- Trigger rules: 如果用户显式提到 skill 名称(例如 `/rr`、`$rr`、`rr skill`、`用 rr 评审`),或任务明显匹配 skill 描述,优先使用对应 skill。
- Codex usage: 在 Codex 中优先使用 `/skill-name`;兼容历史 `$skill-name` 写法,也支持自然语言触发。
- Missing/blocked: 如果某个 skill 文件不存在或无法读取,简短说明并回退到普通实现方式。
- Context hygiene: 只按需打开 `SKILL.md`,不要一次性加载整个 skill 仓库。
### Repo notes
- `./.claude/skills/` 保留给 Claude Code。
- `./.codex/skills/` 是 Codex 的实际安装源。
- 迁移或新增 skill 时,优先同步更新 `README.md`、`AGENTS.md`、`AGENTS.md.template`。