← ClaudeAtlas

slop-cleanerlisted

自动化代码卫生扫描——识别大文件、死代码、测试与实现混合、架构坏味道等结构性问题, 产出结构化清扫报告和终端摘要。偏自动化批量扫描,非深度 code review。 当用户说"扫一下 slop"、"清理代码卫生"、"检查代码质量"、 "找找死代码"、"哪些文件太大了"、"测试混在源码里"、"架构有没有问题"、"代码有没有坏味道"、 "slop scan"、"clean up codebase"、"find dead code"、"large files"时立即触发。 也适用于:"帮我看看有没有技术债"、"代码库健康度怎么样"、"这个模块该不该拆"、 "有没有未使用的代码"等代码卫生评估场景。 只要用户想快速了解代码库的结构性卫生状况,就应使用此 skill。
KonghaYao/peri · ★ 47 · Data & Documents · score 83
Install: claude install-skill KonghaYao/peri
# Slop Cleaner 自动化扫描代码库中的结构性问题——大文件、死代码、测试与实现混合、架构坏味道—— 快速产出可行动的清扫报告。 与 code-review 的定位区别:code-review 偏人工辅助,深度分析具体代码逻辑; slop-cleaner 偏自动化批量扫描,用 Glob/Grep/Bash 快速定位结构性问题,产出可行动的清扫清单。 --- ## 核心原则 1. **速度优先**:用 Glob/Grep/Bash 批量扫描,避免逐文件 Read。只在需要深入分析时才 Read 具体文件。 2. **数据说话**:每个发现都要有具体的文件路径、行号、度量数据(行数、调用次数等),不凭感觉。 3. **可行动**:报告不只是问题清单,还要给出优先级排序和具体的修复建议。 4. **尊重项目规范**:扫描前先读取 CLAUDE.md / 项目文档,按项目已有的约定判断问题,不套用外部模板。 5. **增量感知**:对比历史扫描结果,区分新增问题和已知问题,让清扫有可量化的进展。 --- ## 第一步:项目上下文 + 排除列表(快速) 并行读取,建立最小必要上下文: ``` Read("CLAUDE.md") # 项目规范、约定、已知待办 Glob("src/**/*.rs") 或 Glob("src/**/*.ts") # 主要源文件列表 Bash("git log --oneline -10") # 最近改动方向(可选) Glob("spec/reviews/*.md") # 历史扫描报告(用于对比) ``` 从上下文中提取: - 项目语言和技术栈 - 模块/包的划分方式 - 项目已有的代码规范(如测试分离规则、文件大小上限等) - **已知待办项**:CLAUDE.md 中已记录的问题(如「待迁移文件」表格),扫描时标注为 `已记录`,避免重复报告 - **排除目录**:内置默认排除 + 从 CLAUDE.md 提取的额外排除 **默认排除列表**(所有扫描命令统一过滤): ``` target/ node_modules/ vendor/ .git/ dist/ build/ *.generated.rs *.min.js *.min.css migrations/ __snapshots/ fixtures/ ``` 所有 `find` / `Glob` / `Grep` 命令都必须遵守排除列表。用 `Grep` 时通过 `glob` 参数排除,用 `find` 时通过 `-not -path` 排除。 --- ## 第二步:渐进式扫描 不是所有维度都需要每次全量跑。根据仓库规模和用户意图选择策略: ### 策略 A:快速扫描(默认) 先跑维度 1(大文件)+ 维度 2(死代码),这两个维度最快、结果最确定。 - 如果大文件扫描发现仓库整体很小(最大文件 < 200 行),跳过架构维度 - 如果没有 Rust 项目,跳过测试分离维度(`#[cfg(test)]` 是 Rust 特有的) - 用户指定了维度时,只跑指定维度 ### 策略 B:全量扫描 用户明确要求"全面扫描"或仓库规模较大时,四个维度全部并行执行。 ### 策略 C:定向扫描 用户指定了目录或文件(如"扫一下 src/mcp/"),只对该范围执行扫描。 --- ## 四大维度 ### 维度