Claude Code 最强代码清理神器:code-simplifier 完全使用指南
Anthropic 团队内部自用的代码简化 Agent,现已开源。不改变任何功能,只让你的代码更优雅、更易读、更可维护。

一、code-simplifier 是什么?
code-simplifier 是 Anthropic 官方开源的 Claude Code 插件——同一个工具,Claude Code 团队自己每天都在用。
它的定位非常纯粹:在不改变代码功能的前提下,简化代码实现,提升清晰度、一致性和可维护性。
用 Boris Cherny(Anthropic 工程师)的话说:
“We just open sourced the code-simplifier agent we use on the Claude Code team. Ask Claude to use the code simplifier agent at the end of a long coding session, or to clean up complex PRs.”
核心原则:一条铁律
Never changes code functionality — only changes implementation.
所有原始特性、输出和行为保持不变。它只关心"怎么写",不关心"写什么"。
底层规格
| 属性 |
说明 |
| 类型 |
Claude Code 官方 Plugin / Agent |
| 底层模型 |
Claude Opus(最强推理能力) |
| 工具集 |
Read、Edit、Glob、Grep |
| 规则数量 |
45 条重构规则,分 8 大类别 |
| 上下文 |
自动读取项目 CLAUDE.md + 近期 git diff |
| 策略 |
迭代式重构,一次聚焦一个问题 |
二、三大安装方式
方式一:命令行安装(推荐)
|
1
|
claude plugin install code-simplifier
|
方式二:在 Claude Code 会话中安装
|
1
2
|
/plugin marketplace update claude-plugins-official
/plugin install code-simplifier
|
方式三:社区版 Skill 安装(更灵活)
如果你想把它当 Skill 用,而不是 Agent:
|
1
|
npx -y skills add pproenca/dot-skills --skill code-simplifier --agent claude-code
|
或者手动下载:
|
1
2
3
|
mkdir -p ~/.claude/skills/code-simplifier-pproenca-dot-skills
curl -L https://claudskills.com/skills/code-simplifier-pproenca-dot-skills/SKILL.md \
-o ~/.claude/skills/code-simplifier-pproenca-dot-skills/SKILL.md
|
安装路径:
- macOS/Linux:~/.claude/skills/code-simplifier/
- Windows:%USERPROFILE%\.claude\skills\code-simplifier\
安装完成后,Claude Code 会在下次启动时自动发现它。
三、如何使用?四种实战场景
场景 1:长时间编码后一键清理(最常用)
写完一个功能模块后,让 code-simplifier 帮你"回头看":
|
1
|
请用 code-simplifier 清理我们今天修改的代码
|
或英文:
|
1
|
Run the code-simplifier agent on the changes we made today
|
Claude 会自动分析所有最近修改的文件,并一次性完成清理。
场景 2:提交 PR 前的质量把关
在创建 Pull Request 前,确保代码符合质量标准:
|
1
|
用 code-simplifier 检查并优化这些变更,然后再创建 PR
|
英文:
|
1
|
Use the code-simplifier to review and clean up these changes before we create the PR
|
场景 3:重构后的规范化
当你刚完成跨多个文件的大型重构,需要确保模式一致性:
|
1
|
用 code-simplifier 统一我们刚重构文件中的代码模式
|
英文:
|
1
|
Use code-simplifier to normalize the patterns in the files we just refactored
|
场景 4:指定模块清理
针对特定文件或目录:
|
1
|
用 code-simplifier 处理我刚写的 auth 模块
|
英文:
|
1
|
Use code-simplifier on the auth module I just built
|
技术调用方式(进阶)
由于 code-simplifier 本质是一个 Agent 而非传统 Skill,正确的调用方式是通过 Task Tool:
|
1
2
3
|
{
"subagent_type": "code-simplifier:code-simplifier"
}
|
而不是通过 Skill tool(那样会报 “Unknown skill” 错误)。
四、它到底能做什么?五大核心能力
1. 保留功能(铁律)
这是 code-simplifier 的第一原则:绝不改变功能。
- 所有原始特性、输出和行为完全保持不变
- 只改实现方式,不改业务逻辑
- 运行后会自动验证功能未受损
2. 遵循项目标准
自动读取并遵循项目的编码规范:
- 项目根目录的 CLAUDE.md —— 最高优先级
- .cursor/rules/*.md、.cursorrules
- AGENTS.md、.github/copilot-instructions.md
- .editorconfig、.prettierrc、.eslintrc.*
这意味着:你的团队规范定义得越清晰,code-simplifier 的表现就越好。
3. 提升清晰度
- 减少不必要的复杂度和嵌套
- 消除冗余代码和过度抽象
- 优化变量和函数命名
- 合并相关逻辑
- 移除描述明显代码的无用注释
- 避免嵌套三元运算符 —— 改用 switch 或 if/else 链
- 选择清晰而非简洁 —— 显式代码优于过度紧凑的代码
4. 保持平衡(不过度简化)
code-simplifier 很聪明,知道什么不该做:
- 不会为了简化而牺牲代码清晰度
- 不会创造过于" clever "的难以理解的方案
- 不会将太多关注点塞进单个函数
- 不会移除有助于代码组织的抽象
- 不会为了"行数更少"而牺牲可读性
5. 专注近期修改
默认只关注最近修改的代码(通过 git diff / git status 识别),除非你显式指定其他范围。这使得它:
- 运行速度快,不浪费 token
- 精准定位需要清理的代码
- 不影响已经稳定的旧代码
五、45 条重构规则速览(8 大类别)
code-simplifier 内置了 45 条重构规则,按优先级和影响范围分为 8 大类:
| 类别 |
优先级 |
规则示例 |
| 上下文发现 |
Critical |
读取 CLAUDE.md,了解项目标准 |
| 行为保留 |
Critical |
功能不变性验证、测试通过确认 |
| 作用域管理 |
High |
变量作用域最小化、减少全局依赖 |
| 控制流优化 |
High |
扁平化嵌套、early return、避免嵌套三元 |
| 命名规范 |
Medium |
清晰命名、统一命名风格 |
| 死代码清理 |
Medium |
移除未使用的变量、函数、导入 |
| 重复消除 |
Medium |
提取公共逻辑(遵循"三次重复才提取"原则) |
| 语言惯用法 |
Low |
遵循各语言的最佳实践和惯用模式 |
六、实战前后对比
示例 1:嵌套三元运算符 → 清晰条件链
清理前:
|
1
2
3
|
const status = user.active ?
user.verified ? 'active-verified' : 'active-unverified' :
user.suspended ? 'suspended' : 'inactive';
|
清理后:
|
1
2
3
4
5
6
|
function getUserStatus(user) {
if (user.suspended) return 'suspended';
if (!user.active) return 'inactive';
return user.verified ? 'active-verified' : 'active-unverified';
}
const status = getUserStatus(user);
|
示例 2:复杂条件 → 提前返回
清理前:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
function processOrder(order) {
if (order) {
if (order.items && order.items.length > 0) {
if (order.paymentStatus === 'paid') {
return fulfillOrder(order);
} else {
throw new Error('Payment not completed');
}
} else {
throw new Error('Order has no items');
}
} else {
throw new Error('Invalid order');
}
}
|
清理后:
|
1
2
3
4
5
6
|
function processOrder(order) {
if (!order) throw new Error('Invalid order');
if (!order.items?.length) throw new Error('Order has no items');
if (order.paymentStatus !== 'paid') throw new Error('Payment not completed');
return fulfillOrder(order);
}
|
七、最佳实践与注意事项
五个最佳实践
- 定期运行 —— 不要等代码变乱才想起来用,每次重要编码会话后跑一遍
- 审查变更 —— code-simplifier 很强,但不是绝对可靠,提交前务必 review 它的改动
- 配置好 CLAUDE.md —— 编码标准定义得越清晰,效果越好
- 配合版本控制 —— 在 git 跟踪的目录中运行,方便对比和回滚
- 与其他工作流结合 —— 与 Plan mode、code-review agent、test runner 配合使用
三个注意事项
- 它不是 Skill,是 Agent —— 需要通过 Task tool 或自然语言调用,不能通过 /code-simplifier 调用(社区版 Skill 可以)
- Token 成本 —— 需要重新处理已生成的代码,建议选择性使用,不要对每个小改动都跑
- 运行前提交代码 —— 这样方便对比和回滚:git checkout -- <file>
八、支持的语言
code-simplifier 支持所有主流编程语言,特别擅长:
- TypeScript / JavaScript —— 前端/全栈首选
- Python —— 数据科学、后端开发
- Go —— 云原生、后端服务
- Rust —— 系统编程
- Java —— 企业级应用
社区还贡献了框架专属版本:
- Laravel/PHP:laravel-simplifier@laravel
- Rust:MCP marketplace 上的 Rust 专用变体
九、一句话总结
code-simplifier 就像一位不知疲倦的代码洁癖专家——它不会帮你写新功能,但会让你的每一行代码都干净利落。在 AI 辅助编程的时代,它的价值愈发明显:AI 生成的代码往往倾向于"过度完备",而 code-simplifier 就是专门来消除这种冗余的。
记住这个黄金时机: 每当你完成一个功能、准备提交 PR、或者结束一次长编码会话时——
“Run the code-simplifier.”