refactor
SKILL.md
Refactor Command
Execute automated refactoring for $ARGUMENTS using refactor:code-simplifier agent.
Pre-operation Checks
Goal: Ensure scope resolution is deterministic before launching the agent.
Actions:
- Run
git rev-parse --is-inside-work-treeand continue even if false when explicit paths are provided - Normalize arguments by trimming whitespace and preserving quoted path segments
- Treat an empty argument list as "recent changes" mode
Phase 1: Determine Target Scope
Goal: Identify files to refactor based on arguments or session context.
Actions:
- If arguments provided: verify as file/directory paths using Glob
- If paths exist: use them directly as refactoring scope
- If paths don't exist: treat arguments as semantic query, search codebase with Grep
- If no arguments: run
git diff --name-onlyto find recently modified code files - If no recent changes found: inform user and exit without refactoring
See references/scope-determination.md for search strategies and edge cases.
Phase 2: Launch Refactoring Agent
Goal: Execute refactor:code-simplifier agent with aggressive mode enabled.
Actions:
- Launch
refactor:code-simplifieragent with target scope and aggressive mode flag - Pass scope determination method (paths, semantic query, or session context)
- Agent auto-loads
refactor:best-practicesskill and applies language-specific patterns
See references/agent-configuration.md for detailed Task parameters.
Phase 3: Summary
Goal: Report comprehensive summary of changes.
Actions:
- Report total files refactored and changes categorized by improvement type
- List best practices applied and legacy code removed
- Suggest tests to run and provide rollback command tailored to actual scope (for example:
git restore --worktree --staged <files>)
See references/output-requirements.md for detailed summary format.
Requirements
- Execute immediately without user confirmation
- Refactor ALL matching files when semantic search returns multiple results
- Direct users to
/refactor-projectfor project-wide scope - Preserve behavior and public interfaces unless user explicitly requests a behavior change