codebase-design-axes

Installation
SKILL.md

Codebase Design: Variant Axes

The dual of a codebase-design principle. That skill's seam rule is restraint: one adapter means a hypothetical seam; two adapters means a real one — don't build abstraction before something varies. This skill is the forcing direction: the moment something varies, the owner module is mandatory. Restraint without forcing produces sprawl one compliant-looking diff at a time.

Uses the codebase-design vocabulary — module, interface, seam, depth, leverage, locality. Load that skill for definitions.

Glossary

Variant axis — a concept whose values enumerate: states, scenarios, modes, tiers, providers, formats, channels. If you can say "we support N of them and will add an (N+1)th," it's an axis.

Owner module (registry) — the single module that owns an axis. Everything the codebase knows about the axis's values is derivable from it.

Touchpoint — a place a consumer varies with the axis (a route param, a catalog row, a config entry, a switch branch, a fixture flag).

Shallow-by-diffusion — the failure mode: the axis has no module, so its de-facto interface is the union of its touchpoints, each with nothing behind it. Interface as complex as the implementation — shallowness, produced upstream of any module you could point at.

The rule

Every variant axis gets one owner module, and the second variant is the design deadline.

Installs
4
GitHub Stars
1
First Seen
Jul 14, 2026