repo-refreshlisted
Install: claude install-skill skymanbp/cc-enforcer
# repo-refresh — 全库更新扫描
> 你(主代理)已被本 skill 接管。这是 [`rules/12-repo-wide-sync.md`](rules/12-repo-wide-sync.md)
> **主动半区**的强制执行入口:对整个仓库做一次"陈旧 / 过时 / 冗余 / 错误 / 漂移"
> 五类缺陷的系统式清扫。规则 01(验证)、04(完整阅读)、05(引用)、06(收敛)
> 全程适用:**每条 finding 必须有 `file:line` 证据;每次修复必须走收敛验证**。
## 五类缺陷(扫描目标的定义)
| 类别 | 定义 | 典型证据形态 |
|---|---|---|
| **陈旧 (stale)** | 引用了已不存在的文件 / 符号 / 路径 / 命令;早已完成或废弃却仍挂着的 TODO / FIXME;针对已移除工作流的操作说明 | 引用处 `file:line` + 被引对象不存在的证明(`ls` / Grep 0 命中) |
| **过时 (outdated)** | 在某个历史版本为真、在 HEAD 已为假的数量、版本号、日期、行为描述、结构树 | 文档陈述 `file:line` + 当前权威源的相反证据 |
| **冗余 (redundant)** | 同一事实在多处重复且无单一源标注;死代码 / 无引用的导出;被新文档取代却未删除的旧文档 | 各重复处 `file:line` + 引用图(谁还在用) |
| **错误 (wrong)** | 与当前代码直接矛盾的断言:错误默认值、错误 CLI 标志、错误 `file:line` 引用、错误示例输出 | 断言处 + 权威源两个 `file:line` 对照 |
| **漂移 (drift)** | 本应互为镜像的成对物已分叉:文档 ↔ 代码、英文骨架 ↔ 翻译、配置 ↔ 消费方、注释 ↔ 实现 | 成对两侧 `file:line` + diff 要点 |
## 强制流程(按顺序,不允许跳步)
### Step 1 · 建立仓库清单与权威源
1. 枚举全部待扫文件(`git ls-files` 或等价;排除 lockfile / 生成物 / vendored)。
2. 确定**权威源清单**:版本号以哪个文件为准?行为以哪层代码为准?结构树以磁盘为准。
之后所有"过时/错误"判定都以权威源为基准,不做两两互比(一对可以一起漂——
rule 06 验证 2b)。
3. 向用户报告扫描范围(文件数、目录划分);范围有裁剪必须显式说明裁掉了什么。
### Step 2 · 逐类扫描(五类都要过,不允许只挑好找的)
对每一类:先用 Grep/Glob **定位**候选,再 Read 上下文**确认**(规则 04:
关键词检索只定位、不理解)。最低覆盖动作:
- **陈旧**:提取文档/注释中的路径、命令、符号引用 → 逐个对磁盘/代码核对存在性;
枚举所有 TODO / FIXME / "暂时" → 核对是否已完成或已无意义。
- **过时**:提取所有数量词("N 个测试"、"X 条规则")、版本号、日期、结构树 →
与权威源逐个对照。
- **冗余**:对关键事实做全库 Grep,列出重复陈述点 → 判定哪个是源、其余应删或改为
指向源的交叉引用;对代码做无引用符号检查。
- **错误**:抽查文档中的行为断言(默认值 / 标志 / 示例)→ 用 Read/运行验证;
文档里的 `file:lin