关于 bloat-detector
bloat-detector 是用于分层检查代码库冗余的技能,适合维护、重构或发布前审查。它覆盖代码、AI 生成内容、文档、依赖和 Git 历史,并要求人工批准后才能执行清理。
主要功能
- 01三级渐进式扫描
- 02检查代码、文档与依赖冗余
- 03分析 Git 历史与增长趋势
- 04按置信度和优先级排序
- 05清理前须经批准
适用场景
- 01定期维护时查找冗余
- 02重构前识别清理目标
- 03发布前检查代码库膨胀
- 04审计插件配置与技能文件
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ athola/ claude-night-market --skill bloat-detector安装后在 Claude Code 中输入/bloat-detector确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
modules/ai-generated-bloat.mdcode-bloat-patterns.mddocumentation-bloat.mdgit-history-analysis.mdgrowth-analysis.mdquick-scan.mdremediation-types.mdstatic-analysis-integration.md详细介绍
臃肿检测器
通过渐进式分析层级,系统地检测并消除代码库中的臃肿。
臃肿类别
| 类别 | 示例 |
|---|---|
| 代码 | 死代码、上帝类、熔岩流、重复代码 |
| AI 生成内容 | Tab 补全臃肿、氛围编程、幻觉依赖 |
| 文档 | 冗余、冗长、过时内容、低质内容 |
| 依赖项 | 未使用的导入、依赖臃肿、幽灵包 |
| Git 历史 | 过时文件、低变更频率代码、超大单次提交 |
快速开始
第 1 层:快速扫描(2-5 分钟,无需工具)
/bloat-scan
检测内容:大型文件、过时代码、陈旧的 TODO、注释掉的代码块、基础重复代码
第 2 层:定向分析(10-20 分钟,可选工具)
/bloat-scan --level 2 --focus code # or docs, deps
新增内容:静态分析(Vulture/Knip)、Git 变更热点、文档相似度
第 3 层:深度审计(30-60 分钟,完整工具链)
/bloat-scan --level 3 --report audit.md
新增内容:跨文件冗余、依赖关系图、可读性指标
适用场景
| 适用 | 不适用 |
|---|---|
| 上下文用量 > 30% | 正在开发功能 |
| 季度维护 | 时效性强的 Bug |
| 发布前清理 | 代码库 < 1000 行 |
| 大规模重构前 | 工具不可用(第 2/3 层) |
不适用场景
- 正在开发功能
- 时效性强的 Bug
- 代码库 < 1000 行
置信度等级
| 等级 | 置信度 | 操作 |
|---|---|---|
| 高 | 90-100% | 可安全移除 |
| 中 | 70-89% | 先检查 |
| 低 | 50-69% | 进一步调查 |
优先级排序
Priority = (Token_Savings × 0.4) + (Maintenance × 0.3) + (Confidence × 0.2) + (Ease × 0.1)
模块架构
第 1 层(始终可用):
- 参见
modules/quick-scan.md- 启发式分析,无需工具 - 参见
modules/git-history-analysis.md- 过时情况、变更频率、氛围编程特征 - 参见
modules/growth-analysis.md- 增长速度、预测、阈值警报
第 2 层(可选工具):
- 参见
modules/code-bloat-patterns.md- 反模式(上帝类、熔岩流) - 参见
modules/ai-generated-bloat.md- AI 特有模式(Tab 臃肿、幻觉) - 参见
modules/documentation-bloat.md- 冗余、可读性、低质内容检测 - 参见
modules/static-analysis-integration.md- Vulture、Knip
共享模块:
- 参见
modules/remediation-types.md- DELETE、REFACTOR、CONSOLIDATE、ARCHIVE
生态系统级检测
通过生态系统范围的审计发现跨插件边界或清单配置的模式。
alwaysApply 累积
标记包含 3 个或更多技能且设置了 alwaysApply: true 的插件。
每个始终加载的技能都会将其全文注入每次会话,
在用户输入任何内容前就形成基础令牌开销。
汇总 estimated_tokens 字段,报告每次会话的总开销。
钩子注册缺失
对比 plugin.json 或 openpackage.yml 中声明的钩子
与 hooks.json 中的条目。若某个钩子存在于 hooks.json
但未列入清单,则插件加载器无法识别它,
也无法通过常规插件管理进行审计、版本控制或禁用。
模板页脚检测
扫描技能文件,查找在 10 个或更多文件中重复出现的相同多行文本块 (例如“找不到命令 / 权限错误 / 意外行为”等通用故障排除部分)。 这些复制粘贴内容会增加令牌开销,却没有提供技能专属价值。
技能中的目录臃肿
加载到模型上下文中的技能无需 HTML 样式的
目录。检测 ## Table of Contents 后是否跟有
项目符号格式的锚点链接列表。这些内容会浪费令牌,因为
模型是按顺序读取内容,而非通过超链接跳转。
未注册的模块子目录
将磁盘上的 skills/*/modules/ 文件与各技能 SKILL.md 前置元数据中的
modules: 列表进行对比。磁盘上存在但未列入清单的文件
无法通过渐进式加载识别,可能是冗余内容,或未纳入加载路径。
自动排除项
始终排除:.venv、__pycache__、.git、node_modules、dist、build、vendor
也遵循:.gitignore、.bloat-ignore
安全性
- 绝不自动删除 - 所有更改都需要批准
- 支持试运行 - 使用
--dry-run预览 - 备份分支 - 批量更改前创建
相关内容
bloat-auditorAgent - 执行扫描unbloat-remediatorAgent - 安全修复context-optimization技能 - MECW 原则/bloat-scan命令 - 面向用户的斜杠命令,用于调用此 技能;不存在单独的bloat-scan技能
退出标准
- 至少完成一个级别的扫描(第 1、2 或 3 级),并按臃肿类别 列出发现的问题(代码、AI 生成内容、文档、依赖项、Git 历史)
- 为每个发现的问题分配置信度(高/中/低),并根据以下公式
计算优先级分数:
`(Token_Savings × 0.4) + (Maintenance × 0.3) + (Confidence × 0.2)
- (Ease × 0.1)`
- 未经用户明确批准,不执行自动删除;每项拟议的移除操作均根据
modules/remediation-types.md记录为 DELETE、REFACTOR、 CONSOLIDATE 或 ARCHIVE - 如果扫描目标包含插件目录,则检查生态系统级模式 (alwaysApply 累积、钩子注册缺失、样板页脚、目录臃肿)