关于 simplify-codebase
simplify-codebase 是用于审查或执行代码库简化的 Agent 技能,面向维护代码库的开发者。它按调查或变更模式工作,并要求追踪消费者、验证删改边界,避免仅以减少行数作为目标。
主要功能
- 01调查与变更模式选择
- 02按范围绘制覆盖图
- 03追踪契约与消费者
- 04记录候选删改的证据
- 05验证变更及交接结果
适用场景
- 01只读审查代码库并排序简化候选
- 02按授权范围合并或移除代码
- 03判断删除接口对现有使用方的影响
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ tt-a1i/ simplify-codebase --skill simplify-codebase安装后在 Claude Code 中输入/simplify-codebase确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.markdownlint.jsonPRODUCT.mdREADME.en.mdLICENSEREADME.md.github/workflows/cleanup-map.ymlagents/openai.yamldocs/validation.mdvisual-report-example.mdreferences/boundaries-and-lifecycle.mddecision-records.mdintegrating-findings.mdexecution-and-recovery.mdinvestigation.mdvisual-reporting.mdvisualization/NOTICE.md.gitignoreLICENSE.archifyREADME.mdvisualization/archify-core/LICENSEUPSTREAM.mdvisualization/archify-core/assets/template.htmlvisualization/archify-core/renderers/architecture/grid.mjsrender-architecture.mjsvisualization/archify-core/renderers/shared/desktop-readability.mjsdiagnostics.mjscli.mjsi18n.mjslayout-report.mjsgeometry.mjs详细介绍
简化代码库
减少代码库必须保持一致的概念和义务数量。减少行数是辅助证据,而非目标。成功的执行也可能得出结论:检查的范围已经合理。
选择模式和范围
首先选择权限模式:
- 调查:用于简化审计、调查或寻找候选项的请求。保持只读,并返回按优先级排序的证据。
- 变更:用于明确要求简化、移除、整合、重构或编辑仓库文档的请求。证明每项删减合理,在授权范围内实施,并验证保留下来的契约。
然后选择覆盖范围:
- 聚焦:当用户指出某个子系统、符号、状态机、依赖项或疑似重复内容时使用。在向外扩展之前,先彻底覆盖该边界。
- 广泛:当请求涉及整个仓库或要求提供多个候选项时使用。划分系统,并逐一核查所有范围内的领域。
删除可访问的功能、受支持的接口、存储表示或兼容路径属于产品决策。说明后果并征求指示,除非用户已经作出选择。
明确契约
- 阅读仓库的说明、架构与决策记录、清单、测试指南和生成文件约定。
- 检查版本控制状态并保留无关改动。在进行分类之前,识别 vendored、生成、迁移、fixture 和公共软件包相关内容。
- 沿运行时路径从入口点追踪到配置、注册、分发、持久化、进程和通信边界。记录公共、动态、持久化、生成和兼容性敏感的契约。
- 在变更模式下,找出仓库实际使用的验证命令,并在可行时采集适当的基线。基线失败会限制最终检查能够证明的内容。
保留授权、信任边界验证、安全隔离、无障碍基本要求、防止数据丢失、存储格式兼容性,以及确保系统达到静止状态的清理操作。将对这些保护措施的改动视为需要明确授权的独立目标,而非顺带进行的简化。
当所有范围内的入口点和权限边界都已列出,每个入口点都已追踪到足以确定其所有者和可观察契约,并且所有未检查或外部无法获知的范围都已记录为盲点时,契约图才算完整。
覆盖相关范围
对于每项广泛调查,以及涉及动态架构或依赖替换的聚焦工作,都要阅读 调查说明。在对发现项排序之前,先构建覆盖图;不能找到第一个看似可行的删除项就结束调查。
对于并发、取消、就绪状态、清理、防御性复制、验证、授权、安全隔离、无障碍、防止数据丢失或跨进程数据,也要阅读 边界与生命周期。
使用仓库原生搜索、编译器和代码检查器的输出、依赖元数据以及历史记录作为发现线索。将这些结果视为线索,直到运行时使用方和契约都经过检查。
构建证明记录
对于每个范围内、已获得消费者映射证据或可能免除重要契约的线索,请记录:
Finding ID: a stable report-local identifier such as S1 or S2
Candidate: the exact contract, representation, or layer to remove or merge
Locus: the ownership boundary, symbols, and exact paths or lines when verified
Topology: confirmed node and relationship IDs, primary locus, related nodes, route, and cut set when useful; otherwise not applicable
Burden: the concepts, synchronization, publication, or testing cost it creates
Reachability: production, non-production, dynamic, external, and persisted consumers
Rationale: why it exists and whether that reason remains current
Cut: declarations, implementations, branches, artifacts, docs, and dependencies affected
Consequence: observable capability or compatibility behavior surrendered
Confidence / risk: evidence strength, uncertainty, blast radius, and reversibility
Proof: the smallest check that would expose an incorrect cut
Net effect: maintenance concepts removed minus replacement or migration machinery added
在本次运行中保持 Finding ID 稳定,确保摘要、证明记录、来源链接和任何可视化配套内容都指向同一个候选项。不要为了填充位置字段而编造行号、所有者、关系或路径。将未知事实标记为未解决。
如果候选项与仍在使用的消费者共享某个工件,请在细于文件粒度的层面证明切分边界。核算仅属于候选项的选择器、成员、字段、键、注册项、生成片段和固定数据,同时不得影响仍在使用的所有者。
如果存在实际消费者、动态可达性仍未解决、当前决策仍负责设计、变更只是转移了复杂性、结果超出范围或未免除任何重要义务,或者现有检查无法区分成功与意外破坏,请保留或降低该候选项的级别。
分别评定置信度和收益。高价值猜测的优先级不应高于已证明的较小切分。
只有在每个符合条件的线索都被归类为已排名、已拒绝或未解决,且每个未解决线索都指出了作出判断所需的事实时,候选项证明才算完成。
决策并执行
在 Survey 模式下,完成已排名证据的报告后即停止。如果重要候选项的拒绝能带来启示或指出具体缺失事实,也应将其纳入报告。
在 Change 模式下,阅读 execution-and-recovery.md,并选择授权范围内最有力的切分。一个所有权边界是默认批次大小,而不是运行限制:对于用户明确请求的一组切分,完成并验证每个边界后,再开始下一个。
如果用户请求简化方案、局部清理注释或设计记录整合,或者所选变更会使 ADR、RFC、设计说明或架构清单失效,请阅读 decision-records.md。不要把普通代码审计变成全仓库文档清理。
如果用户要求合并来自其他分支、拉取请求、任务或 Agent 运行的发现,请阅读 integrating-findings.md。保留证据,而不是发现项数量。
只有在用户明确请求可视化配套内容或确认提议后,才生成该内容。如果确认的关系能让候选项更清晰,请说明地图能阐明什么,并在生成前征求同意。未获确认时,完成不带地图的文本报告;不要为了等待可视化交付而延迟完成审计。对于已获授权的可视化交付,请阅读 visual-reporting.md,并使用随附的清理地图渲染器。地图只是证明记录的可选配套内容,本身并非证据。除非用户要求生成仓库文件,否则不要将 Survey 产物写入目标仓库。
交付结果
对于调查,请报告覆盖范围、按证据强度排序的证明记录、已驳回或尚未解决的高价值线索,以及每项不确定性尚需确认的事实。如果用户要求或确认了视觉配图,请分别报告其状态和清理图中的 Finding 深层链接。
交接内容应便于快速浏览。先给出结果,然后只包含用户需要的证明记录、影响决策的不确定性、视觉链接和验证信息。不要叙述搜索过程,不要在多个标签下重复相同证据,不要附加泛泛的建议,也不要保留空章节。简洁不等于省略必要的证明字段:每个字段只写一次,并以尽可能精简的形式保留其主体、证据强度、后果和边界。
对于变更,请完成 execution-and-recovery.md 中规定的验证和操作回执。Before/Cut/After/Verify 清理图可以说明结构性变更,但不能替代操作回执。分别报告每个验证层级;范围较窄的绿色检查不能证明更广泛的运行时、部署或用户验收情况。