system-extension

Extend Open Mercato modules with fields, API intercepts, and UI replacements.

1.6k|354|Updated Sep 10, 2025
One-click install
npx skills add https://github.com/open-mercato/open-mercato --skill system-extension
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: system-extension
Source: https://github.com/open-mercato/open-mercato/tree/main/packages/create-app/agentic/shared/ai/skills/system-extension
Command: npx skills add https://github.com/open-mercato/open-mercato --skill system-extension

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill allows developers to extend existing Open Mercato modules without modifying their source code, enabling customization and integration.

Core Features & Use Cases

  • Modular Extension: Add fields, columns, filters, actions, menu items, and more to existing entities.
  • API Interception & Mutation Guards: Intercept API requests and validate/transform mutations before persistence.
  • Component Replacement: Swap or wrap UI components to customize the user interface.
  • Event Handling: React to domain events emitted by other modules.
  • Use Case: A team needs to add a custom "priority" field to the existing "Customer" form and display it as a column in the "Customers" table. This Skill guides them through creating a response enricher, a field widget, and a column widget, and wiring them together using the Triad Pattern.

Quick Start

Use the system-extension skill to add a new column to the 'customers.person' table.

Frequently Asked Questions about system-extension

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

FAQPage Schema
How do I add custom fields to existing modules without modifying source code?

You can extend core modules without modifying source code by using the Universal Module Extension System (UMES) to add fields, columns, and filters through defined extension points.

How does API interception work for validating mutations in module extensions?

API interception works by intercepting API requests to validate or transform mutations before persistence, blocking unauthorized changes, ensuring data integrity within your module extensions.

Can I replace UI components in existing modules using UMES?

Yes, you can replace UI components in existing modules using UMES by swapping or wrapping components to customize the user interface non-intrusively without altering the original source code.

What is the Triad Pattern for adding a column to an existing table?

The Triad Pattern for adding a column involves wiring together a response enricher, a field widget, and a column widget to integrate new data fields into existing module tables.

How do I subscribe to domain events emitted by other modules?

You subscribe to domain events by using the event handling extension points in UMES, allowing your custom module to react to and execute logic based on events emitted by other modules.

Does extending core modules require specific dependencies or environments?

Extending core modules requires no specific dependencies, allowing developers to implement customizations using UMES extension points in any compatible software engineering environment.