ClaudeSuperPower

fix-fiori-elements-extensions

Skill

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 manif

Install

git clone https://github.com/UI5/plugins-coding-agents.git ~/.claude/skills/fix-fiori-elements-extensions

What is fix-fiori-elements-extensions?

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.

What this can do

Capabilities declared in this component's own frontmatter — not inferred.

Inherit all session tools

Declares no tool restrictions — inherits every session tool

~231 tokens of context used while enabled, before you invoke anything

Documentation

README · ~8 min read

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.

Linter Rules Handled

Rule IDMessage PatternThis Skill's Action
no-deprecated-apiUse of deprecated registerControllerExtensionsCase A: Modernize to manifest + ControllerExtension
no-deprecated-apiUse of deprecated sap.ui.controllerCase B (if manifest has controllerName): report only, do not fix; Case A (if registerControllerExtensions): ControllerExtension class
no-deprecated-apiUse of deprecated Controller (from sap/ui/core/mvc/Controller)Case B: report only, do not fix

Reviews

Log in to leave a review.

No reviews yet — be the first.

Explore related

Other things in this space — across every part of the ecosystem, not just skills.