← Back to list

refactoring-advisor
by armanzeroeight
🚀 A collection of Claude subagents, skills, rules, guides, and blueprints for Developers, Engineers, and Creators. | Covering programming languages, DevOps, Cloud, and beyond.
⭐ 20🍴 4📅 Jan 18, 2026
SKILL.md
name: refactoring-advisor description: Provides refactoring recommendations and step-by-step improvement plans. Use when planning refactoring, improving code structure, or reducing technical debt.
Refactoring Advisor
Quick Start
Plan refactoring based on identified issues:
- Identify the problem (code smell, complexity)
- Select appropriate refactoring pattern
- Create step-by-step plan
- Ensure tests exist
- Refactor incrementally
Instructions
Step 1: Assess Current State
Analyze the code:
- What is the problem? (long method, god class, etc.)
- What is the impact? (maintainability, testability)
- What is the risk? (how much code depends on it)
Step 2: Select Refactoring Strategy
| Problem | Strategy | Risk |
|---|---|---|
| Long Method | Extract Method | Low |
| God Class | Extract Class | Medium |
| Duplicated Code | Extract Method | Low |
| Switch Statement | Replace with Polymorphism | High |
| Long Parameter List | Introduce Parameter Object | Medium |
Step 3: Create Refactoring Plan
Template:
## Refactoring: [Name]
**Problem:** [Description]
**Goal:** [Desired outcome]
**Risk Level:** [Low/Medium/High]
### Prerequisites
- [ ] Tests exist and pass
- [ ] Code is committed
- [ ] Dependencies identified
### Steps
1. [First small change]
2. [Run tests]
3. [Next small change]
4. [Run tests]
...
### Validation
- [ ] All tests pass
- [ ] No functionality changed
- [ ] Code is cleaner
Step 4: Execute Incrementally
Golden Rule: Make the change easy, then make the easy change
- Make one small change
- Run tests
- Commit
- Repeat
Refactoring Examples
Extract Method
Before:
function printOwing(invoice) {
let outstanding = 0;
console.log("***********************");
console.log("**** Customer Owes ****");
console.log("***********************");
for (const o of invoice.orders) {
outstanding += o.amount;
}
console.log(`name: ${invoice.customer}`);
console.log(`amount: ${outstanding}`);
}
Plan:
- Extract banner printing
- Run tests
- Extract outstanding calculation
- Run tests
- Extract details printing
- Run tests
After:
function printOwing(invoice) {
printBanner();
const outstanding = calculateOutstanding(invoice);
printDetails(invoice, outstanding);
}
function printBanner() {
console.log("***********************");
console.log("**** Customer Owes ****");
console.log("***********************");
}
function calculateOutstanding(invoice) {
return invoice.orders.reduce((sum, o) => sum + o.amount, 0);
}
function printDetails(invoice, outstanding) {
console.log(`name: ${invoice.customer}`);
console.log(`amount: ${outstanding}`);
}
Extract Class
Before:
class Person {
name;
officeAreaCode;
officeNumber;
getTelephoneNumber() {
return `(${this.officeAreaCode}) ${this.officeNumber}`;
}
}
Plan:
- Create TelephoneNumber class
- Move areaCode field
- Run tests
- Move number field
- Run tests
- Move getTelephoneNumber method
- Run tests
- Update Person to use TelephoneNumber
- Run tests
After:
class TelephoneNumber {
areaCode;
number;
toString() {
return `(${this.areaCode}) ${this.number}`;
}
}
class Person {
name;
telephoneNumber;
getTelephoneNumber() {
return this.telephoneNumber.toString();
}
}
Safety Checklist
Before refactoring:
- Tests exist and pass
- Code is in version control
- You understand what the code does
- You have time to complete the refactoring
During refactoring:
- Make small changes
- Run tests after each change
- Commit working states
- Don't add features while refactoring
After refactoring:
- All tests pass
- Code review completed
- Documentation updated
- No functionality changed
Score
Total Score
70/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
✓説明文
100文字以上の説明がある
+10
○人気
GitHub Stars 100以上
0/15
✓最近の活動
1ヶ月以内に更新
+10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
○言語
プログラミング言語が設定されている
0/5
✓タグ
1つ以上のタグが設定されている
+5
Reviews
💬
Reviews coming soon
