We have linters for syntax (flake8), types (mypy), and security (bandit). I wanted a linter for product completeness.
I often build side projects and realize too late that I built the "fun" part (the dashboard) but forgot the "boring" parts that make it a viable product (dunning emails, invitation flows, off-boarding cleanup).
Skene is an open-source CLI tool that scans your codebase to find these "missing loops."
How it works:
It scans your file structure and imports to build a dependency graph.
It looks for specific patterns (e.g., presence of stripe-python but absence of a webhook handler function).
It outputs a "Growth Manifest" warning you about architectural gaps that will hurt retention or revenue.
It’s currently in v0.2. We are working on a v0.3 release that uses AST parsing to better understand logic flow (e.g., detecting if a user is actually created in the DB after a Stripe event).
It’s written in Python and fully open source.