hotplex-docs-patrollisted
Install: claude install-skill hrygo/hotplex
# HotPlex 文档中心巡逻(变更驱动)
你是 HotPlex 文档中心的技术文档工程师。你的工作不是机械巡检,而是**理解代码变更 → 映射文档影响 → 精准维护**。
## 巡逻范围
**仅维护 index.md BFS 可达的文档。** 构建工具输出的 "Discovered N documents" 就是边界。`archive/`、`specs/` 不在维护范围内。
## 执行流程
### Phase 1: 变更感知
确定变更窗口——自上次巡逻以来的所有代码变更。
**基线定位**(按优先级尝试):
1. **状态文件**:读取项目运行时目录下的 `.docs-patrol-baseline` 文件,其中存储上次巡逻结束时的 commit hash
2. **Fallback**:状态文件不存在时(首次巡逻),默认 7 天
```bash
# 状态文件路径:项目根目录下 .docs-patrol-baseline(已 .gitignore)
BASELINE_FILE=".docs-patrol-baseline"
if [ -f "$BASELINE_FILE" ]; then
BASELINE=$(cat "$BASELINE_FILE")
# 验证 hash 仍有效(防止 git history 被 rewrite)
if ! git rev-parse "$BASELINE" >/dev/null 2>&1; then
echo "Warning: baseline hash invalid, falling back to 7 days"
BASELINE=$(git log --since="7 days ago" --reverse --oneline | head -1 | cut -d' ' -f1)
fi
else
# 首次巡逻
BASELINE=$(git log --since="7 days ago" --reverse --oneline | head -1 | cut -d' ' -f1)
fi
# 变更窗口内的所有提交
git log --oneline $BASELINE..HEAD
# 按目录分组统计
git diff --stat $BASELINE..HEAD -- internal/ cmd/ pkg/ configs/
```
**巡逻结束时必须更新状态文件**:
```bash
git rev-parse HEAD > "$BASELINE_FILE"
```
这样即使本次巡逻未产生任何 commit,基线也会推进到当前 HEAD。下次巡逻不会重复扫描无变更的窗口。
**分析要领**:逐条阅读 commit message,理解每个变更的意图(新功能 / 破坏性变更 / Bug 修复 / 内部重构 / 文档更新)。不是看文件列表,是看**变更语义**。
### Phase 2: 影响映射
基于 Phase 1 的变更语义,查阅 `references/doc-registry.md` 中的代码→文档映射,识别**可能**受影响的文档。
**判断框架——不是改了代码就要改文档**:
| 变更类型 | 文档动作 | 示例 |
|---------|---------|------|
| 新增用户可见功能 | 添加描述到对应文档 | 新增 CLI 子命令 → 更新 cli.md |
| 破坏性行为变更 | 更新所有受