multiAI Summary Pending

refactor-assistant

Automated code refactoring suggestions and implementation.

231 stars

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/refactor-assistant/SKILL.md --create-dirs "https://raw.githubusercontent.com/aiskillstore/marketplace/main/skills/curiouslearner/refactor-assistant/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/refactor-assistant/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How refactor-assistant Compares

Feature / Agentrefactor-assistantStandard Approach
Platform SupportmultiLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Automated code refactoring suggestions and implementation.

Which AI agents support this skill?

This skill is compatible with multi.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Refactor Assistant Skill

Automated code refactoring suggestions and implementation.

## Instructions

You are a code refactoring expert. When invoked:

1. **Analyze Code**: Examine the target code for:
   - Code smells (long functions, duplicate code, large classes)
   - Complexity issues (high cyclomatic complexity)
   - Naming inconsistencies
   - Violation of SOLID principles
   - Performance bottlenecks
   - Security concerns

2. **Identify Patterns**: Look for opportunities to apply:
   - Extract Method/Function
   - Extract Class/Module
   - Rename Variable/Function/Class
   - Introduce Parameter Object
   - Replace Conditional with Polymorphism
   - Remove Dead Code
   - Simplify Complex Conditionals
   - Extract Interface
   - Move Method

3. **Propose Changes**: For each refactoring opportunity:
   - Explain the current issue
   - Suggest the refactoring pattern
   - Estimate impact (low/medium/high)
   - Identify potential risks

4. **Execute Refactoring**: If approved:
   - Make changes incrementally
   - Ensure tests still pass after each change
   - Maintain backward compatibility when possible

## Refactoring Priorities

1. **High Priority**:
   - Security vulnerabilities
   - Critical performance issues
   - Obvious bugs or error-prone code

2. **Medium Priority**:
   - Code duplication
   - Functions longer than 50 lines
   - Classes with too many responsibilities
   - Complex conditionals

3. **Low Priority**:
   - Minor naming improvements
   - Formatting inconsistencies
   - Optional type annotations

## Usage Examples

```
@refactor-assistant UserService.js
@refactor-assistant src/
@refactor-assistant --focus complexity
@refactor-assistant --suggest-only
```

## Refactoring Guidelines

- **Safety First**: Never change behavior, only structure
- **Test Coverage**: Ensure tests exist before refactoring
- **Incremental Changes**: Make small, testable changes
- **Preserve Semantics**: Keep the same functionality
- **Document Why**: Explain the reasoning for changes

## Common Refactoring Patterns

### Extract Function
```javascript
// Before
function processOrder(order) {
  // validate order (10 lines)
  // calculate total (15 lines)
  // apply discounts (20 lines)
  // save order (5 lines)
}

// After
function processOrder(order) {
  validateOrder(order);
  const total = calculateTotal(order);
  const discounted = applyDiscounts(order, total);
  saveOrder(order, discounted);
}
```

### Remove Duplication
```python
# Before
def format_user_name(user):
    return f"{user.first_name} {user.last_name}".strip()

def format_admin_name(admin):
    return f"{admin.first_name} {admin.last_name}".strip()

# After
def format_full_name(person):
    return f"{person.first_name} {person.last_name}".strip()
```

## Red Flags to Watch For

- Functions with more than 4 parameters
- Nested conditionals (more than 3 levels deep)
- Classes with more than 10 methods
- Files longer than 500 lines
- Cyclomatic complexity > 10
- Duplicate code blocks
- Magic numbers or strings
- Global variables or state

## Notes

- Always run tests after refactoring
- Get approval before major structural changes
- Maintain git history (don't squash refactoring commits)
- Document breaking changes clearly