What problem does it solve? Codebases accumulate layering violations over time: features importing each other's internals, transport adapters touching models, routes bypassing screens. This Skill finds imports that cross boundaries explicitly stated in AGENTS.md files or ADRs, fixes each one by moving code or inverting the dependency, and ships the fix. ## Core Features & Use Cases - Rule-grounded detection: A violation only counts if a written rule in a root or scoped AGENTS.md or ADR prohibits it, preventing enforcement of personal taste. - Targeted repair strategies: Fixes violations by moving code to a shared layer, inverting the dependency via parameters, or duplicating tiny helpers when sharing would worsen structure. - Scoped grep workflows: Ships predefined search patterns for cross-package imports, dashboard cross-feature imports, backend-v2 layer rules, and mobile route/screen separation. - Use Case: A dashboard feature imports a sibling feature's private component. The Skill quotes the dashboard AGENTS.md rule, moves the shared code into src/common/, re-greps to confirm the pattern is gone, and ships the single fix via /ship. ## Quick Start Invoke /routine-abstraction-police with an optional package or path to find and fix one layering violation against a stated boundary rule.