Keep module boundaries explicit and enforceable.
software architecture
Turns structural invariants into named contracts with written rationales and mechanical guards.
When to use it
Use when changes cross module boundaries, add dependency directions, touch critical paths, conflict with principles, or update architecture principles.
It changes how the agent defines, documents, mechanically enforces, and reviews architectural invariants in the project.
What you provide
No additional actions listed in the analysis.
The skill requires the principal-engineering skill as background.