Files
X-Financial/hermes/skills/domain/write-development-docs/SKILL.md
2026-06-25 09:25:28 +08:00

137 lines
4.9 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.
---
name: write-development-docs
description: Use when working in X-Financial and the user asks to 落文档, 写开发文档, 沉淀方案, 补 concept/todo, or create/update planning documentation under document/development for a feature, refactor, page, algorithm, rule, or business capability.
---
# Write Development Docs
## 目标
把一个功能、重构、算法、页面或业务能力沉淀为项目标准开发文档。
默认落点固定为:
```text
document/development/<YYYY-MM-DD>/feature/<具体功能点目录>/
├── CONCEPT.md
└── TODO.md
```
如果用户说 `concept.md` / `todo.md`,也按仓库现有规范使用大写文件名
`CONCEPT.md``TODO.md`
## 工作流
1. 先读取当前日期,默认使用本地日期 `YYYY-MM-DD` 作为第一层目录。
2. 先阅读 `document/development` 中 2-3 组相邻或同类样例。
3. 再读取本次能力相关的代码、接口、页面、测试或历史文档,不凭空写实现细节。
4. 创建或更新 `CONCEPT.md`,先写清能力边界,再写方案和验收。
5. 创建或更新 `TODO.md`,每个任务必须能回链到 `CONCEPT.md` 的章节。
6. 如果已有实现TODO 可以勾选 `[x]`,但必须写证据;没有验证的任务保持 `[ ]`
7. 完成后检查两份文档是否互相一致,避免 TODO 承诺了 CONCEPT 没定义的能力。
## 路径规则
- 第一层必须是日期目录,例如 `document/development/2026-06-25/`
- 第二层固定是 `feature/`,表示当天沉淀的功能点集合。
- 第三层是具体功能点目录,每个独立功能点一个目录。
- 每个具体功能点目录内只放 `CONCEPT.md``TODO.md` 两个核心文件。
- 如果一次请求包含多个互不依赖的功能点,拆成多个兄弟目录:
```text
document/development/2026-06-25/feature/
├── receipt-folder-ocr/
│ ├── CONCEPT.md
│ └── TODO.md
└── risk-review-nudge/
├── CONCEPT.md
└── TODO.md
```
- 如果用户明确指定日期,使用用户指定日期;否则使用当前本地日期。
- 如果是更新历史文档,先查找已有目录并原地更新,不自动迁移旧路径。
## 命名规则
- 优先复用用户指定目录名或已有目录名。
- 新增英文目录用小写 kebab-case例如 `receipt-folder``agent-trace-center`
- 新增中文目录可直接用清晰中文能力名,例如“费用审批动态路由”。
- 能力名在正文中使用清晰中文例如“票据夹功能”“Agent 链路追踪中心”。
- 两个文件名固定为 `CONCEPT.md``TODO.md`
- 不额外创建 README、CHANGELOG、SUMMARY 等文件,除非用户明确要求。
## CONCEPT.md 格式
参考 `assets/CONCEPT.md` 模板。
必须包含:
- 标题:`# <功能名> 概念文档`
- `更新时间YYYY-MM-DD`
- `## 功能一句话`
- `## 背景与问题`
- `## 目标与非目标`
- `## 用户与场景`
- `## 功能能力`
- `## 方案设计`
- `## 算法与公式`
- `## 测试方案`
- `## 指标与验收`
- `## 风险与开放问题`
如任务已经实现或正在收口,可追加:
- `## 本轮实现记录`
写法要求:
- 先讲业务问题和边界,再讲技术方案。
- 目标与非目标必须分开写,避免需求无限扩张。
- 方案设计按前端、后端、算法/规则、数据、权限、降级策略分块;没有的块可以写“当前不涉及”。
- 算法与公式必须明确“不涉及”或写出公式、变量说明和适用边界。
- 验收标准要可验证,不写空泛口号。
## TODO.md 格式
参考 `assets/TODO.md` 模板。
必须包含:
- 标题:`# <功能名> 开发 TODO`
- `更新时间YYYY-MM-DD`
- `## 使用规则`
- 分阶段 checklist。
TODO 条目规则:
- 每条用 `- [ ]``- [x]`
- 每条必须包含 `[CONCEPT: <章节名>]`
- 已完成项必须补证据,格式为 `证据:<文件、接口、命令或验证结果>`
- 没有真实证据时不得勾选 `[x]`
- 阶段建议使用:
- `## 1. 调研与边界`
- `## 2. 契约与设计`
- `## 3. 后端实现`
- `## 4. 算法/规则实现`
- `## 5. 前端实现`
- `## 6. 测试与验证`
- `## 7. 文档收尾`
## 更新既有文档
更新已有 `CONCEPT.md` / `TODO.md` 时:
- 先读两份文件的全文。
- 新需求先补 `CONCEPT.md`,再补 `TODO.md`
- 如果实现发生变化,同步更新“非目标”“风险与开放问题”“本轮实现记录”。
- 不删除历史证据;除非证据已经明显错误,才替换为新证据。
## 验收检查
交付前检查:
- 新建文档路径符合 `document/development/<YYYY-MM-DD>/feature/<具体功能点目录>/`
- `CONCEPT.md``TODO.md` 都存在。
- TODO 的 `[CONCEPT: ...]` 都能在 `CONCEPT.md` 找到对应章节或语义段落。
- 已勾选项都有证据。
- 文档没有遗留模板占位符,例如 `<功能名>``TODO``待补充`