Files
arena-plm-fiori/.claude/skills/sap-ui5/SKILL.md
T
2026-09-16 01:47:28 -07:00

54 lines
2.1 KiB
Markdown

---
name: sap-ui5
description: >
Query the UI5 MCP server before writing SAPUI5 controllers, XML views, control
APIs, or model bindings. Triggers on views and controller extensions in app/.
paths:
- "**/app/**/*.xml"
- "**/app/**/ext/**/*.js"
- "**/app/**/ext/**/*.ts"
- "**/webapp/**/*.xml"
- "**/webapp/**/controller/**/*.js"
metadata:
source: SAP-samples/cap-agentic-engineered
adapted: MCP tool names mapped to this environment (mcp__ui5-mcp-server__*)
---
# UI5 MCP-First Development
Before writing, modifying, debugging, or fixing SAPUI5 controllers, XML views,
or control bindings, you MUST query the UI5 MCP server and apply its guidance.
## Tools
Use `mcp__ui5-mcp-server__*` tools — primarily `mcp__ui5-mcp-server__get_api_reference`,
`mcp__ui5-mcp-server__get_guidelines`, `mcp__ui5-mcp-server__run_ui5_linter`, and
`mcp__ui5-mcp-server__get_project_info`.
> Note: in this environment the same UI5 tooling is also exposed under the
> `mcp__plugin_sapui5_ui5-tooling__*` namespace — either prefix works.
## Workflow
1. **Query before coding** — call `mcp__ui5-mcp-server__get_api_reference` for control APIs, or `mcp__ui5-mcp-server__get_guidelines` for project-level patterns
2. **Trust MCP over training knowledge** — if guidance conflicts with what you know, follow MCP
3. **Run the linter after changes** — call `mcp__ui5-mcp-server__run_ui5_linter` to catch deprecated APIs
4. **Prefer the simplest pattern** when MCP returns multiple valid approaches
## Scope
This skill covers:
- XML views with `sap.m`, `sap.f`, `sap.uxap` namespaces
- Controller extensions (`app/**/ext/controller/*.js`) and freestyle controllers (`webapp/**/controller/*.js`)
- Model bindings, formatters, event handlers
- Control APIs and property configuration
## UI5 Code Standards
- XML views only — no JavaScript views
- `sap.ui.define` for all modules — no globals
- Async loading: `data-sap-ui-async="true"`
- i18n for all user-facing text
- No deprecated APIs (`jQuery.sap.*`, sync loading, `sap.ui.getCore()`)
- Fiori Elements controller extensions must be plain objects (not ES6 classes) — `this` refers to the `ExtensionAPI` instance