Awesome-Agent-Skills-for-Empirical-Research code-simplifier
Simplify and clean up code after changes are complete. Reduces complexity, improves readability, and ensures consistency.
install
source · Clone the upstream repo
git clone https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/09-meleantonio-awesome-econ-ai-stuff/_skills/engineering/code-simplifier" ~/.claude/skills/brycewang-stanford-awesome-agent-skills-for-empirical-research-code-simplifier && rm -rf "$T"
manifest:
skills/09-meleantonio-awesome-econ-ai-stuff/_skills/engineering/code-simplifier/SKILL.mdsource content
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
statements for resource managementwith - Use
instead of manual indexingenumerate() - Use
for parallel iterationzip() - Use f-strings for formatting
- Use
for file pathspathlib
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:
- Simplify recently changed files/code-simplifier
- Simplify specific file/code-simplifier src/module.py
- Simplify entire directory/code-simplifier src/
Example Transformations
Before:
result = [] for i in range(len(items)): if items[i].is_valid == True: result.append(items[i].value)
After:
result = [item.value for item in items if item.is_valid]
Before:
if x != None: if y != None: if z != None: process(x, y, z)
After:
if all(v is not None for v in (x, y, z)): process(x, y, z)