refactor-advisor
重构顾问 - 识别代码坏味道并提供重构方案
Works with
Agent Skills format with YAML frontmatter. Claude Code reads it as-is.
---
name: "refactor-advisor"
description: "重构顾问 - 识别代码坏味道并提供重构方案"
license: "MIT"
---
# 代码重构顾问
## 触发条件
当用户要求重构代码、优化代码结构、改善代码质量、消除技术债务时激活此技能。
## 工作流程
### 第 1 步:扫描代码库
- 使用 `grep`/`rg` 扫描目标目录,识别潜在坏味道
- 统计文件行数、函数长度、参数数量等指标
- 查找重复代码块(相似度 > 80%)
### 第 2 步:分类坏味道
按严重程度分类发现的问题:
| 等级 | 含义 | 说明 |
|------|------|------|
| 🔴 严重 | 必须立即修复 | 影响可维护性和稳定性 |
| 🟡 中等 | 建议尽快修复 | 降低代码可读性 |
| 🟢 轻微 | 可择机优化 | 不影响功能但有改进空间 |
### 第 3 步:优先级排序
按以下维度综合排序:
1. **影响范围** — 被引用/调用次数越多,优先级越高
2. **变更频率** — git log 频繁改动的文件优先
3. **修复成本** — 成本低且收益高的优先处理
### 第 4 步:输出重构方案
## 常见坏味道检测
| 坏味道 | 特征 | 重构手法 | 等级 |
|--------|------|---------|------|
| 长方法 | 函数超过 50 行 | 提取方法 (Extract Method) | 🔴 |
| 大类 | 类超过 300 行 | 提取类 (Extract Class) | 🔴 |
| 重复代码 | 相似代码块出现 3+ 次 | 提取公共方法 | 🔴 |
| 过长参数 | 函数参数超过 4 个 | 引入参数对象 | 🟡 |
| 嵌套过深 | if/for 嵌套 3+ 层 | 卫语句 (Guard Clause) | 🟡 |
| 魔法数字 | 硬编码的数字 | 提取为常量 | 🟢 |
| 过长链式调用 | a.b.c.d.e | 提取中间变量 | 🟢 |
| 全局可变状态 | 全局变量被多处修改 | 封装为模块/引入依赖注入 | 🔴 |
| 过度耦合 | 模块间相互依赖 | 依赖反转、引入接口 | 🟡 |
## 输出格式
### 完整报告模板
```markdown
# 代码重构报告
## 概要
- 扫描文件数:XXX
- 发现问题数:XX(🔴 X / 🟡 X / 🟢 X)
- 预估工作量:X 天
## 问题列表
### 问题 1:[问题标题]
- **📍 位置**:`src/services/user.ts:45-120`
- **🔍 问题**:该函数长达 75 行,包含 3 层嵌套,职责不单一
- **🛠️ 重构方案**:
- 提取 `validateUserData()` 方法
- 提取 `saveToDatabase()` 方法
- 使用卫语句替代嵌套 if
- **⚠️ 风险评估**:
- 该函数被 12 处调用,需全面回归测试
- 建议先添加单元测试再重构
- **Before**:
```typescript
function processUser(data) { /* 75行... */ }
```
- **After**:
```typescript
function processUser(data) {
const validated = validateUserData(data);
return saveToDatabase(validated);
}
```
## 重构路线图
| 阶段 | 内容 | 优先级 | 预估 |
|------|------|--------|------|
| P1 | 修复 🔴 严重问题 | 高 | 2天 |
| P2 | 处理 🟡 中等问题 | 中 | 3天 |
| P3 | 优化 🟢 轻微问题 | 低 | 1天 |
```
## 注意事项
- 重构前确保有足够的测试覆盖
- 每次重构尽量小步提交,便于回滚
- 重构不应改变外部行为(行为保持)
- 大规模重构建议分阶段进行,每阶段独立可验证
- 关注重构过程中的性能回退风险More Refactoring skills
vercel-react-best-practices
vercel-labs/agent-skills
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
analyze-project
lllllllama/rigorpilot-skills
Rigor Analyze / Rigor Audit read-only skill for deep learning research repositories. Use when the user wants to read and understand a repository, inspect model structure and training or inference entrypoints, review configs and insertion points, or flag suspicious implementation patterns without modifying code or running heavy jobs. Do not use for active command execution, broad refactoring, speculative code adaptation, or automatic bug fixing.
request-refactor-plan
mattpocock/skills
Create a detailed refactor plan with tiny commits via user interview, then file it as a GitHub issue. Use when user wants to plan a refactor, create a refactoring RFC, or break a refactor into safe incremental steps.

