arch-fitness-functions
Installation
SKILL.md
One-line summary
Encode architectural intent as automated checks that run on every change. If the architecture says "the domain layer doesn't depend on Spring", a fitness function fails the build when it does.
When to use this skill
- An architecture decision matters and needs to stay true over time (dependency direction, layer boundaries, no cyclic dependencies, performance budgets).
- Teams are large enough that informal "we agreed not to do X" doesn't hold across all PRs.
- Migration projects (
arch-strangler-fig) where you want to enforce that new code lives in the new shape and not the legacy. - Any architectural decision where you'd otherwise rely on code review to catch drift.
When NOT to use this skill
- Tiny project, single developer, no scaling problem.
- The architectural property is genuinely subjective and not automatable (taste, aesthetics, naming style on edge cases).
- Over-policing — every architectural rule has a cost; only enforce what you would block a PR over.