Fix HTML bootstrap parameter issues that UI5 linter reports but cannot auto-fix. Use this skill when linter outputs these rules: no-deprecated-api - For missing/deprecated bootstrap parameters (async, compat-version, animation, binding-syntax, etc.) no-deprecated-theme - For deprecated theme values in…
Fix Component.js async configuration issues that UI5 linter reports but cannot auto-fix. Use this skill when linter outputs these rules: async-component-flags - For missing IAsyncContentCreation interface, missing manifest declaration, redundant async flags, async:false errors no-removed-manifest-property - For async…
Fix Control renderer issues that UI5 linter reports but cannot auto-fix. Use this skill when linter outputs these rules: no-deprecated-control-renderer-declaration - For missing renderer declaration, string-based renderer declaration, implicit renderer auto-discovery (removed in modern UI5) no-deprecated-api - For…
Fix Content Security Policy (CSP) compliance issues that UI5 linter reports but cannot auto-fix. Use this skill when linter outputs: csp-unsafe-inline-script with message "Use of unsafe inline script" Trigger on: inline JavaScript in HTML files, script tags without src attribute, onclick/onload handlers in HTML. Also…
Detect and resolve cyclic module dependencies introduced during UI5 modernization. Trigger when user mentions: "cyclic dependency", "circular import", "undefined module at runtime", "lazy require", "sap.ui.require sync", "import cycle", or when a module returns undefined despite a correct import path. Classic symptom…
Fix deprecated control/class/interface/type issues that UI5 linter reports but cannot auto-fix. Use this skill when linter outputs: no-deprecated-api with messages about deprecated class, interface, type, property, or property of class Messages like "Use of deprecated class '...'", "Use of deprecated interface '...'"…
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…
Fix JavaScript no-globals errors that UI5 linter reports but cannot auto-fix. Use this skill when linter outputs: no-globals rule with message "Access of global variable '...' (...)" in JS files Cases handled (linter CANNOT auto-fix): Assignments to global namespaces: sap.myNamespace = {...} Global namespace…
Fix Library.init() apiVersion issues and modernize enums to DataType.registerEnum. Use this skill when linter outputs: no-deprecated-api with message "Deprecated call to ... Use the {apiVersion: 2} parameter instead" Trigger on library.js files with errors about: "Deprecated call to", "Lib.init", "Library.init"…
Fix runtime-breaking patterns in JS files that the UI5 linter does NOT report. Use this skill when: Tests fail after modernization with "ReferenceError", "TypeError: Cannot read properties of undefined", or "X is not defined" The linter shows zero remaining errors but tests still crash at runtime Phase 3, Step 3.2 of…
Fix manifest.json issues that UI5 linter reports but cannot auto-fix. Use this skill when linter outputs these rules: no-outdated-manifest-version - For version not being 2.x no-legacy-ui5-version-in-manifest - For minUI5Version below 1.136 no-deprecated-library - For deprecated libraries in dependencies…
Fix partially deprecated API usage that UI5 linter reports but cannot auto-fix. Use this skill when linter outputs: no-deprecated-api for Parameters.get, JSONModel.loadData, Mobile.init, ODataModel.v2.createEntry, View.create, Fragment.load, Router constructor unsupported-api-usage for string formatter in JS bindings…
Fix pseudo module and implicit global issues that UI5 linter reports but cannot auto-fix. Use this skill when linter outputs: no-pseudo-modules with messages about deprecated enum or DataType pseudo module access no-implicit-globals with messages about module not exported by library or OData globals Trigger on: direct…
Fix deprecated sap.ui.table.Table row properties that UI5 linter reports but cannot auto-fix. Use this skill when linter outputs: no-deprecated-api with messages about visibleRowCountMode, visibleRowCount, rowHeight, fixedRowCount, fixedBottomRowCount, or minAutoRowCount Trigger on: deprecated row-related properties…
Fix XML view/fragment issues that UI5 linter reports but cannot auto-fix. Use this skill when linter outputs these rules: no-globals - For ALL global variable access in XML views — sap., jQuery., AND app-namespace globals (e.g., com.example.app.utils.Handler.onPress, my.app.formatter.method) no-ambiguous-event-handler…
Fix native HTML and SVG usage in XML views/fragments that UI5 linter reports but cannot auto-fix. Use this skill when linter outputs: no-deprecated-api with message "Usage of native HTML in XML Views/Fragments is deprecated" no-deprecated-api with message "Deprecated use of SVG in XML View or Fragment" Trigger on…
Use when migrating UI5 apps from legacy FLP sandbox to the new sandbox (New Sandbox). Triggers on /modernize-flp-sandbox, mentions of "flpSandbox.html", "sap-ushell-config", or requests to update sandbox configuration.
Modernize QUnit unit tests and OPA5 integration tests to the UI5 Test Starter concept. Use this skill when: The linter reports prefer-test-starter for .qunit.html or .qunit.js files Test HTML files use manual sap-ui-core.js bootstrapping instead of Test Starter's runTest.js/createSuite.js Test JS files use…
End-to-end workflow for modernizing a UI5 application. Use this skill when: User wants to modernize their UI5 app User mentions "UI5 modernization", "modernize UI5 app", "upgrade UI5", "make app modern UI5 compatible" User asks to "fix all linter errors", "run full modernization", "modernize my UI5 project" This skill…
This skill should be used when the user asks to audit, fix, check, review, or improve accessibility, a11y, ARIA, WCAG compliance, landmarks, labeling, heading levels, focus handling, keyboard navigation, keyboard shortcuts, screen reader support, invisible messaging, reading order, or touch / target size in UI5…
MUST be loaded before any UI Integration Cards (also called UI5 Integration Cards) task — creating, modifying, validating, previewing, or reviewing a card, its manifest.json, its Configuration Editor (dt/Configuration.js), or any analytical chart configuration. Provides the official guidelines, validation rules…
This skill should be used in any OPA5 task - creating, modifying, extending, debugging, fixing or reviewing an integration test. Use when the user asks to "write an OPA5 test", "add an OPA5 journey", "fix the OPA5 test failure" or mentions OPA5 or its components - opaTest, page object, journey, waitFor.