feat: add ddd doc steward skill

This commit is contained in:
tukuaiai 2025-12-21 03:45:20 +08:00
parent b70e41b461
commit 727b2900ca
8 changed files with 300 additions and 2 deletions

View File

@ -5,7 +5,7 @@
- 多语言 i18n`i18n/<lang>/` 统一三层结构documents / prompts / skills。现有语言中文 `zh`、英文 `en`、希伯来语 `he`,以及 `es`、`hi`、`ar`、`pt`、`ru`、`fr`、`de`、`ja`、`ko`、`it`、`tr`、`nl`、`pl`、`id`、`vi`、`th`、`fa`、`uk`、`bn`、`ta`、`ur`、`ms`、`sw`、`ha`;新增语言遵循同样层级。
- 文档库:`i18n/zh/documents/` 是默认中文方法论入口,含子目录:`方法论与原则/`、`模板与资源/`、`教程与指南/`、`外部资源聚合/`、`胶水编程/`、`从零开始vibecoding/` 等。
- 提示词资产:`i18n/zh/prompts/` 按角色拆分(`system_prompts/`、`assistant_prompts/`、`coding_prompts/`、`user_prompts/`、`meta_prompts/``libs/external/prompts-library/` 提供 Excel ↔ Markdown 互转工具。
- 技能库:`i18n/zh/skills/` 包含模块化技能集,如 `ccxt/`、`postgresql/`、`telegram-dev/`、`claude-code-guide/`、`claude-skills/` 等 16+ 个技能目录。
- 技能库:`i18n/zh/skills/` 包含模块化技能集,如 `ccxt/`、`postgresql/`、`telegram-dev/`、`claude-code-guide/`、`ddd-doc-steward/`、`claude-skills/` 等 17+ 个技能目录。
- 代码与集成:`libs/` 预留核心实现骨架,`common/`(含 `models/`、`utils/`)、`database/`、`external/` 分别对应通用模型、存储适配与外部依赖。
- 外部工具:`libs/external/` 含 `prompts-library/`、`l10n-tool/`、`my-nvim/`、`MCPlayerTransfer/`、`XHS-image-to-PDF-conversion/` 等。
- 备份:`backups/` 内含 `一键备份.sh`、`快速备份.py` 和 `gz/` 存档目录。

View File

@ -0,0 +1,109 @@
name: ddd-doc-steward
description: "文档驱动开发DDD文档管家以仓库真实证据为准盘点 ~/project 与 docs 目录,生成/更新 SSOT 文档(计划→补丁/全文→摘要→一致性检查)。触发:需要让文档与代码/配置/运行方式同步、补齐 guides/integrations/features/architecture/incidents/archive、无法推导时标注【待确认】并给验证路径。"
---
# DDD 文档管家 Skill
`~/project/docs` 成为单一可信来源SSOT先盘点、后计划、再增量写文档所有事实有证据来源没有证据就【待确认】。
## 何时使用
- 需要为真实仓库建立/维护文档 SSOT输出「盘点表 → 计划 → 文档补丁/全文 → 变更摘要 → 一致性检查」的固定交付物。
- 新增/改动功能、集成或事故复盘,需要同步更新 docs 下对应目录。
- 需要在 strict 模式下,避免任何臆测,所有关键事实必须给出代码/配置/命令的路径或说明验证方法。
- 只能获取部分信息时,仍需生成最小可落地模板并标注【待确认】。
## 不适用 / 边界
- 与工程无关的纯创作文案。
- 无法提供最小证据集目录树、README/依赖/配置/路由位置)且不接受【待确认】输出时。
- 涉及密钥明文输出;文档中仅可写占位符与获取方式。
- 未提供 `project_root/docs_root/output_mode` 等输入时,先将自然语言归一到输入 JSON参见快速参考
## 快速参考
1) 归一化输入(缺省值)
```json
{
"project_root": "~/project",
"docs_root": "~/project/docs",
"output_mode": "patch_diff",
"truthfulness_mode": "strict",
"change_type": "baseline",
"scope_hint": null,
"related_paths": [],
"prefer_priority": ["guides","integrations","features","architecture","incidents","archive"],
"enforce_docs_index": true,
"use_git_diff": true,
"max_doc_size_kb": 200,
"style": "standard"
}
```
2) Phase A 扫描要点(证据链)
- `tree -L 3` 或目录枚举;`rg` 聚焦 README、依赖、配置、路由/API 定义。
- 记录证据路径清单(文件/命令),不写结论。
3) Phase B 先输出计划
- 《文档盘点表》:按六大目录标记「存在/缺失/疑似过期」,附证据路径。
- 《生成/更新计划》:新增/更新/待确认清单;理由=证据。
4) Phase C 生成文档(遵循 output_mode
- `patch_diff` 推荐;无写权限时用 `full_files`
- 每个文档必含 Purpose/Scope/Status/Evidence/Related/Changelog。
- 命名规范ADR `architecture/adr-YYYYMMDD-<kebab>.md`PRD/Spec/Integration/Guide/Incident/Archive 详见 `references/api.md`
5) Phase D 收尾
- 变更摘要:每文件 3-8 条关键变化。
- 一致性检查:文档-代码验证点 + 未解的【待确认】与下一步。
6) 关键规则
- 真实性优先:无证据不写,写则附路径;敏感值用占位符。
- 没有就创建,有就增量更新,禁止大面积重写无关内容。
- 超过 `max_doc_size_kb` 拆分;缺少访问时生成模板并给证据采集命令。
## 规则 & 约束
- MUST输出五段结构严格遵守目录/命名规范Changelog 每文必有;冲突以代码/配置为准。
- SHOULD优先用 git diff/related_paths 聚焦guides 与 integrations 先行;为每个【待确认】提供验证路径。
- NEVER编造端口/环境变量/接口字段;输出密钥明文;跳过盘点直接写文档。
## 示例
### 示例 1空仓库初始化
- 输入:`change_type=baseline`docs 为空。
- 步骤A 扫描→B 盘点表标记全部缺失→计划新增 docs/README.md、guides/getting-started.md 等→C 生成骨架补丁→D 摘要与检查。
- 验收:输出 patch diff所有命令标【待确认】或给寻找路径。
### 示例 2新增登录功能
- 输入:`change_type=feature``scope_hint="auth 登录"``use_git_diff=true`。
- 步骤:用 diff 找受影响路由;盘点 features/integrations计划新增 PRD/Spec更新 integrations/auth-api标记 token 过期时间待确认。
- 验收:变更摘要指出新增文档与更新字段;检查清单含鉴权/错误码/验证 curl。
### 示例 3无法读取仓库
- 输入:仅自然语言“帮我做 SSOT 文档”。
- 步骤:先归一化 JSON声明“无法真实扫描”→生成六类文档模板全量标【待确认】并列证据缺口与采集命令。
- 验收:输出 full_files每条待确认可直接行动补证。
## FAQ
- Q: 没有写权限怎么办?
A: 将 `output_mode` 设为 `patch_diff``full_files`,给出可落盘内容。
- Q: 目录过大处理不过来?
A: 按 prefer_priority 分批;声明本次范围与剩余批次计划。
## 维护
- 来源:`i18n/zh/prompts/02-编程提示词/文档驱动开发/DDD 文档管家 Agent 工业级提示词.md`;元技能 `00-元技能/claude-skills/`;自动化辅助工具 `libs/external/Skill_Seekers-development`.
- 最后更新2025-12-20
- 已知限制:依赖用户提供真实证据;大体量仓库需分批;不输出敏感值。
## 质量门禁(出厂前自检)
1. `name/description` 符合触发条件、目录名一致。
2. 五段交付结构齐全;每段内容可直接给人/脚本消费。
3. 每个文档含 Purpose/Scope/Status/Evidence/Related/Changelog。
4. 所有事实有证据路径;无证据标【待确认】且给验证路径。
5. Quick Reference ≤20 条且可直接执行;示例 ≥3。
6. 长文本放 `references/``references/index.md` 可导航。
7. 安全:不输出密钥明文,敏感值使用占位符。

View File

@ -0,0 +1,62 @@
# 输入 / 输出 / 目录命名规范
## 输入字段
- **required**
- `project_root` (默认 `~/project`)
- `docs_root` (默认 `~/project/docs`)
- `output_mode` ∈ {`direct_write`,`patch_diff`,`full_files`},默认 `patch_diff`
- `truthfulness_mode`,默认 `strict`
- **optional**
- `scope_hint`:聚焦模块/目录提示
- `change_type` ∈ {`baseline`,`feature`,`bugfix`,`refactor`,`release`}
- `related_paths`:受影响路径列表
- `prefer_priority`:文档优先级顺序
- `enforce_docs_index`:是否强制维护 docs/README.md
- `use_git_diff`true 时优先以 git diff 定位
- `max_doc_size_kb`:单文档体积上限(默认 200KB
- `style` ∈ {`concise`,`standard`,`verbose`}
## 输出固定顺序
1) 文档盘点表
2) 生成/更新计划
3) 逐文件创建/更新内容(遵循 output_mode
4) 变更摘要
5) 一致性检查清单
## 目录与命名
```
docs/
├── architecture/
├── features/
├── integrations/
├── guides/
├── incidents/
└── archive/
```
- ADR`docs/architecture/adr-YYYYMMDD-<kebab>.md`
- PRD`docs/features/prd-<kebab>.md`
- Spec`docs/features/spec-<kebab>.md`
- Integration`docs/integrations/<kebab-service>.md`
- Guide`docs/guides/<kebab-topic>.md`
- Incident`docs/incidents/incident-YYYYMMDD-<kebab>.md`
- Archive`docs/archive/YYYY/<orig-or-topic>.md`(原处留指向)
## 每个文档必备结构
- Purpose目的
- Scope适用范围
- StatusActive/Draft/Deprecated
- Evidence代码/配置/命令路径)
- Related交叉链接或路径
- Changelog含最后更新时间 + 变更摘要)
## 质量门禁速查
- 五段交付结构齐全,顺序正确。
- 所有关键事实附证据路径;缺失用【待确认】+验证指引。
- guides / integrations 优先生成,且 integrations 含可验证步骤curl/脚本)。
- 超限文档拆分;无权限时使用 patch/full_files 仍可落地。

