Manusで任意のスキルを実行
ワンクリックで
ワンクリックで
ワンクリックでManusで任意のスキルを実行
始める$pwd:
$ git log --oneline --stat
stars:4
forks:1
updated:2026年1月21日 23:55
SKILL.md
Python import style guidelines for absolute and relative imports
Python naming conventions for variables, constants, files, and directories
Python pathlib usage guidelines for file and directory operations
UV command-line usage patterns for Python project management
UV command automation and project lifecycle management patterns powered by the uv-mcp server
Universal coding principles and best practices for maintainable software
| name | python-refactoring |
| description | Python refactoring triggers and guidelines for code size limits |
| license | MIT |
| compatibility | opencode |
| metadata | {"related_coding_principles":"For general coding principles, use skill `coding-principles`","related_python_guidelines":"For style and quality standards, use skill `python-guidelines`"} |
Provide guidelines for when to refactor Python code based on size limits and complexity thresholds.
# When a single .py file exceeds 250 lines:
# OPTION 1: Split into multiple modules
# module/
# __init__.py # Public API
# core.py # Core functionality
# helpers.py # Helper functions
# validators.py # Validation logic
# OPTION 2: Extract functions
# Original module has many related functions
# Extract related functions into separate modules
# Use __init__.py to expose public API
# When a function exceeds 75 lines (declaration + body):
# BEFORE: Monolithic function
def process_data(data):
# 80+ lines of mixed logic
validate(data)
transform(data)
clean(data)
aggregate(data)
export(data)
# AFTER: Decomposed functions
def process_data(data):
validate(data)
transformed = transform_data(data)
cleaned = clean_data(transformed)
results = aggregate_data(cleaned)
export_results(results)
def transform_data(data):
# Single responsibility
pass
def clean_data(data):
# Single responsibility
pass
# When a class exceeds 200 lines:
# BEFORE: God class with many responsibilities
class DataProcessor:
def validate(self): ...
def parse(self): ...
def transform(self): ...
def export(self): ...
def log(self): ...
def cache(self): ...
# AFTER: Split responsibilities
class DataProcessor:
def __init__(self, validator, parser, transformer, exporter):
self.validator = validator
self.parser = parser
self.transformer = transformer
self.exporter = exporter
def process(self, data):
validated = self.validator.validate(data)
parsed = self.parser.parse(validated)
return self.transformer.transform(parsed)
# BAD: Multiple responsibilities
class UserService:
def authenticate(self): ... # Auth logic
def send_email(self): ... # Email logic
def cache_data(self): ... # Caching logic
def generate_report(self): ... # Reporting logic
# GOOD: Split by responsibility
class AuthService: ...
class EmailService: ...
class CacheService: ...
class ReportService: ...
# When class has too many attributes/dependencies:
# Use composition instead of inheritance
class DataProcessor:
def __init__(self, validator, parser, transformer):
# Inject dependencies
self.validator = validator
self.parser = parser
self.transformer = transformer
Use this skill when: