What problem does it solve? Monorepos accumulate layers of indirection that serve no purpose: interfaces with exactly one implementation, wrapper functions that only forward arguments, factories that produce a single product, and manager layers that purely delegate. This Skill finds one such layer, proves it has no stated reason to exist, inlines the single thing behind it, and ships the change safely. ## Core Features & Use Cases - Indirection Detection: Greps for suspect shapes including single-implementation interfaces, passthrough wrappers, one-product factories, never-varied generics, and delegate-only service layers. - Justification Checks: Verifies against AGENTS.md files, ADRs, and project boards that no stated convention or planned second implementation justifies the layer before removing it. - Safe Shipping: Inlines the concrete unit, rewrites tests that mocked the deleted layer, runs typecheck and package gates, and ships one flattening at a time via /ship. - Use Case: A package contains an IUserService interface with exactly one implementation and no ADR justifying it. The Skill inlines UserService directly at call sites, deletes the interface, updates the tests, and ships the change. ## Quick Start Invoke /routine-abstraction-improver with a package path to find and flatten one unjustified layer of indirection in that scope.