View File

@ -0,0 +1,51 @@
# 场景示例(可直接套用)
## 示例 1空仓库快速落地
- 输入:
```json
{
"project_root": "~/project",
"docs_root": "~/project/docs",
"output_mode": "patch_diff",
"change_type": "baseline",
"scope_hint": "docs 为空",
"use_git_diff": false
}
```
- 操作:
1. A`tree -L 2 docs` 为空 → 记录证据。
2. B盘点表全部标记“缺失”计划新增 docs/README.md、guides/getting-started.md、development-workflow.md、integrations/<待确认>.md。
3. C输出补丁命令/端口/变量均标【待确认】,并说明从 `.env` / `docker-compose` / 配置目录查证。
4. D摘要列出新增文件检查清单提示需补全端口/env/API 证据。
- 预期:可直接应用的 diff无臆测字段每文含 Changelog。
## 示例 2功能迭代—登录与刷新
- 输入:
```json
{
"project_root": "~/project",
"docs_root": "~/project/docs",
"output_mode": "patch_diff",
"truthfulness_mode": "strict",
"change_type": "feature",
"scope_hint": "auth 登录 & token 刷新",
"related_paths": ["services/api/auth", "services/api/routes"],
"use_git_diff": true
}
```
- 操作:
1. A`git diff --name-only` 聚焦 auth 路由/控制器;提取请求/响应字段与错误码。
2. B盘点表标识 features/prd-auth-login.md、spec-auth-login.md 缺失integrations/auth-api.md 疑似过期(字段不一致)。
3. C新增 PRD/Spec更新 integrations 文档含鉴权方式、错误码、验证 curltoken TTL 等未证实字段标【待确认】并指向配置文件。
4. D摘要列出新增/更新;检查清单包含“对照 auth/config 复核 TTL、错误码”。
- 预期diff 覆盖 3 个文件;所有事实有路径;待确认项附验证方法。
## 示例 3无法读取仓库的降级
- 输入:自然语言 “帮我生成 SSOT 文档模板”。
- 操作:
1. 归一化 JSON声明“无法真实扫描进入 strict 模板模式”。
2. 盘点表说明证据缺口(目录树/README/依赖/配置/API 位置缺失)。
3. 计划仅生成模板;待确认清单列出需用户补充的命令与文件。
4. 输出 full_files六大目录的骨架文档字段均标【待确认】+ 如何获取。
5. 检查清单提示下一步需用户提供证据。
- 预期:完整可落盘模板,不含任何凭空事实。

View File

