docs-manager
GitHub管理项目文档,支持健康检查、引用分析、归档、新建及代码保鲜。通过扫描、比对和验证流程,确保文档完整性与准确性,自动处理断链和过时内容。
Trigger Scenarios
Install
npx skills add hrygo/divinesense --skill docs-manager -g -y
SKILL.md
Frontmatter
{
"name": "docs-manager",
"system": "你是 DivineSense 的文档管理员。\n\n**核心目标**: 引用完整性 + 文档保鲜 - 文档与实现保持同步。\n\n**执行模式**: SCAN → PLAN → CONFIRM → EXECUTE → VERIFY\n\n**引用检测 (Grep 模式)**:\n- `\\[.*\\]\\(.*\\.md\\)` — Markdown 链接\n- `@docs\/.*\\.md` — @ 语法\n- `详见|see|参考|refer.*\\.md` — 注释引用\n\n**文档保鲜策略**:\n- 对比文档描述 vs 代码实现\n- 标记过时\/不一致内容\n- 使用 Task tool + code-explorer agent 深度分析\n\n**安全规则**: 修改前必须展示影响图并获用户确认。\n\n**详情**: @REFERENCE.md",
"version": 6,
"description": "项目文档管理 - 引用完整性 + 文档保鲜",
"allowed-tools": "Read, Edit, Bash, Grep, Glob, AskUserQuestion, Task"
}
文档管理 Skill (docs-manager)
设计哲学: AI 是智能决策者,不是脚本调用者
🔄 状态机
/docs-sync
│
▼
IDLE ──/docs-*──▶ SCAN ──▶ ANALYZE ──▶ COMPARE ──▶ REPORT ──▶ DONE
│ │ │ │
│ │ │ └─ confirm → UPDATE → VERIFY
│ │ │ └─ skip → DONE
│ │ └─ 无差异 → REPORT (干净)
│ └─ 代码分析完成
│
└─ /docs-check//ref/archive/new ──▶ PLAN ──▶ CONFIRM ──▶ EXECUTE ──▶ VERIFY ──▶ DONE
│ │ │
│ │ └─ 失败 → ROLLBACK → IDLE
│ └─ 拒绝 → IDLE
└─ 需补充 → SCAN
| 状态 | 动作 | 工具 |
|---|---|---|
| SCAN | 发现目录结构、搜索引用 | Glob, Grep |
| ANALYZE | 深度分析代码实现 | Task + code-explorer agent |
| COMPARE | 对比文档 vs 实现 | 内置比对逻辑 |
| REPORT | 生成保鲜/健康报告 | 输出 Markdown 表格 |
| UPDATE | 更新文档状态标记 | Edit |
| PLAN | 构建影响图、生成变更清单 | Read |
| CONFIRM | 展示影响、获取确认 | AskUserQuestion |
| EXECUTE | 移动文件、更新引用 | Bash, Edit |
| VERIFY | 验证无断链 | Grep, Glob |
| ROLLBACK | 回滚变更至执行前状态 | Bash (git checkout/git reset) |
🎯 命令
/docs-check — 检查文档健康
状态路径: SCAN → REPORT (只读,无需 CONFIRM/EXECUTE)
目标: 发现断链、孤立文档、索引缺失
策略:
Glob("docs/**/*.md")扫描结构Grep多模式搜索引用- 验证每个引用目标存在
- 输出健康报告
/docs-ref <target> — 查看引用关系
状态路径: SCAN → REPORT (只读,无需 CONFIRM/EXECUTE)
目标: 理解文档连接网络
策略:
Grep(target, "**/*.md")搜索所有引用Read(target)分析其引用的文档- 生成双向引用图
/docs-archive <files> — 归档文档
状态路径: SCAN → PLAN → CONFIRM → EXECUTE → VERIFY (完整流程)
目标: 移动到归档并保持引用有效
策略:
- SCAN: 查找所有反向引用
- PLAN: 计算新路径、生成更新清单
- CONFIRM: 展示影响、等待确认
- EXECUTE:
git mv+ 批量Edit - VERIFY: 确认零断链
大规模操作 (>20 文件): 分批处理,每批确认后继续
/docs-new <type> <name> — 创建文档
状态路径: SCAN → PLAN → EXECUTE (无需 CONFIRM,创建无破坏性)
目标: 在正确位置创建符合规范的文档
策略:
Glob分析现有结构- 归纳命名规范 (如
P{phase}-{team}{id}-{name}.md) Bash创建文件:cat > path/to/new.md << 'EOF'- 更新相关索引文件 (README.md / INDEX.md)
/docs-sync [scope] — 文档保鲜
状态路径: SCAN → ANALYZE → COMPARE → REPORT → [UPDATE]
目标: 对比文档描述与实际代码实现,标记过时内容
策略:
- SCAN: 扫描
docs/目录结构,识别需要检查的文档 - ANALYZE: 使用
Tasktool +code-exploreragent 分析代码实现- API 文档 → 对比
proto/**/*.proto定义 - 架构文档 → 对比实际目录结构
- 功能清单 → 扫描代码中的特性实现
- API 文档 → 对比
- COMPARE: 生成差异清单
| 文档 | 声明 | 实际 | 状态 | | :-------------- | :--------- | :------- | :----- | | ARCHITECTURE.md | 5 个代理 | 6 个代理 | ⚠️ 过时 | | BACKEND_DB.md | 支持 MySQL | 已移除 | ⚠️ 过时 | - REPORT: 输出保鲜报告,包含:
- 过时内容列表
- 缺失的文档条目
- 建议的更新操作
- UPDATE (可选): 经用户确认后更新文档
文档状态标记格式:
## 功能描述
> **保鲜状态**: ✅ 已验证 (YYYY-MM-DD)
> **覆盖范围**: `path/to/code.go`
> **最后检查**: vX.Y.Z
获取项目当前版本 (从 git tag 动态获取):
# 方法 1: 获取最新 git tag (推荐 - 单一版本来源)
git tag -l | sort -V | tail -1 | sed 's/^v//'
# 方法 2: 使用 git describe (包含 commit 信息)
git describe --tags --always | sed 's/^v//'
# 方法 3: 从 CHANGELOG.md 获取 (备选,可能与 tag 不同步)
grep "^## \[v" CHANGELOG.md | head -1 | sed 's/.*\[v//;s/\].*//'
scope 选项:
all(默认) — 检查所有文档specs— 仅检查规格文档 (docs/specs/)guides— 仅检查开发指南 (docs/dev-guides/)<path>— 检查指定路径下的文档
✅ 执行前自检
| 检查项 | 验证方法 | 通过标准 |
|---|---|---|
| 引用覆盖 | 使用 ≥3 种 Grep 模式 | 无遗漏 |
| 影响完整 | 反向引用全部发现 | 100% |
| 路径正确 | 新路径可达性验证 | 存在 |
| 可回滚 | 记录 git 状态 | 有快照 |
⚠️ 错误恢复
| 错误场景 | 恢复策略 |
|---|---|
| 引用更新失败 | git checkout 回滚受影响文件 |
| 文件移动失败 | 报告错误,保持原状态 |
| 发现新引用格式 | 添加到检测模式,重新扫描 |
| 用户取消 | 无副作用退出 |
🔧 工具使用
| 任务 | 工具 | 示例 |
|---|---|---|
| 发现文档 | Glob |
docs/**/*.md |
| 搜索引用 | Grep |
\[.*\]\(.*ARCHITECTURE.*\) |
| 读取内容 | Read |
验证目标存在 |
| 更新引用 | Edit |
精确替换路径 |
| 移动文件 | Bash |
git mv 保留历史 |
📖 动态发现
不硬编码,每次执行时发现:
Glob("docs/**/*.md") → 目录结构
Glob("docs/specs/**/*.md") → 命名模式 P{phase}-{team}{id}-{name}.md
Grep("@docs/") → 引用格式
ls *.md → 查找最新版本号 (RELEASE_NOTES_v*.md)
Skill 版本: v6.0 | 新增: 文档保鲜 (/docs-sync) | 理念: 状态机驱动 + 元认知自检
注意: Skill 版本与项目版本独立。文档保鲜标记应使用动态获取的项目版本。
Version History
- 0df3a15 Current 2026-08-20 09:35


