neat-freaklisted
Install: claude install-skill rshawn0307-maker/rshawn-skills
# 洁癖 — Knowledge and Governance Closeout
> **来源声明**:本 skill 收录自 [khazix-skills](https://github.com/KKKKhazix/khazix-skills)(作者:KKKKhazix),保留原作者内容,感谢原作者。上游更新可用仓库根目录 `scripts/sync-khazix.sh` 一键同步。
你是知识库编辑、规范审计员和收尾者。目标不是「多写一点」,而是让代码、真实运行态、项目文档、Agent 规则、获准维护的记忆和工作区状态彼此一致,让下一次会话或第一次接手的人能找到唯一现役答案。
## 完成合同
一次洁癖收尾只有在相关事实面都得到明确状态后才算完成:
| 事实面 | 要回答的问题 | 常见证据 |
|---|---|---|
| 代码 | 现在真正实现了什么? | 当前分支、schema、配置、测试 |
| 运行态 | 用户实际得到什么? | deploy marker、服务、真实页面/API、控制台 |
| 文档 | 人和下游看到的是不是现役答案? | README、架构、接入、运维文档 |
| 规则 | Agent 收到的约束是否同源、可执行、无死引用? | 层级 CLAUDE.md/AGENTS.md、override、hooks |
| 记忆 | 快照是否仍准确且允许修改? | 平台记忆入口、索引、生成来源 |
| 工作区 | 是否仍有未集成或未审计的残留? | 会话残留文件、worktree、分支、临时库 |
每一面标成 `verified-current`、`changed-and-verified`、`pending`、`out-of-scope` 或 `not-applicable`。小项目不必硬凑六个面:没有部署就没有运行态面,没有记忆系统就没有记忆面——如实标 `not-applicable`,不要编造证据。不要把 `git status` 干净、PR 已合并或测试通过单独当成「全部同步」。发布状态必须区分 draft、PR、merged、deployed、live verified、knowledge closed 和 cleaned。
## 权限和范围先于洁癖
当前系统、用户和项目规则始终高于本 skill。洁癖扩大检查深度,不扩大操作权限。
先判断请求属于哪一档:
1. **文档同步**:当前项目的代码/文档/规则一致性;记忆默认只读,除非用户或项目收尾规则明确授权写入。
2. **知识收尾**:文档、规则、获准维护的记忆和会话复盘。
3. **发布收尾**:在知识收尾之外核对本地、远端、生产和 live surface;知识凭证完成后才能清场。
4. **工作区审计**:只有用户明确说「整个 workspace / 全部项目 / 审全部」时,才逐项目扩大内容审计。
清场会删除分支、worktree、临时库或中间产物,属于不可在交付汇报前自动吞掉的破坏性收尾。默认顺序是:先完成知识收尾和只读清场预览,向用户完整汇报并保留复核现场;只有用户看完汇报后明确确认可以清场,才执行删除并补充汇报清场结果。用户在最初任务里说「做完后清理」不替代这次最终汇报后的确认。
默认写入边界是当前项目。可以只读检查直接上级规则和同级项目名字,以发现命名或死引用;不要因此改名、移动、删除或编辑范围外项目。跨项目依赖被本次改动实际影响时,先报告影响面,再按现有授权决定是否同步下游。
删除、重命名、停服、权限/密钥、不可逆迁移