py-refactor
3
总安装量
2
周安装量
#59951
全站排名
安装命令
npx skills add https://github.com/l-mb/python-refactoring-skills --skill py-refactor
Agent 安装分布
opencode
2
github-copilot
2
codex
2
kimi-cli
2
windsurf
2
gemini-cli
2
Skill 文档
Python Refactoring Orchestrator
Comprehensive refactoring workflow coordinating specialized skills to improve Python code quality.
Overview
This skill orchestrates multiple focused skills to perform systematic refactoring:
| Skill | Purpose | Status |
|---|---|---|
py-security |
Vulnerability detection and remediation | stable |
py-code-health |
Dead code and duplication removal | stable |
py-complexity |
Reduce cyclomatic/cognitive complexity | stable |
py-test-quality |
Coverage analysis and mutation testing | stable |
py-modernize |
Upgrade tooling and syntax | stable |
py-quality-setup |
Configure linters and type checkers | stable |
py-git-hooks |
Set up pre-commit hooks | stable |
Refactoring Priorities
Follow this impact-based prioritization:
- Critical: Security vulnerabilities (use
py-security) - High: Code duplication, untested code (<80% coverage)
- Medium: Complexity reduction, dead code removal
- Low: Syntax modernization, style improvements
Standard Refactoring Workflow
Phase 1: Setup (if needed)
1. If quality tools not configured (pyproject.toml):
â Invoke: py-quality-setup
2. Add analysis tools to [dependency-groups] dev in pyproject.toml:
"radon", "vulture", "pylint", "bandit", "lizard",
"pytest-cov", "mutmut", "wily", "ruff", "mypy", "basedpyright"
3. Install and activate:
uv sync && source .venv/bin/activate
Phase 2: Comprehensive Analysis
Run all automated scanners to get baseline:
mkdir -p reports
# Security
ruff check . --select S > reports/security.txt
bandit -r . -f json -o reports/security.json
# Code health
vulture . --min-confidence 80 > reports/dead_code.txt
pylint --disable=all --enable=duplicate-code --recursive=y . > reports/duplication.txt
# Complexity
radon cc . -n C -s > reports/complexity.txt
lizard -l python -w > reports/cognitive_complexity.txt
radon mi . -n B > reports/maintainability.txt
# Test quality
pytest --cov=. --cov-report=html --cov-report=term > reports/coverage.txt
# Initialize complexity tracking
wily build .
Phase 3: Prioritized Remediation
Step 1: Security (Critical)
If security.txt shows issues:
â Invoke: py-security
- Fix SQL injection, hardcoded secrets, weak crypto
- Verify: ruff check . --select S (clean)
- Run tests to ensure no regressions
Step 2: Test Quality (High – enables safe refactoring)
If coverage < 80%:
â Invoke: py-test-quality
- Write tests for untested code
- Run mutation testing to verify test quality
- Target: â¥80% coverage, â¥75% mutation score
Step 3: Code Health (High)
If duplication.txt or dead_code.txt show issues:
â Invoke: py-code-health
- Remove dead code (vulture findings)
- Consolidate duplicates (pylint findings)
- Verify: Tests still pass, coverage maintained
Step 4: Complexity Reduction (Medium)
If complexity.txt shows C+ functions or maintainability < 65:
â Invoke: py-complexity
- Extract functions, simplify conditionals
- Use guard clauses, lookup tables
- Track improvement with wily
- Verify: radon cc . -n C (clean)
Step 5: Modernization (Optional)
If project uses old patterns or pip:
â Invoke: py-modernize
- Migrate pip â uv
- Upgrade syntax to Python 3.13+
- Consolidate to pyproject.toml
- Verify: Tests pass, type checking works
Phase 4: Automation
Set up git hooks to prevent regressions:
â Invoke: py-git-hooks
- Pre-commit hooks run ruff, mypy, basedpyright
- Optionally add security checks (bandit)
- Test hook works correctly
Phase 5: Final Validation
# Run complete validation suite
ruff check .
mypy . && basedpyright .
ruff check . --select S
radon cc . -n C
vulture . --min-confidence 80
pytest --cov=. --cov-fail-under=80
# Track overall improvement
wily diff HEAD~1
wily report .
When NOT to Use This Skill
Don’t use orchestrated refactoring when:
- Single focused task: Use specific skill directly (e.g., just py-security for CVE fix)
- No tests exist: Write tests first (py-test-quality), then refactor
- Active development: Coordinate with team to avoid merge conflicts
- Production incident: Fix incident first, refactor later
Additional Resources
- WORKFLOWS.md: Quick workflows for specific scenarios (security sweep, complexity sprint, legacy modernization)
- METRICS.md: Success metrics, tool reference, Engineering Charter alignment