From 66e279d53fdf9a4d2073b5fb467245e4703b68e7 Mon Sep 17 00:00:00 2001 From: Florian Vogt Date: Fri, 31 Jul 2026 16:05:26 +0200 Subject: [PATCH 1/4] fix(ui5): Shorten skill description of 'ui5-best-practices-mdc' --- plugins/ui5/skills/ui5-best-practices-mdc/SKILL.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/ui5/skills/ui5-best-practices-mdc/SKILL.md b/plugins/ui5/skills/ui5-best-practices-mdc/SKILL.md index 2a3abe5..b551e29 100644 --- a/plugins/ui5/skills/ui5-best-practices-mdc/SKILL.md +++ b/plugins/ui5/skills/ui5-best-practices-mdc/SKILL.md @@ -1,9 +1,9 @@ --- name: ui5-best-practices-mdc description: | - UI5 MDC (Model-Driven Controls) best practices and authoritative development guidelines for OData V4 delegate-based controls. Use when the user asks to "create an MDC FilterBar", "implement MDC Chart", "add MDC Field", "use MDC FilterField", "implement ValueHelp", "add MDC Link", "MDC MultiValueField", "sap.ui.mdc", "delegate pattern", "fetchProperties", "OData V4 freestyle controls", "MDC personalization", "p13nMode", "PropertyInfo", "MDC delegate", "FilterBarDelegate", "ChartDelegate", "ValueHelpDelegate", "LinkDelegate", "MDC field not rendering", "MDC chart not binding", "MDC conditions", "Condition.createCondition", "MDC Table delegate", or is writing any UI5 freestyle application using OData V4 with model-driven controls from sap.ui.mdc. Covers: delegate pattern, PropertyInfo structure, mandatory rules, common error patterns, and per-control API reference for FilterBar, Chart, Field, FilterField, ValueHelp, Link, and MultiValueField. - - Keywords: sap.ui.mdc, MDC, FilterBar, Chart, Field, FilterField, ValueHelp, Link, MultiValueField, delegate, fetchProperties, updateBindingInfo, PropertyInfo, OData V4, JSON model, JSONModel, custom delegate, TypeMap, DefaultTypeMap, base delegate, non-OData, addItem, getFilters, p13nMode, autoBindOnInit, conditions, TypeMap, FieldBase, FilterBarBase, ChartDelegate, ValueHelpDelegate, LinkDelegate, FilterBarDelegate, MultiValueFieldDelegate, Condition.createCondition + UI5 MDC (sap.ui.mdc) best practices for OData V4 delegate-based controls. Use when creating/troubleshooting MDC FilterBar, Chart, Field, FilterField, ValueHelp, Link, MultiValueField, or Table. Covers delegate pattern, fetchProperties, PropertyInfo, p13nMode, updateBindingInfo, Condition.createCondition, and common errors (delegate not loaded, chart no data, fields not appearing). Also applies to JSON model (non-OData) MDC usage. + Triggers: "MDC", "sap.ui.mdc", "delegate pattern", "fetchProperties", "PropertyInfo", "MDC personalization", "p13nMode", "MDC field not rendering", "MDC chart not binding", "MDC conditions", OData V4 freestyle with model-driven controls. + Keywords: sap.ui.mdc, FilterBar, Chart, Field, FilterField, ValueHelp, Link, MultiValueField, delegate, fetchProperties, updateBindingInfo, PropertyInfo, OData V4, JSON model, TypeMap, p13nMode, conditions, FilterBarDelegate, ChartDelegate, ValueHelpDelegate, LinkDelegate, Condition.createCondition --- # UI5 MDC Controls Best Practices From b9b9514e7947bc3c96a234a2b3b85d96535401b7 Mon Sep 17 00:00:00 2001 From: Florian Vogt Date: Fri, 31 Jul 2026 16:08:14 +0200 Subject: [PATCH 2/4] fix(ui5): Shorten skill description of 'ui5-best-practices-smart-controls ' --- .../ui5/skills/ui5-best-practices-smart-controls/SKILL.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/ui5/skills/ui5-best-practices-smart-controls/SKILL.md b/plugins/ui5/skills/ui5-best-practices-smart-controls/SKILL.md index 2f709ea..531f841 100644 --- a/plugins/ui5/skills/ui5-best-practices-smart-controls/SKILL.md +++ b/plugins/ui5/skills/ui5-best-practices-smart-controls/SKILL.md @@ -1,9 +1,9 @@ --- name: ui5-best-practices-smart-controls description: | - UI5 smart controls best practices and authoritative development guidelines for OData V2 annotation-driven controls. Use when the user asks to "create a SmartField", "add a SmartForm", "implement SmartFilterBar", "create SmartChart", "add SmartLink navigation", "use SmartMultiInput", "smart control annotations", "OData V2 metadata-driven controls", "sap.ui.comp", "field control annotation", "value help annotations", "ValueList annotation", "smart form layout", "smart filter bar configuration", "chart annotations", "semantic object navigation", "smart link popover", "SmartField edit mode", "SmartField display mode", "SmartFilterBar liveMode", "SmartChart drill-down", "SmartMultiInput tokens", "SmartTable configuration", or is writing any UI5 freestyle application using OData V2 annotation-driven controls from sap.ui.comp. Covers: control selection, mandatory rules, common error patterns, annotation guidance, and per-control API reference for SmartField, SmartForm, SmartFilterBar, SmartChart, SmartLink, and SmartMultiInput. - - Keywords: sap.ui.comp, SmartField, SmartForm, SmartFilterBar, SmartChart, SmartLink, SmartMultiInput, SmartTable, FilterBar, sap.ui.comp.filterbar, ValueHelpDialog, sap.ui.comp.valuehelpdialog, FilterGroupItem, token selection, ranges, conditions tab, OData V2, annotations, UI.LineItem, UI.Chart, ValueList, FieldControl, SemanticObject, entitySet, ControlConfiguration, GroupConfiguration, textArrangement, value help, FilterProvider, initialise event, beforeRebindChart, navigationTargetsObtained + UI5 smart controls (sap.ui.comp) best practices for OData V2 annotation-driven controls. Use when creating/troubleshooting SmartField, SmartForm, SmartFilterBar, SmartChart, SmartLink, SmartMultiInput, or SmartTable. Covers control selection, annotations (ValueList, FieldControl, SemanticObject, UI.LineItem, UI.Chart), mandatory rules, common errors, and per-control API reference. + Triggers: "SmartField", "SmartForm", "SmartFilterBar", "SmartChart", "SmartLink", "SmartMultiInput", "sap.ui.comp", "smart control annotations", "OData V2 metadata-driven", "value help annotations", "ValueList annotation", "field control annotation", "semantic object navigation". + Keywords: sap.ui.comp, SmartField, SmartForm, SmartFilterBar, SmartChart, SmartLink, SmartMultiInput, SmartTable, ValueHelpDialog, OData V2, annotations, ValueList, FieldControl, SemanticObject, entitySet, ControlConfiguration, GroupConfiguration, textArrangement, FilterProvider, initialise, beforeRebindChart, navigationTargetsObtained --- # UI5 Smart Controls Best Practices From fc69a68d866fefce9902e7a90a295c2e1b3a3306 Mon Sep 17 00:00:00 2001 From: Florian Vogt Date: Fri, 31 Jul 2026 16:09:38 +0200 Subject: [PATCH 3/4] fix(ui5): Shorten skill description of 'ui5-best-practices-tables' --- plugins/ui5/skills/ui5-best-practices-tables/SKILL.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/ui5/skills/ui5-best-practices-tables/SKILL.md b/plugins/ui5/skills/ui5-best-practices-tables/SKILL.md index 0f12da3..ae7a87a 100644 --- a/plugins/ui5/skills/ui5-best-practices-tables/SKILL.md +++ b/plugins/ui5/skills/ui5-best-practices-tables/SKILL.md @@ -1,9 +1,9 @@ --- name: ui5-best-practices-tables description: | - UI5 table best practices and authoritative development guidelines. Use when the user asks to "create a table", "add a table", "which table should I use", "implement sap.m.Table", "implement sap.ui.table", "GridTable", "ResponsiveTable", "TreeTable", "SmartTable", "MDC table", "sap.ui.mdc.Table", "sap.ui.comp.smarttable", "table not showing data", "table binding", "table selection", "drag and drop table", "table personalization", "copy paste table", "table export", "table sticky header", "table growing", "table pop-in", "table performance", "table accessibility", "table items binding", or is writing any UI5 freestyle application that includes a table control. Covers: control selection matrix, mandatory rules, common error patterns, and per-control API guidance for sap.m.Table, sap.ui.table.Table, sap.ui.table.TreeTable, sap.ui.comp.smarttable.SmartTable, and sap.ui.mdc.Table. - - Keywords: sap.m.Table, sap.ui.table, GridTable, ResponsiveTable, TreeTable, SmartTable, sap.ui.mdc.Table, table binding, rows aggregation, items aggregation, rowMode, growing, sticky, personalization, drag and drop, DragDropInfo, p13n.Engine, OData V4, OData V2, cell templates, ariaLabelledBy + UI5 table best practices for freestyle applications. Use when creating/troubleshooting any table: sap.m.Table (ResponsiveTable), sap.ui.table.Table (GridTable), TreeTable, SmartTable, or sap.ui.mdc.Table. Covers control selection matrix, mandatory rules, common errors, and per-control API guidance. + Triggers: "create a table", "which table should I use", "GridTable", "ResponsiveTable", "TreeTable", "SmartTable", "MDC table", "sap.ui.mdc.Table", "table not showing data", "table binding", "table selection", "drag and drop table", "table personalization", "table growing", "table pop-in", "table performance", "table export", "table sticky header". + Keywords: sap.m.Table, sap.ui.table, GridTable, ResponsiveTable, TreeTable, SmartTable, sap.ui.mdc.Table, rows, items, rowMode, growing, sticky, personalization, p13n.Engine, DragDropInfo, OData V4, OData V2, ariaLabelledBy, cell templates --- # UI5 Table Best Practices From f028ddf97fec3b490e72efbc24bdb596ca6cde8c Mon Sep 17 00:00:00 2001 From: Florian Vogt Date: Fri, 31 Jul 2026 16:12:29 +0200 Subject: [PATCH 4/4] fix(ui5): Shorten skill 'ui5-best-practices' --- .../ui5/skills/ui5-best-practices/SKILL.md | 48 ++----------------- 1 file changed, 5 insertions(+), 43 deletions(-) diff --git a/plugins/ui5/skills/ui5-best-practices/SKILL.md b/plugins/ui5/skills/ui5-best-practices/SKILL.md index ee9e875..acbd51e 100644 --- a/plugins/ui5/skills/ui5-best-practices/SKILL.md +++ b/plugins/ui5/skills/ui5-best-practices/SKILL.md @@ -318,63 +318,25 @@ export default class MainController extends Controller { ### API Lookup -**ALWAYS** use the `get_api_reference` tool to get information on UI5 controls and APIs. This provides direct access to the official UI5 API Reference for the UI5 version in use. - -``` -Usage: get_api_reference with project path -Returns: Official API documentation for controls, classes, and namespaces -``` +**ALWAYS** use the `get_api_reference` tool to get information on UI5 controls and APIs. Returns official API documentation for controls, classes, and namespaces for the UI5 version in use. ### Code Validation -**ALWAYS** use the `run_ui5_linter` tool to identify issues. It detects deprecated APIs, accessibility issues, and other potential bugs. - -``` -Usage: run_ui5_linter with project path -Returns: List of issues with severity levels -``` +**ALWAYS** use the `run_ui5_linter` tool to identify issues (deprecated APIs, accessibility issues, bugs). ### Code Fixes -To apply fixes suggested by the linter: 1. **ALWAYS** confirm with the user first 2. Use the `fix` parameter of the `run_ui5_linter` tool -3. The tool automatically corrects some identified issues -4. Manually fix remaining issues using the context information provided +3. Manually fix remaining issues using the context information provided ### Local Server Behavior -When interacting with the UI5 CLI's development server: - -**CRITICAL**: The server does **NOT** serve a default index file. - -```bash -# ❌ WRONG - Will not work -http://localhost:8080/ - -# ✅ CORRECT - Must reference files by full path -http://localhost:8080/index.html -``` +**CRITICAL**: The UI5 CLI dev server does **NOT** serve a default index file. Use full paths: `http://localhost:8080/index.html` ### Code Quality Checks -After making code changes, **ALWAYS** run the project's linter if available: - -```bash -npm run lint # Standard -npm run eslint # Alternative -eslint . # Direct ESLint call -npm run ui5-lint # UI5 Linter if configured -ui5lint . # UI5 Linter if available as CLI tool -``` - -**Why**: Linters catch common issues before committing: -- Missing imports or type errors -- Formatting inconsistencies -- Deprecated API usage -- Code style violations - -Fix all linting errors before committing. +After making changes, run the project's linter (`npm run lint`, `eslint .`, or `ui5lint .`). Fix all errors before committing. ---