Download for MacApple silicon, macOS 14+
Skill

fix-fiori-elements-extensions

@ui5 Updated 2026-10-20

Handle Fiori Elements V2 controller extensions during UI5 modernization. Use this skill when: - Extension controllers use `sap.ui.controller()` AND the manifest has a matching `controllerName` entry (Case B → report only, do not modernize) - Extension controllers use `Controller.extend()` with manifest `controllerName` registration (Case B → report only, do not modernize) - Code contains `registerControllerExtensions` calls (Case A → ControllerExtension.extend + override) - Manifest.json has `sap.ui5/extends/extensions/sap.ui.controllerExtensions` with `controllerName` entries Case B (plain object) is by far the most common. For Case B, do NOT modify controller files — report them and move on. Case A requires actual code modernization. For plain controller definitions in custom (non-Fiori-Elements) apps where `sap.ui.controller()` is just defining a standalone controller, use `fix-js-globals` (Case 9) instead.

claudedevelopmentopenui5pluginsapui5ui5

Install

With your agent

Install OMGSkills skill "ui5/plugins-coding-agents:plugins/ui5-modernization/skills/fix-fiori-elements-extensions" into this agent's normal skills directory: call the OMGSkills MCP get_install_plan tool for your agent and run the script it returns (it installs only the pinned commit and verifies SKILL.md), and stop if MCP or the pin is unavailable. Do not overwrite or change existing skills without asking me.

Manual command

git clone https://github.com/UI5/plugins-coding-agents /tmp/plugins-coding-agents && ln -s /tmp/plugins-coding-agents/plugins/ui5-modernization/skills/fix-fiori-elements-extensions ~/.claude/skills/fix-fiori-elements-extensions

From README

Fix Fiori Elements Controller Extensions This skill handles Fiori Elements V2 controller extensions during UI5 modernization. There are two cases with different actions: Case B (most common): Extensions registered via controllerName in manifest → Report only. Do NOT modify the controller files. Leave them as-is and inform the user which files need manual attention. Case A (rare): Extensions using registerControllerExtensions → Perform the full modernization to ControllerExtension.extend() + manifest registration.