Resources
4Install
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