Python skill

Find the shape before runtime does.

Use this skill for Python code where the expensive part is usually the missing boundary, not the missing formatter run.

The Job

The Python skill reviews the cost of dynamic behavior: implicit schemas, broad dictionaries, swallowed errors, mutable globals, async drift, and scripts that quietly became production systems.

Run it on:

API clients, data pipelines, async workers, CLI scripts, import jobs, and glue code around external systems.

Signals

Implicit schemas

Dictionaries and JSON payloads crossing core paths without typed models, validation, or clear ownership.

Mutable shared state

Module globals, caches, monkeypatches, and fixtures that make tests or workers depend on execution order.

Swallowed failures

Broad except, logging-only handlers, and fallback paths that turn broken inputs into stale output.

Async drift

Missing timeouts, cancellation rules, backpressure, retries, and cleanup for concurrent work.

Example Findings

P1 stale data path

The importer catches all exceptions and returns the previous cache, so failed input looks successful.

P2 implicit payload shape

A dict from an external API is used across three modules without validation or a named schema.

P2 async cleanup missing

Tasks are spawned without cancellation handling, so shutdown can leave work half-written.

Review Prompt

Review this diff with the Vølven Python debt skill.
Focus on implicit schemas, mutable globals, swallowed exceptions,
async failure paths, data pipeline contracts, and mock-heavy tests.
Ignore Ruff, mypy, pyright, Black, and normal test failures.
Findings first with evidence and smallest useful fix.