deslop-python
Audits a Python project for junk tests, dead code, and unused dependencies using evidence from pytest (per-test timings), pytest-cov (per-test coverage contexts), mutmut (which mutations the suite kills, and which kills a test removal would lose), plus ruff, ty, vulture, radon, deptry, jscpd, and import-linter. It installs any of these tools that are missing, writes a prioritized report (file and test, problem, evidence, recommended optimization, estimated time savings, risk), changes no test or source file until the user approves, then applies only the approved items and verifies them against the original test results and mutation results. Use when the user says /deslop-python, wants to clean up, slim down, dedupe, or speed up a pytest suite, asks which Python tests are redundant, weak, slow, shadowed, or safe to delete, wants to parameterize tests or consolidate fixtures, asks for a mutation-testing or coverage-overlap review of a Python project, or wants dead Python code or unused dependencies found and removed, even if they don't name the tools.
- Version
- 1.0.1
Pinned to revision dcd83defeb85, so it is the text this page describes rather than whatever the author pushed since.
Files
- skills/deslop-python/SKILL.md
- skills/deslop-python/evals/apply-approved-items/case.yaml
- skills/deslop-python/evals/apply-approved-items/files/.gitignore
- skills/deslop-python/evals/apply-approved-items/files/README.md
- skills/deslop-python/evals/apply-approved-items/files/deslop-report.md
- skills/deslop-python/evals/apply-approved-items/files/pyproject.toml
- skills/deslop-python/evals/apply-approved-items/files/src/cartcalc/__init__.py
- skills/deslop-python/evals/apply-approved-items/files/src/cartcalc/cli.py
- skills/deslop-python/evals/apply-approved-items/files/src/cartcalc/core.py
- skills/deslop-python/evals/apply-approved-items/files/src/cartcalc/py.typed
- skills/deslop-python/evals/apply-approved-items/files/tests/test_bench.py
- skills/deslop-python/evals/apply-approved-items/files/tests/test_core.py
- skills/deslop-python/evals/apply-approved-items/files/tests/test_integration.py
- skills/deslop-python/evals/apply-approved-items/files/uv.lock
- skills/deslop-python/evals/apply-approved-items/graders/01-baseline-before-edit.md
- skills/deslop-python/evals/apply-approved-items/graders/02-dup-removed.md
- skills/deslop-python/evals/apply-approved-items/graders/03-parameterized.md
- skills/deslop-python/evals/apply-approved-items/graders/04-sleeps-removed.md
- skills/deslop-python/evals/apply-approved-items/graders/05-dead-code-removed.md
- skills/deslop-python/evals/apply-approved-items/graders/06-shadowed-test-revived.md
- skills/deslop-python/evals/apply-approved-items/graders/07-unapproved-untouched.md
- skills/deslop-python/evals/apply-approved-items/graders/08-suite-passes.md
- skills/deslop-python/evals/apply-approved-items/graders/09-fresh-mutation-run.md
- skills/deslop-python/evals/apply-approved-items/graders/10-mutation-verified.md
- skills/deslop-python/evals/apply-approved-items/graders/11-before-after.md
- skills/deslop-python/evals/apply-approved-items/place-files.sh
- skills/deslop-python/evals/apply-approved-items/prompt.md
- skills/deslop-python/evals/audit-planted-slop/case.yaml
- skills/deslop-python/evals/audit-planted-slop/files/.gitignore
- skills/deslop-python/evals/audit-planted-slop/files/README.md
- skills/deslop-python/evals/audit-planted-slop/files/pyproject.toml
- skills/deslop-python/evals/audit-planted-slop/files/src/cartcalc/__init__.py
- skills/deslop-python/evals/audit-planted-slop/files/src/cartcalc/cli.py
- skills/deslop-python/evals/audit-planted-slop/files/src/cartcalc/core.py
- skills/deslop-python/evals/audit-planted-slop/files/src/cartcalc/py.typed
- skills/deslop-python/evals/audit-planted-slop/files/tests/test_bench.py
- skills/deslop-python/evals/audit-planted-slop/files/tests/test_core.py
- skills/deslop-python/evals/audit-planted-slop/files/tests/test_integration.py
- skills/deslop-python/evals/audit-planted-slop/files/uv.lock
- skills/deslop-python/evals/audit-planted-slop/graders/01-report-columns.md
- skills/deslop-python/evals/audit-planted-slop/graders/02-duplicate-pair.md
- skills/deslop-python/evals/audit-planted-slop/graders/03-slow-tests.md
- skills/deslop-python/evals/audit-planted-slop/graders/04-dead-code.md
- skills/deslop-python/evals/audit-planted-slop/graders/05-weak-asserts.md
- skills/deslop-python/evals/audit-planted-slop/graders/06-shadowed-test.md
- skills/deslop-python/evals/audit-planted-slop/graders/07-unused-dependency.md
- skills/deslop-python/evals/audit-planted-slop/graders/08-mutation-evidence.md
- skills/deslop-python/evals/audit-planted-slop/graders/09-per-test-coverage.md
- skills/deslop-python/evals/audit-planted-slop/graders/10-keeps-unique-kills.md
- skills/deslop-python/evals/audit-planted-slop/graders/11-same-lines-different-outcome.md
- skills/deslop-python/evals/audit-planted-slop/graders/12-no-changes.md
- skills/deslop-python/evals/audit-planted-slop/graders/13-asks-approval.md
- skills/deslop-python/evals/audit-planted-slop/place-files.sh
- skills/deslop-python/evals/audit-planted-slop/prompt.md
- skills/deslop-python/evals/pre-approval-still-reports/case.yaml
- skills/deslop-python/evals/pre-approval-still-reports/files/.gitignore
- skills/deslop-python/evals/pre-approval-still-reports/files/README.md
- skills/deslop-python/evals/pre-approval-still-reports/files/pyproject.toml
- skills/deslop-python/evals/pre-approval-still-reports/files/src/cartcalc/__init__.py
- skills/deslop-python/evals/pre-approval-still-reports/files/src/cartcalc/cli.py
- skills/deslop-python/evals/pre-approval-still-reports/files/src/cartcalc/core.py
- skills/deslop-python/evals/pre-approval-still-reports/files/src/cartcalc/py.typed
- skills/deslop-python/evals/pre-approval-still-reports/files/tests/test_bench.py
- skills/deslop-python/evals/pre-approval-still-reports/files/tests/test_core.py
- skills/deslop-python/evals/pre-approval-still-reports/files/tests/test_integration.py
- skills/deslop-python/evals/pre-approval-still-reports/files/uv.lock
- skills/deslop-python/evals/pre-approval-still-reports/graders/01-no-changes.md
- skills/deslop-python/evals/pre-approval-still-reports/graders/02-report-delivered.md
- skills/deslop-python/evals/pre-approval-still-reports/graders/03-asks-approval.md
- skills/deslop-python/evals/pre-approval-still-reports/graders/04-tools-run.md
- skills/deslop-python/evals/pre-approval-still-reports/place-files.sh
- skills/deslop-python/evals/pre-approval-still-reports/prompt.md
- skills/deslop-python/references/tool-recipes.md
- skills/deslop-python/scripts/coverage_overlap.py
- skills/deslop-python/scripts/kill_matrix.py
- skills/deslop-python/scripts/mutants_compare.py
- skills/deslop-python/scripts/pytest_timings.py
Every link opens the file at its source, pinned to the revision this page describes.