← ClaudeAtlas

unused-code-auditlisted

证明某个目录、文件、导出符号、函数、组件、常量、hook、类型或 helper 是否“没有真实消费者”,再决定是否删除。用于死代码清理、未使用代码检测、未使用导出审计、删除安全检查和消费者搜索;只回答消费关系和删除安全性,不判断“仍被使用但是否有必要”,这类问题使用 necessary-code-audit。
danhuaxiansheng/claude-code-cleanup-skills · ★ 2 · AI & Automation · score 75
Install: claude install-skill danhuaxiansheng/claude-code-cleanup-skills
# 未使用代码审计 ## 原则 把每个自动化结果都当作候选,而不是证明。只有在用法、入口、副作用和公共 API 风险都被排除后,才删除。 优先做小而有证据的删除。不要仅因为类型或导出名没有直接 import,就收缩公共 API;生成声明和推断出的消费者类型仍可能依赖它。 本技能回答“还有人在消费它吗?”。它不回答更广义的“它是否仍有必要?”。对于“被使用但不必要”的代码,切换到 `necessary-code-audit`。 不要在发现第一个未使用符号后停止。对于用户指定的目录或功能,必须审计作用域内所有文件、导出、本地 helper 和 re-export 路径后再报告完成。 不要把注释作为未使用代码删除或重写,除非相关代码被删除,或注释已经过期/误导。 本技能属于三个清理技能之一: - 用 `unused-code-audit` 证明代码是否仍有消费者。 - 代码被使用但可能不必要时,用 `necessary-code-audit`。 - 目标涉及页面状态、查询、变更、权限、错误或用户可见行为时,用 `page-flow-cleanup-audit`。 ## 边界 本技能只回答“是否存在真实消费者,以及在零消费者时能否安全删除”。 适合本技能: - 文件、导出、类型、常量、组件、hook、helper 是否无人 import 或引用。 - re-export、barrel export、type-only import、动态字符串 key、框架入口和副作用是否构成真实消费。 - 删除零消费者代码后,清理直接 export、孤立 import/type 和残留路径。 不适合本技能单独完成: - 某个 helper 有调用方但只是薄 wrapper;改用 `necessary-code-audit`。 - 公共 API 仍被 import,但可能只是历史兼容面;改用 `necessary-code-audit` 判断是否迁移调用方并收缩公共面。 - 防御分支、fallback、默认值、可选字段是否有领域意义;改用 `necessary-code-audit`。 - 页面状态、权限、query/mutation、source-of-truth 是否应清理;改用 `page-flow-cleanup-audit`。 协作规则: - 搜索发现候选仍有真实消费者时,停止“未使用”结论;若它看起来仍不必要,移交 `necessary-code-audit`。 - 不要因为“调用方可以改写”就把已使用代码判定为 unused。那是必要性问题,不是 unused 问题。 - 本技能可以删除零消费者代码,但不负责迁移有消费者的调用方,除非迁移只是删除同一文件内新孤立的直接引用。 ## 基线 - 先检查工作区状态:`git status --short --untracked-files=all`。 - 检查目标作用域的 unstaged 和 staged 变更:`git diff --name-status -- <scope>`、`git diff --cached --name-status -- <scope>`。 - 构建目标作用域文件清单,优先用 `rg --files <scope>`。 - 信任自动 unused 结果前,检查 import、export、manifest、框架入口、生成文件和直接消费者。 - 删除前建立影响面图:定义包 exports、同包消费者、下游 package/app import,以及