NavanithanS

ask-python-refactor

Python refactoring for readability, maintainability, and performance.

NavanithanS 1 1 Updated 3mo ago

Resources

4
GitHub

Install

npx skillscat add navanithans/agent-skill-kit/ask-python-refactor

Install via the SkillsCat registry.

SKILL.md
❌ NO refactoring without tests first ❌ NO single-letter variables (n, x) → use descriptive names ❌ NO functions >20 lines → extract smaller functions ✅ MUST run tests after every change ✅ MUST commit frequently for easy rollback </critical_constraints> Variables: descriptive nouns (user_count not n) Functions: verb + object (calculate_total not calc) Classes: entity nouns (OrderProcessor not OP) - Duplicated code → extract to shared function - Long parameter lists → group into dataclass - Deep nesting → use early returns/guard clauses - Magic numbers → replace with named constants </code_smells> ## Dispatch Tables ```python # Before: long if/elif chains # After: handlers = {'a': process_a, 'b': process_b} handler = handlers.get(data.type, process_default) return handler(data) ```

Type Hints

def get_user(user_id: int) -> Optional[User]:
    return db.find(user_id)
1. Ensure tests exist 2. Make small changes, verify each step 3. Run tests after every change 4. Commit frequently 5. Review diff before finalizing