@ -0,0 +1,31 @@
# 快速开始 & 术语表
## 使命
`~/project/docs` 成为单一可信来源SSOT先盘点、先计划、增量更新所有事实可追溯。
## 最短落地路径
1. **收集最小证据集**`tree -L 3`、README、依赖清单、主要配置.env*/yaml/toml/docker/k8s、路由/API 定义位置、最近 git diff。
2. **归一化输入**:把用户自然语言转成 JSON`SKILL.md` 快速参考),缺省 `output_mode=patch_diff`、`truthfulness_mode=strict`。
3. **执行 A→D 流程**A 扫描→B 盘点与计划→C 生成文档(按 output_mode→D 变更摘要与一致性检查。
4. **落盘或回传**:有写权用 direct_write否则输出 patch/full_files 供用户应用。
## 核心术语
- **SSOT**Single Source of Truthdocs 与代码/配置/运行方式一致。
- **output_mode**`direct_write`(直接写)、`patch_diff`(推荐)、`full_files`(无法写入时)。
- **truthfulness_mode=strict**:无证据不写;写则附路径或命令;敏感值用占位符。
- **prefer_priority**:默认 `guides > integrations > features > architecture > incidents > archive`
- **enforce_docs_index**true 时必须维护 `docs/README.md` 导航。
- **Evidence**:文件路径、命令输出、日志位置;每个关键事实都需来源。
- **【待确认】**:无法推导的字段,需附验证路径(文件/命令/负责人)。
- **max_doc_size_kb**:单文档建议体积,超限应拆分。
## 自动化采集(可选)
- 需要批量抓取外部文档/代码仓库时,可用 `libs/external/Skill_Seekers-development` 的 CLI`skill-seekers scrape --config <config.json>`)生成参考素材,再按本技能流程落盘。
## 交付物检查
- 五段结构齐全;每文含 Purpose/Scope/Status/Evidence/Related/Changelog所有事实有证据或【待确认】。

View File

@ -0,0 +1,17 @@
# ddd-doc-steward 参考索引
长文与细节集中在这里,`SKILL.md` 保持轻量。
## 快速导航
- 入门与术语:`getting_started.md`
- 输入/输出规范 & 目录命名:`api.md`
- 场景示例(可直接套用):`examples.md`
- 降级与故障处理:`troubleshooting.md`
- 质量门禁与评分要点:`api.md#质量门禁`
## 使用提示
- 优先阅读 `getting_started.md` 获取流程全貌,再按需跳转。
- 大于 10KB 的真实项目素材请分批引用,避免上下文爆炸。
- 所有证据链(文件/命令)务必写在文档正文而非这里。

View File

@ -0,0 +1,26 @@
# 故障与降级处理
## 无法访问仓库或文件
- 症状:无法读取目录/文件;无 tree/README/依赖信息。
- 诊断:权限不足或未提供素材。
- 处理:声明 strict 降级仅输出模板骨架所有事实标【待确认】列出证据采集命令tree/README/依赖/配置/API
## 文档与代码冲突
- 症状:文档端口/字段/错误码与实现不一致。
- 诊断:历史文档未同步。
- 处理:以代码/配置为准更新;在 Changelog 记录冲突与修复原因;若行为变更建议补 ADR无法确定时标【待确认】并给验证命令。
## 仓库过大或范围不清
- 症状:输出超长或扫描耗时。
- 诊断:目录/模块过多,未限定范围。
- 处理:按 `prefer_priority` 分批;声明本次覆盖范围;优先 guides/integrations余量列入后续批次计划。
## 敏感信息暴露风险
- 症状:配置包含 token/password/key。
- 诊断:直接读取 .env / 配置文件。
- 处理:文档仅写变量名与获取方式,值用占位符;提示使用 vault/secret manager必要时创建安全整改/incident 记录。
## 自动化采集失败
- 症状:使用 `skill-seekers` 抓取外部文档/仓库失败。
- 诊断:配置不当或站点屏蔽。
- 处理:检查 config/URL改用本地 `git clone` + 手工 `rg`;必要时缩小范围或增加重试间隔。

View File

@ -1,6 +1,6 @@
# 🎯 AI Skills 技能库
`i18n/zh/skills/` 目录存放 AI 技能Skills这些是比提示词更高级的能力封装可以让 AI 在特定领域表现出专家级水平。当前包含 **16 个**专业技能。
`i18n/zh/skills/` 目录存放 AI 技能Skills这些是比提示词更高级的能力封装可以让 AI 在特定领域表现出专家级水平。当前包含 **17 个**专业技能。
## 目录结构
@ -28,6 +28,7 @@ i18n/zh/skills/
│ └── polymarket/ # 预测市场 API
└── 04-开发工具/ # 通用开发工具
├── ddd-doc-steward/ # 文档驱动开发文档管家
├── telegram-dev/ # Telegram Bot 开发
├── twscrape/ # Twitter/X 数据抓取
├── snapdom/ # DOM 快照工具
@ -71,6 +72,7 @@ i18n/zh/skills/
| 技能 | 说明 |
|:---|:---|
| [ddd-doc-steward](./04-开发工具/ddd-doc-steward/SKILL.md) | 文档驱动开发DDD文档管家按证据链生成/更新 docs SSOT |
| [telegram-dev](./04-开发工具/telegram-dev/SKILL.md) | Telegram Bot 开发 |
| [twscrape](./04-开发工具/twscrape/SKILL.md) | Twitter/X 数据抓取 |
| [snapdom](./04-开发工具/snapdom/SKILL.md) | DOM 快照与测试 |