Skip to content

code-simplifier

Streamlines and improves code clarity and consistency.

Category: code-gen
Field: general
License: Other (see repo)
Updated: 2026
Stages: code-generation

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 with statements for resource management
  • Use enumerate() instead of manual indexing
  • Use zip() for parallel iteration
  • Use f-strings for formatting
  • Use pathlib for file paths

Clean Up

  • Remove unused imports
  • Remove unused variables
  • Remove commented-out code
  • Remove redundant code paths
  • Consolidate duplicate logic

Workflow

  1. Identify Changed Files
  2. Focus on files modified in the current session
  3. Or specify files/directories as arguments

  4. Analyze Each File

  5. Check for simplification opportunities
  6. Prioritize high-impact improvements

  7. Apply Simplifications

  8. Make incremental changes
  9. Preserve original behavior
  10. Run tests after each change

  11. Format and Lint

  12. Run ruff format .
  13. Run ruff check --fix .

  14. Verify

  15. Run tests: pytest
  16. Ensure behavior unchanged

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)