agentleFS
PANYUXIN6PANYUXIN6/pyx-skills/simplify-codebase/SKILL.md

simplify-codebase

Skill8 starsChanged 3 months agoMITView on GitHub

找出并且仅在用户明确授权修改、仓库感知证据支持时,移除多余的生产代码范围,例如死代码或已被替代的代码、重复状态、未使用的 API、推测性抽象、过时兼容路径、依赖、包、测试和文档。用于明确的清理或简化请求,或已观察到的候选项需要超出当前行的结构化使用者追踪时。支持有界的轻量清理,以及子系统或仓库级深入简化。不要仅因正在代码审查、普通 lint 发现、孤立未使用导入、风格重构,或缺少使用者证据的复杂度而触发。

5 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Files
SKILL.md

简化代码库

在不猜测产品意图的前提下,减少需要维护的 API、状态、配置、依赖及配套产物。以保留的行为契约和减少的维护义务判断价值,优先做少量已有证据支持的简化。

保持流程独立

让简化与代码审查保持独立。常规审查可将多余代码作为普通发现报告,不必加载本技能。只有明确要求简化,或观察到的候选项需要更广的使用者追踪时才使用。

不要为每次审查添加简化阶段,也不要把只读流程扩大成清理。没有修改权限,或另一个活跃流程要求目标保持不变时,选择 audit。保留无关的用户修改。

确定仓库契约

判断候选项前:

  1. 阅读适用仓库指令,并在可用时检查当前工作树状态。
  2. 找到与范围有关、由仓库维护的简化、防御模式、兼容性、生成文件、迁移、架构和决策记录。
  3. 检查清单、任务脚本、CI、分析器配置和测试配置,确认真实入口、排除项、生成范围和验证命令。
  4. 依赖已声明的路径、入口、所有者和命令前,确认它们仍存在。用观察到的地图定位证据,不要用它覆盖当前源代码或已确认契约。

语言约定、工具选择、覆盖策略、受保护范围和关卡命令由仓库决定。仓库规则可以要求更强保护,但不能授予修改权限,也不能降低全局高影响后果的等级。没有仓库策略时,保守推断并报告缺失边界。不要只因调用本技能就安装工具或创建策略文件。

选择操作和深度

选择一种操作和一种深度:

维度模式选择条件
操作audit用户要求查找、评估、调查或提出候选项;其他流程是只读;或修改权限不清楚。
操作apply用户明确要求在有界范围内修改或移除。
深度light范围是当前任务、当前变更或具名局部候选项,证明只需直接使用者和配套产物。
深度deep范围是子系统或仓库,或证明跨越包、动态加载、公开契约、持久化、线格式或生命周期归属。

对 light 完整阅读 轻量简化流程,对 deep 完整阅读 深入简化流程。不要为了完整性同时加载两者。

轻量工作若到达授权范围外的深入边界,停在有证据支持的建议。不要把大 diff 等同于深入工作,也不要把深入工作等同于必须暂停。

一次应用安全控制

任何 apply 前,完整阅读 分层安全控制,并将其作为唯一的修改权限依据。深入工作,或仓库分析器和聚合关卡重要时,也完整阅读 分层工具证据。

建立使用者证据

为每个看似相关的引用分类:

  • 生产: 运行时入口、应用代码、加载器、注册表、配置、任务、随产品发布的示例和运行脚本。
  • 非生产: 测试、文档、注释、快照、夹具、生成的预期结果和历史记录。
  • 不明确: 反射、依赖注入、字符串分发、插件、生成代码、示例和条件构建输入。
  • 外部或契约: 已发布 API、扩展点、持久化数据、线格式、迁移、CLI 行为和仓库外的使用者。

搜索符号、导出、文件名、事件名、配置键、包名、线协议字符串和注册路径。阅读调用点,不要只计数匹配。分析器只能发现候选项,绝不能证明不存在动态或外部使用者。

对字段、选项和状态变体,追踪完整效果链:谁产生值、经过哪些转换与转发、哪个实现支持它、最终产生什么可观察结果。到处传递或有测试覆盖,不代表功能实际生效;没有固定调用点,也不代表公开扩展点已无用途。

强候选项没有生产使用者、重复了别处拥有的事实、保留已被替代的路径,或承载没有当前所有者的通用性。只有测试和文档作为唯一使用者且它们不保护剩余行为时,才会增强候选项。孤立导入、格式、普通警告、风格偏好,以及没有使用者证据的复杂度属于正常开发,不属于本流程。

决定并行动

每个候选项只给出一种处理结论:

  • remove:证据支持在当前权限和范围内删除。
  • keep:移除会破坏仍需保留的行为、契约或独立职责。
  • defer:证据或授权不足,或需要先决定产品行为、迁移或重新设计。

存在生产调用方时,区分必须保留的行为与承载它的机制;重复状态或转发层仍可能在保留行为的前提下简化。若候选需要缩小产品能力,写清放弃什么、删掉什么及剩余义务,按 defer 报告,除非该候选及后果已获明确接受并满足分层安全控制。当前防御理由或兼容义务仍有效时保留;不要把测试或历史决定当作永久豁免,但在放弃其理由前需要更强的当前证据。

优先直接移除而非替换。不要为让候选项可移除就引入新架构、依赖、替代实现、临时路径或推测性抽象,从而把简化变成重设计。如果删除需要在已证实过时的闭包之外做选择,defer 或交给正常开发流程。

内部兼容路径已明确弃用,且语义证据显示其生产使用者已迁移时,移除完整闭包;不要仅为假设的兼容性新增或保留垫片、回退或迁移。公开或外部契约、持久化数据、线格式和迁移仍遵循其既有影响和证据规则。

对 apply,只编辑通过分层安全控制准入的候选项。按需跨实现、导入、导出、注册、专属测试、文档、配置、快照、生成清单、包元数据和依赖,移除完整的过时闭包。保留剩余契约所需的测试,遵循仓库的生成和迁移流程,搜索残留名称,运行所选关卡,并检查最终 diff。

报告结果

对 audit,报告模式、范围、带证据的候选项处理结论、排除项、已执行检查和剩余不确定性。对 apply,报告候选项到变更的映射、影响类别、证据层、修改权限、采用的仓库策略、保留的既有工作、验证和恢复路径。

没有强候选项时,如实说明并列出已检查的代表性证据。不要为了证明调用本技能合理而制造清理工作。

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.