improve-codebase-architecture
Improve Codebase Architecture
Surface architectural friction and propose deepening opportunities — refactors that turn shallow modules into deep ones. The aim is testability and AI-navigability.
Glossary
Use these terms exactly in every suggestion — don't drift into "component," "service," "API," or "boundary." Terms: Module, Interface (everything a caller must know, not just the signature), Implementation, Depth (Deep = high leverage; Shallow = interface ≈ implementation), Seam (where an interface lives; use this not "boundary"), Adapter, Leverage, Locality. Full definitions + the rest of the principles in LANGUAGE.md — read it before your first suggestion.
Load-bearing principles to apply every time:
- Deletion test: imagine deleting the module. Complexity vanishes → pass-through. Complexity reappears across N callers → it earns its keep.
- The interface is the test surface.
- One adapter = hypothetical seam. Two adapters = real seam.
This skill is informed by the project's domain model. The domain language gives names to good seams; ADRs record decisions the skill should not re-litigate.
Process
Three phases. Full step-by-step in PROCESS.md — read it once when you start a run, then work from it.