eject-and-customize

Eject UMES core modules into src/modules with a documented customization workflow.

Updated Apr 1, 2026
One-click install
npx skills add https://github.com/dominikpalatynski/test-ready-app --skill eject-and-customize-dominikpalatynski
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: eject-and-customize
Source: https://github.com/dominikpalatynski/test-ready-app/tree/main/.ai/skills/eject-and-customize
Command: npx skills add https://github.com/dominikpalatynski/test-ready-app --skill eject-and-customize-dominikpalatynski

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Ejecting is a safe, one-way decision to take ownership of core modules when UMES extensions cannot meet needed behavior. This Skill guides you through evaluating when to eject, how to perform the ejection, and how to manage subsequent customization and upgrades.

Core Features & Use Cases

  • Pre-ejection analysis to weigh risks and dependencies.
  • Step-by-step ejection workflow to copy modules into src/modules and re-register them.
  • Safe modification zones, upgrade tracking, and a customization log for future maintenance.

Quick Start

Run the ejection command to copy the target core module into your src/modules directory and begin maintaining a local customized version.

Frequently Asked Questions about eject-and-customize

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What does ejecting a core module mean and when do I need to do it?

Ejecting a core module means taking local ownership of its code to modify core logic, schema, or behavior. You need to eject when UMES extensions cannot meet your required behavior and deeper customization is necessary.

How do I safely eject and customize a core module?

To safely eject and customize, run the ejection command to copy the target module into src/modules, re-register it by regenerating discovery, and maintain a customization log to track changes for future upgrades.

Can I still upgrade core modules after ejecting them for customization?

Yes, upgrade compatibility is maintained after ejecting by keeping a customization log and using safe modification zones during the ejection workflow, ensuring future upgrades can be tracked and applied correctly.

What's the best way to analyze risks before ejecting a core module?

The best way to analyze risks before ejecting is performing a pre-ejection analysis to weigh dependencies and potential impacts, ensuring you understand the one-way decision before moving code to src/modules.

Does ejecting a core module work with UMES extensions?

Ejecting is specifically for cases where UMES extensions cannot meet your requirements. Once you eject, you move the module to src/modules and maintain a local customized version instead of relying on extensions.

Why should I maintain a customization log after ejecting a core module?

Maintaining a customization log after ejecting is required to ensure upgrade compatibility and track safe modification zones, so future core module upgrades can be applied without overwriting your customizations.