simplify
Simplify and refactor code while preserving functionality and library constraints.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Simplify Code
Simplify and refactor $ARGUMENTS.
Simplification Principles
- Single Responsibility - 1 function = 1 thing
- Short Functions - Target under 20 lines
- Shallow Nesting - Early return, depth ≤ 2
- Clear Naming - Clear enough to not need comments
- Type Hints Required - On all functions
Steps
1. Analyze Target Code
- Read the file(s) to understand current structure
- Identify complexity hotspots (deep nesting, long functions)
- List functions/classes to simplify
2. Check Library Constraints
- Identify libraries used in target code
- Check constraints in
.claude/docs/libraries/ - Web search for unclear library behaviors
3. Plan Refactoring
For each complexity issue:
- What change to make
- Why it improves readability
- Verify it doesn't break library usage
4. Execute Refactoring
Apply changes following these patterns:
Early Return:
# Before
def process(value):
if value is not None:
if value > 0:
return do_something(value)
return None
# After
def process(value):
if value is None:
return None
if value <= 0:
return None
return do_something(value)
Extract Function:
# Before
def main():
# 50 lines of mixed concerns
...
# After
def main():
data = load_data()
result = process_data(data)
save_result(result)
5. Verify with Tests
uv run pytest -v
Notes
- Always preserve library features/constraints
- Web search for unclear points
- Don't change behavior (refactoring only)
- Run tests after each significant change
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-03-11
- Index updated
- 2026-03-11
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!