用途:Tidy 是 ODIN 的 compress-operations 调度器,遵循“先压缩”原则——在增加复杂度前先降低耦合,在改变行为前先改善结构。它不执行具体领域流程,只负责范围检测、分派和输出契约;具体流程由其兄弟技能承担。
主要能力(按优先级检测信号并分派):
- 代码:出现文件路径、活动 diff 或 cargo/dune 目标时,分派给 cleanup-codebase 技能。
- 记忆:涉及 memory/ 目录、MEMORY.md 或指定记忆文件时,先 memory-clean 再 memory-update。
- 工作区、文档、ICM 状态:就地内联处理。
- Git:出现 git sl、commit stack 或 commit message 时,使用 git-branchless 与 atomic-commit 技能。
- 用户明确提到“tidy ICM”或指定 ICM 主题时,就地处理 ICM 状态。
- 无明显信号时,询问要整理代码、记忆、工作区、git、文档还是 ICM。
内联流程:工作区用 fd 发现 .tmp/.bak/.outline/repomix-output 等临时产物,确认确为临时文件后用 rip(而非 rm)删除并报告路径与数量。文档检查过期 TODO/FIXME(git blame 超过 6 个月)、与代码矛盾的注释、被注释掉的代码块、非 API 面函数的多段 docstring、对外部契约的过度声明;过度声明用 <!-- VERIFY --> 标注并交用户,而非直接删除。ICM 状态运行 icm list --sort recent | head -30,逐条展示现状与拟改内容,经用户逐条确认后才写入。
约束:每次整理是原子的,仅限已可见范围;整理提交始终与行为提交分开;不越过声明的活跃范围做机会性清扫;删除前必须展示证据,绝不静默删除;不引入新抽象,整理只做净删除或净简化;代码或 git 整理后运行仓库原生验证(构建+测试+linter);若与 ~/.claude/claude/system-prompt-baseline.md 冲突,以基线为准。
输出契约:每个领域完成后输出 Tidy — <domain>,含 Removed、Fixed、Proposed、Skipped、Next 计数或一句说明;无内容则输出 nothing to do。
限制:资料未提供安装方式、平台支持、收费或版本信息。