One-click install
npx skills add https://github.com/comerito/om-hackathon-starter --skill eject-and-customize-comerito
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: eject-and-customize
Source: https://github.com/comerito/om-hackathon-starter/tree/main/.ai/skills/eject-and-customize
Command: npx skills add https://github.com/comerito/om-hackathon-starter --skill eject-and-customize-comerito

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Ejection is a last-resort method to take ownership of a core module when UMES extensions cannot address the required changes, enabling targeted modifications while preserving upgradeability.

Core Features & Use Cases

  • Clear criteria for when to eject vs extend.
  • Step-by-step workflow covering pre-ejection analysis, the actual ejection, and post-ejection validation.
  • Guidance on documenting reasons and tracking all customizations to simplify future upgrades.

Quick Start

Identify the target core module, run the ejection workflow to copy it to your local source, and begin safe customization with change tracking.

Frequently Asked Questions about eject-and-customize

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

FAQPage Schema
What is ejecting a core module and when do I need it?

Ejecting a core module is a strategic last resort to take ownership of core business logic or schema when UMES extensions cannot solve the problem. You need it only when required changes exceed extension capabilities.

How do I safely customize core modules after ejecting?

To safely customize core modules after ejecting, document the reason for ejection, run the generate command to copy the module to your local source, and track all customizations to simplify future upgrades.

Should I extend or eject a core module?

You should extend a core module using UMES extensions whenever possible. Ejecting is reserved for scenarios where changes to core business logic or schema are required and extensions cannot address them.

What are the prerequisites before ejecting a core module?

Prerequisites for ejecting a core module include completing pre-ejection analysis, documenting the reason for ejection, and running the generate command to copy the target module to your local source.

How do I track customizations across upgrades after ejecting?

You track customizations across upgrades by documenting the ejection reason and maintaining a record of all modifications within the ejected module, which simplifies future upgrade validation and tracking.

What are the limitations of ejecting core modules?

Limitations of ejecting core modules include the risk of breaking upgradeability and the danger of making risky modifications outside the ejected module. Ejection is a last resort to preserve system stability.