Code refactor
Skill ComeOnOliver/skillshub/skills/mhattingpete/claude-skills-marketplace/code-refactor
🧠The right skill, one API call. AI agent skills registry with token-efficient skill resolution. 5,000+ skills from 500+ top repos.
npx -y skills add ComeOnOliver/skillshub --skill code-refactorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
3.0 KB, as published. Nobody here has run it
Code Refactor
Systematic code refactoring across files. Auto-switches to execution mode for 10+ files (90% token savings).
Mode Selection
- 1-9 files: Use native tools (Grep + Edit with replace_all)
- 10+ files: Automatically use
code-executionskill
Execution example (50 files):
from api.code_transform import rename_identifier
result = rename_identifier('.', 'oldName', 'newName', '**/*.py')
# Returns: {'files_modified': 50, 'total_replacements': 247}
# ~500 tokens vs ~25,000 tokens traditional
When to Use
- "rename [identifier] to [new_name]"
- "replace all [pattern] with [replacement]"
- "refactor to use [new_pattern]"
- "update all calls to [function/API]"
- "convert [old_pattern] to [new_pattern]"
Core Workflow (Native Mode)
1. Find All Occurrences
Grep(pattern="getUserData", output_mode="files_with_matches") # Find files
Grep(pattern="getUserData", output_mode="content", -n=true, -B=2, -A=2) # Verify with context
2. Replace All Instances
Edit(
file_path="src/api.js",
old_string="getUserData",
new_string="fetchUserData",
replace_all=true
)
3. Verify Changes
Grep(pattern="getUserData", output_mode="files_with_matches") # Should return none
Workflow Examples
Rename Function
- Find:
Grep(pattern="getUserData", output_mode="files_with_matches") - Count: "Found 15 occurrences in 5 files"
- Replace in each file with
replace_all=true - Verify: Re-run Grep
- Suggest: Run tests
Replace Deprecated Pattern
- Find:
Grep(pattern="\\bvar\\s+\\w+", output_mode="content", -n=true) - Analyze: Check if reassigned (let) or constant (const)
- Replace:
Edit(old_string="var count = 0", new_string="let count = 0") - Verify:
npm run lint
Update API Calls
- Find:
Grep(pattern="/api/auth/login", output_mode="content", -n=true) - Replace:
Edit(old_string="'/api/auth/login'", new_string="'/api/v2/authentication/login'", replace_all=true) - Test: Recommend integration tests
Best Practices
Planning:
- Find all instances first
- Review context of each match
- Inform user of scope
- Consider edge cases (strings, comments)
Safe Process:
- Search → Find all
- Analyze → Verify appropriate
- Inform → Tell user scope
- Execute → Make changes
- Verify → Confirm applied
- Test → Suggest running tests
Edge Cases:
- Strings/comments: Ask if should update
- Exported APIs: Warn of breaking changes
- Case sensitivity: Be explicit
Tool Reference
Edit with replace_all:
replace_all=true: Replace all occurrencesreplace_all=false: Replace only first (or fail if multiple)- Must match EXACTLY (whitespace, quotes)
Grep patterns:
-n=true: Show line numbers-B=N, -A=N: Context lines-i=true: Case-insensitivetype="py": Filter by file type
Integration
- test-fixing: Fix broken tests after refactoring
- code-transfer: Move refactored code
- feature-planning: Plan large refactorings