add-designer-extension

Adds context menu options to foreign Intent Architect designer elements via package, element, or association extensions.

23|10|Updated Aug 31, 2017
One-click install
npx skills add https://github.com/IntentArchitect/Intent.Modules --skill add-designer-extension-intentarchitect
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: add-designer-extension
Source: https://github.com/IntentArchitect/Intent.Modules/tree/main/Tests/ModuleBuilderSkills/.opencode/skills/add-designer-extension
Command: npx skills add https://github.com/IntentArchitect/Intent.Modules --skill add-designer-extension-intentarchitect

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Extending elements, packages, or association ends owned by another Intent Architect module requires correctly wiring typeIds, designer GUIDs, stereotypes, and context menu options, and mistakes produce invisible extensions or broken .designer.settings output. ## Core Features & Use Cases - Foreign Target Identification: Locates the target element or package typeId via MCP find_designer_elements or generated C# SpecializationTypeId constants, never guessing GUIDs. - Extension Modeling: Creates Package Extension, Element Extension, or Association Extension nodes with required stereotypes such as Type Reference Extension Settings (Mode = Inherit) and Extension Settings. - Context Menu Options: Adds Element Creation, Association Creation, and Mapping options under a [context menu] child with Option Settings like Default Name, Shortcut, and Menu Group. - Use Case: Add a "Publish Integration Event" context menu option to the Command element owned by another module, then run the Software Factory and verify the generated .designer.settings contains the correct elementExtension block. ## Quick Start Add a context menu option to the Command element from the foreign module so users can create a new Integration Event Handler from it.

Frequently Asked Questions about add-designer-extension

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

FAQPage Schema
How do I add a context menu option to an element from another Intent Architect module?▼

Create an Element Extension under a Designer Settings node linked to the foreign designer's GUID, set its type reference to the foreign element's typeId, apply Type Reference Extension Settings with Mode Inherit and Extension Settings, then add options under a [context menu] child.

How do I find the typeId of a foreign element in Intent Architect?▼

Use the MCP find_designer_elements tool to search by name in the target application's Module Builder designer, or read the SpecializationTypeId constant from the generated C# model class such as CommandModel. Never hardcode GUIDs from memory.

What is the difference between a package extension and an element extension?▼

A Package Extension adds context menu options and new element types to an existing package container, while an Element Extension adds context menu options to an existing element type. Association Extensions target the source or target end of an existing association.

Why is my designer extension not showing up in the target designer?▼

The Designer Settings node is likely missing the Extend Designers link to the foreign designer GUID, or the owning package's Module Settings lacks Reference in Designer. Also verify the context menu options sit under a [context menu] child, not directly on the extension.

Can I edit the .designer.settings file directly to add an extension?▼

No, .designer.settings is regenerated by the Software Factory on every run, so direct edits are overwritten. Always make changes in the Module Builder designer model and regenerate.

When should I not use a designer extension?▼

Do not use it when defining a brand-new association type from scratch or when extending an element your own module owns. It is only for adding options to elements, packages, or association ends owned by foreign modules.