om-eject-and-customize
Eject and Customize
Ejecting moves one part of an installed dependency — a module, component, template, or plugin — into repository ownership so it can be changed beyond what the dependency's extension points allow. From then on the repository, not the dependency, owns that part's upgrades. So this skill first proves the eject is needed, then follows the eject recipe the dependency itself ships (its supported command, where the copy lands, what must stay upstream), asks before changing anything, and records the exact version it ejected from.
The procedure lives here; every fact about a particular dependency — the
eject command, the landing path, the registration step, the extension points
to try first — is data read from that dependency's shipped knowledge
through the knowledge.sources config key. No recipe, no eject: this skill
never improvises one.