Install
$ agentstack add skill-armanzeroeight-fastagent-plugins-refactoring-advisor ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
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
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: armanzeroeight
- Source: armanzeroeight/fastagent-plugins
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.