Code Simplifier
Clean up and simplify code after making changes.
When to Use
Run this skill after completing a feature or fix to ensure the code is clean, readable, and maintainable.
Simplification Goals
Reduce Complexity
- •Break long functions into smaller, focused ones
- •Reduce nesting depth (max 3 levels)
- •Simplify complex conditionals
- •Extract magic numbers to named constants
Improve Readability
- •Use descriptive variable and function names
- •Add clarifying comments for non-obvious logic
- •Ensure consistent formatting
- •Remove unnecessary comments
Apply Pythonic Patterns
- •Use list/dict/set comprehensions where appropriate
- •Use
withstatements for resource management - •Use
enumerate()instead of manual indexing - •Use
zip()for parallel iteration - •Use f-strings for formatting
- •Use
pathlibfor file paths
Clean Up
- •Remove unused imports
- •Remove unused variables
- •Remove commented-out code
- •Remove redundant code paths
- •Consolidate duplicate logic
Workflow
- •
Identify Changed Files
- •Focus on files modified in the current session
- •Or specify files/directories as arguments
- •
Analyze Each File
- •Check for simplification opportunities
- •Prioritize high-impact improvements
- •
Apply Simplifications
- •Make incremental changes
- •Preserve original behavior
- •Run tests after each change
- •
Format and Lint
- •Run
ruff format . - •Run
ruff check --fix .
- •Run
- •
Verify
- •Run tests:
pytest - •Ensure behavior unchanged
- •Run tests:
Arguments
Optionally specify files or directories to simplify.
Usage:
- •
/code-simplifier- Simplify recently changed files - •
/code-simplifier src/module.py- Simplify specific file - •
/code-simplifier src/- Simplify entire directory
Example Transformations
Before:
python
result = []
for i in range(len(items)):
if items[i].is_valid == True:
result.append(items[i].value)
After:
python
result = [item.value for item in items if item.is_valid]
Before:
python
if x != None:
if y != None:
if z != None:
process(x, y, z)
After:
python
if all(v is not None for v in (x, y, z)):
process(x, y, z)