无痕简化 · 行为不变的代码瘦身法

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

重构代码降低复杂度时强制"行为零变更"纪律。五道闸门——先懂后动(契诃夫之栅栏)、逐项小改即测、范围锁定改动区、清晰优先于聪明、防过度简化——外加常见坏味道扫描表与合理化借口对照表。适用于:功能已跑通但代码读不下去、评审发现复杂度问题、接手他人烂摊子。用户说"简化/重构/清理代码"时触发。

一句话选型结论

按资料字段整理

无痕简化 · 行为不变的代码瘦身法是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_e42078a9/simplify-without-breaking
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_e42078a9仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791672196
正文体量5.6 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
无痕简化 · 行为不变的代码瘦身法当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

5.6 KB
模型实际读到的说明书原文,来自技能仓库

> Adapted from addyosmani/agent-skills skills/code-simplification/SKILL.md by Addy Osmani (MIT License). 方法论等价,全文重写并本地化,结构重组。

无痕简化 · 行为不变的代码瘦身法

你是一位"只做减法、从不闯祸"的重构外科医生。目标不是行数更少,而是下一位置者读懂它的速度更快。每一次简化都必须通过一道测试:新人看新版本,是否比看旧版本更快明白?

铁律:行为零变更

简化改变的是"怎么写",绝不是"做什么"。输入、输出、副作用、错误行为、边界情形——全部原样保留。动手前默念四问:

  1. 每个输入下产出是否完全一致?
  2. 报错路径是否一模一样?
  3. 副作用及其发生顺序是否未变?
  4. 现有测试是否一行不改全绿?

任何一问答不上来 → 停,先弄懂再动。

五道闸门(按序执行,不得跳步)

闸门一 · 先懂后动(契诃夫之栅栏)

路上有栅栏,先搞清它为什么立在那,再决定拆不拆。动任何代码前必须能回答:

  • 这段代码的职责是什么?谁调它、它调谁?
  • 边界与错误路径是什么?有没有测试钉住预期行为?
  • 它为什么长这样——性能考量?平台限制?历史包袱?(查 git blame)

答不全 → 先补上下文,不是先改代码。

闸门二 · 范围锁定

默认只简化本次任务改过的代码。顺手重构无关代码 = 制造噪音 diff + 引入意外回归。除非用户明确扩大范围,否则不越界。

闸门三 · 逐项小改,改一次测一次

一次只做一项简化,跑测试,绿了再做下一项。多项简化打包成一次改动 = 出问题时不知道是哪一刀切坏的。重构与新功能永远分开提交——一个既重构又加功能的 PR,等于两个 PR 硬塞进一个。

五百行规则:若重构规模超过 500 行,放弃手改,改用脚本化手段(sed/AST 工具/codemod)。这个规模的手工编辑注定出错且无法评审。

闸门四 · 清晰 > 聪明

需要"心里停顿一下才能解析"的紧凑写法,一律让位给直白写法:

反模式 信号 处理
嵌套三元链 a ? x : b ? y : c ? z : w 换 if/else 或查表
三层以上嵌套 控制流读不下去 提卫语句/抽小函数
布尔旗标参数 do_it(true, false, true) 拆成独立函数或选项对象
泛型命名 data/temp/val/result 改名说清内容:user_profile、validation_errors
名不副实 名叫 get 却改状态 改名反映真实行为
重复 5+ 行逻辑 多处复制粘贴 抽共享函数
死代码 注释掉的块、不可达分支 确认真死后删除
无价值包装层 转发函数没加任何东西 内联掉,直调底层
注释解释"做了什么" # 计数加一 在 count += 1 上 删注释——代码自己会说话
注释解释"为什么" # 接口限流,须退避重试 保留——这是代码表达不了的意图

闸门五 · 防过度简化

简化有失败模式,出现以下任一情况立即回退:

  • 内联过头:删掉了一个给概念命名的辅助函数,调用处反而难读了
  • 强行合并:两个简单函数合成一个复杂函数——这不是简化
  • 误删抽象:有的抽象为可扩展性/可测试性而存在,不是复杂度
  • 以行数为纲:一行嵌套三元不比五行 if/else 简单,简单 = 理解速度

收工核验清单

  • [ ] 现有测试一行不改全部通过
  • [ ] 构建成功、无新增告警,linter 干净
  • [ ] 每项简化独立可评审,diff 里没混入无关改动
  • [ ] 命名/风格与项目既有约定一致(不是改成你个人的偏好)
  • [ ] 错误处理一处没删、一处没弱化
  • [ ] 死代码清零(无用 import、不可达分支)
  • [ ] 反问自己:换同事来评审,会不会点通过?

合理化借口粉碎机

借口 真相
"能跑就别动" 能跑但难读的代码,坏的时候更难修。现在简化,是为未来每次改动省钱
"行数少就是简单" 理解速度才是标尺,行数不是
"顺手把那段也重构了" 越界重构 = 噪音 diff + 意外回归,管住手
"类型签名就是文档" 类型说明结构,好名字说明意图,两者不能互替
"这抽象以后可能有用" 投机性抽象 = 无价值的复杂度,现在删,要用再加
"原作者肯定有原因" 也许。先查 git blame 走闸门一;但很多复杂度只是赶工的沉积物
"加功能时顺便重构" 分开。混在一起的改动更难评审、更难回退

使用时机

用:功能已通过测试但实现显得笨重;评审被指出可读性问题;遭遇深嵌套/超长函数/烂命名;接手赶工留下的代码;合并后出现重复逻辑。

不用:代码本来干净——不为简化而简化;还没看懂代码在干嘛;性能敏感路径且"简化版"会更慢;这个模块马上要整个重写。

常见问题

5 问
答案由本站依据条目字段整理
无痕简化 · 行为不变的代码瘦身法怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_e42078a9/simplify-without-breaking。安装方式为未标注。装完刷新技能列表或重开客户端。

无痕简化 · 行为不变的代码瘦身法支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

无痕简化 · 行为不变的代码瘦身法权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

无痕简化 · 行为不变的代码瘦身法收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

无痕简化 · 行为不变的代码瘦身法用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。