/sapui5-linter
Use this skill when working with the UI5 Linter (@ui5/linter) for static code analysis of SAPUI5/OpenUI5 applications and libraries. Covers setup, configuring linting rules, running the linter to detect deprecated APIs, global variable usage, CSP violations, and manifest issues.
$ npx -y skills add secondsky/sap-skills --skill sapui5-linter --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/sapui5-linter
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use this skill when working with the UI5 Linter (@ui5/linter) for static code analysis of SAPUI5/OpenUI5 applications and libraries. Covers setup, configuring linting rules, running the linter to detect deprecated APIs, global variable usage, CSP violations, and manifest issues.
SKILL.md
sapui5-linter.SKILL.mdname: sapui5-linter
description: "Use this skill when working with the UI5 Linter (@ui5/linter) for static code analysis of SAPUI5/OpenUI5 applications and libraries. Covers setup, configuring linting rules, running the linter to detect deprecated APIs, global variable usage, CSP violations, and manifest issues. Supports autofix for deprecated API usage, global references, event handlers, and manifest properties. Includes CI/CD integration, pre-commit hooks, and UI5 2.x migration preparation."
license: GPL-3.0
metadata:
maintainer: "Eduard Jiglau"
maintainer_email: "hello@sap-ai-skills.com"
website: "https://sap-ai-skills.com"
version: "2.4.1"
last_verified: "2026-06-14"
ui5_linter_version: "1.22.0"
source: "https://github.com/UI5/linter"
documentation: "https://github.com/UI5/linter/blob/main/README.md"
keywords: [SAPUI5, OpenUI5, UI5 Linter, "@ui5/linter", static analysis, deprecated APIs, global variables, CSP, manifest.json, ui5.yaml, ESLint, pre-commit hooks, GitHub Actions, CI/CD, Node.js, TypeScript, XML, JSON, HTML, YAML, OData v2/v4, async, event handlers, jQuery, autofix, performance optimization, 19 linting rules, no-deprecated-api, no-globals, no-async-component-flags, manifest-v2, UI5 2.x migration]
SAPUI5 Linter Skill
Related Skills
- **sap-dependency-security**: Use when hardening dependency management for UI5 linting toolchain upgrades and plugin/toolchain lockfile controls
When to Use This Skill
Use this skill when adding or running `@ui5/linter`, configuring UI5 lint rules, preparing UI5 2.x migrations, autofixing deprecated APIs/globals/manifest issues, producing CI reports, or troubleshooting `ui5lint` parsing, performance, or configuration behavior.
Table of Contents
- [Overview](#overview)
- [Quick Start](#quick-start)
- [Configuration](#configuration)
- [CLI Usage](#cli-usage)
- [Bundled Resources](#bundled-resources)
Overview
The **UI5 Linter** (@ui5/linter) is a static code analysis tool designed specifically for SAPUI5 and OpenUI5 projects. It helps developers identify compatibility issues, deprecated APIs, security concerns, and best practice violations before upgrading to UI5 2.x.
**Key Capabilities**:
- ✅ Detects 19 categories of issues including deprecated APIs, global usage, and CSP violations
- ✅ Automatic fixes for common issues (no-globals, no-deprecated-api, manifest properties)
- ✅ Supports JavaScript, TypeScript, XML, JSON, HTML, and YAML files
- ✅ Configurable ignore patterns and file targeting
- ✅ Multiple output formats: stylish, JSON, Markdown, HTML
- ✅ Fast performance: 1-40s depending on project size
**Current Version**: 1.22.0 (verified via npm on 2026-06-14) **Official Repository**: [https://github.com/UI5/linter](https://github.com/UI5/linter)
---
Quick Start
Prerequisites
**Node.js**: v20.11.x, v22.0.0, or higher **npm**: v8.0.0 or higher
Verify prerequisites:
node --version # Should be v20.11+ or v22+
npm --version # Should be v8+
Installation
**Global Installation** (recommended for CLI usage):
npm install --global @ui5/linter
**Local Installation** (recommended for project integration):
npm install --save-dev @ui5/linter
Verify installation:
ui5lint --version # Should output: 1.22.0 or higher
Basic Usage
Run linter from project root:
# Lint entire project
ui5lint
# Lint specific files or directories
ui5lint "webapp/**/*.js"
ui5lint "webapp/controller/" "webapp/view/"
# Show detailed information about findings
ui5lint --details
Common Workflows
**Development Workflow**:
# 1. Check for issues with details
ui5lint --details
# 2. Preview automatic fixes
UI5LINT_FIX_DRY_RUN=true ui5lint --fix
# 3. Apply fixes
ui5lint --fix
# 4. Review changes
git diff
# 5. Verify fixes worked
ui5lint --details
Configuration
Configuration File Setup
Create `ui5lint.config.{js|mjs|cjs}`:
module.exports = {
rules: {
// Recommended rules
"no-deprecated-api": "error",
"no-globals": "error",
"no-ambiguous-event-handler": "error",
"no-outdated-manifest-version": "error"
},
exclude: [
"dist/**",
"node_modules/**",
"test/**/*.{spec,js,ts}"
]
};Common Configuration Patterns
// Strict for production, relaxed for development
const isProduction = process.env.NODE_ENV === 'production';
module.exports = {
rules: {
"no-deprecated-api": isProduction ? "error" : "warn",
"no-globals": isProduction ? "error" : "warn"
},
exclude: [
"legacy/**/*",
"**/*.min.js"
]
};CLI Usage
Essential Commands
# Basic linting
ui5lint
# With detailed output
ui5lint --details
# Fix auto-fixable issues
ui5lint --fix
# JSON output for CI/CD
ui5lint --format json
# HTML report for documentation
ui5lint --format html --details
# Performance monitoring
ui5lint --perf
Linting Rules Overview
Async & Modern Patterns
- **async-component-flags**: Validates async component configuration
- **prefer-test-starter**: Validates Test Starter implementation
Security
- **csp-unsafe-inline-script**: Detects unsafe inline scripts
Event Handlers
- **no-ambiguous-event-handler**: Ensures proper event handler notation ✅ Autofix
Deprecation Detection (7 Rules)
- **no-deprecated-api**: Detects deprecated APIs ✅
- **no-deprecated-component**: Finds deprecated component dependencies
- **no-deprecated-control-renderer**: Validates control renderer patterns
- **no-deprecated-library**: Checks deprecated libraries in manifest
Global Usage
- **no-globals**: Identifies global variable usage ✅ Autofix
- **no-implicit-globals**: Detects implicit global access
Error Reporting
- **parsing-error**: Reports syntax/parsing errors
- **autofix-error**: Reports autofix failures
API Usage
- **ui5-class-declaration**: Verifies UI5 class declaration patterns (TypeScript)
- **unsupported-api-usage**: Ensure
Read more
name: sapui5-linter description: "Use this skill when working with the UI5 Linter (@ui5/linter) for static code analysis of SAPUI5/OpenUI5 applications and libraries. Covers setup, configuring linting rules, running the linter to detect deprecated APIs, global variable usage, CSP violations, and manifest issues. Supports autofix for deprecated API usage, global references, event handlers, and manifest properties. Includes CI/CD integration, pre-commit hooks, and UI5 2.x migration preparation." license: GPL-3.0 metadata: maintainer: "Eduard Jiglau" maintainer_email: "hello@sap-ai-skills.com" website: "https://sap-ai-skills.com" version: "2.4.1" last_verified: "2026-06-14" ui5_linter_version: "1.22.0" source: "https://github.com/UI5/linter" documentation: "https://github.com/UI5/linter/blob/main/README.md" keywords: [SAPUI5, OpenUI5, UI5 Linter, "@ui5/linter", static analysis, deprecated APIs, global variables, CSP, manifest.json, ui5.yaml, ESLint, pre-commit hooks, GitHub Actions, CI/CD, Node.js, TypeScript, XML, JSON, HTML, YAML, OData v2/v4, async, event handlers, jQuery, autofix, performance optimization, 19 linting rules, no-deprecated-api, no-globals, no-async-component-flags, manifest-v2, UI5 2.x migration]
SAPUI5 Linter Skill
Related Skills
- **sap-dependency-security**: Use when hardening dependency management for UI5 linting toolchain upgrades and plugin/toolchain lockfile controls
When to Use This Skill
Use this skill when adding or running `@ui5/linter`, configuring UI5 lint rules, preparing UI5 2.x migrations, autofixing deprecated APIs/globals/manifest issues, producing CI reports, or troubleshooting `ui5lint` parsing, performance, or configuration behavior.
Table of Contents
- [Overview](#overview)
- [Quick Start](#quick-start)
- [Configuration](#configuration)
- [CLI Usage](#cli-usage)
- [Bundled Resources](#bundled-resources)
Overview
The **UI5 Linter** (@ui5/linter) is a static code analysis tool designed specifically for SAPUI5 and OpenUI5 projects. It helps developers identify compatibility issues, deprecated APIs, security concerns, and best practice violations before upgrading to UI5 2.x.
**Key Capabilities**:
- ✅ Detects 19 categories of issues including deprecated APIs, global usage, and CSP violations
- ✅ Automatic fixes for common issues (no-globals, no-deprecated-api, manifest properties)
- ✅ Supports JavaScript, TypeScript, XML, JSON, HTML, and YAML files
- ✅ Configurable ignore patterns and file targeting
- ✅ Multiple output formats: stylish, JSON, Markdown, HTML
- ✅ Fast performance: 1-40s depending on project size
**Current Version**: 1.22.0 (verified via npm on 2026-06-14) **Official Repository**: [https://github.com/UI5/linter](https://github.com/UI5/linter)
---
Quick Start
Prerequisites
**Node.js**: v20.11.x, v22.0.0, or higher **npm**: v8.0.0 or higher
Verify prerequisites:
node --version # Should be v20.11+ or v22+ npm --version # Should be v8+
Installation
**Global Installation** (recommended for CLI usage):
npm install --global @ui5/linter
**Local Installation** (recommended for project integration):
npm install --save-dev @ui5/linter
Verify installation:
ui5lint --version # Should output: 1.22.0 or higher
Basic Usage
Run linter from project root:
# Lint entire project ui5lint # Lint specific files or directories ui5lint "webapp/**/*.js" ui5lint "webapp/controller/" "webapp/view/" # Show detailed information about findings ui5lint --details
Common Workflows
**Development Workflow**:
# 1. Check for issues with details ui5lint --details # 2. Preview automatic fixes UI5LINT_FIX_DRY_RUN=true ui5lint --fix # 3. Apply fixes ui5lint --fix # 4. Review changes git diff # 5. Verify fixes worked ui5lint --details
Configuration
Configuration File Setup
Create `ui5lint.config.{js|mjs|cjs}`:
module.exports = {
rules: {
// Recommended rules
"no-deprecated-api": "error",
"no-globals": "error",
"no-ambiguous-event-handler": "error",
"no-outdated-manifest-version": "error"
},
exclude: [
"dist/**",
"node_modules/**",
"test/**/*.{spec,js,ts}"
]
};Common Configuration Patterns
// Strict for production, relaxed for development
const isProduction = process.env.NODE_ENV === 'production';
module.exports = {
rules: {
"no-deprecated-api": isProduction ? "error" : "warn",
"no-globals": isProduction ? "error" : "warn"
},
exclude: [
"legacy/**/*",
"**/*.min.js"
]
};CLI Usage
Essential Commands
# Basic linting ui5lint # With detailed output ui5lint --details # Fix auto-fixable issues ui5lint --fix # JSON output for CI/CD ui5lint --format json # HTML report for documentation ui5lint --format html --details # Performance monitoring ui5lint --perf
Linting Rules Overview
Async & Modern Patterns
- **async-component-flags**: Validates async component configuration
- **prefer-test-starter**: Validates Test Starter implementation
Security
- **csp-unsafe-inline-script**: Detects unsafe inline scripts
Event Handlers
- **no-ambiguous-event-handler**: Ensures proper event handler notation ✅ Autofix
Deprecation Detection (7 Rules)
- **no-deprecated-api**: Detects deprecated APIs ✅
- **no-deprecated-component**: Finds deprecated component dependencies
- **no-deprecated-control-renderer**: Validates control renderer patterns
- **no-deprecated-library**: Checks deprecated libraries in manifest
Global Usage
- **no-globals**: Identifies global variable usage ✅ Autofix
- **no-implicit-globals**: Detects implicit global access
Error Reporting
- **parsing-error**: Reports syntax/parsing errors
- **autofix-error**: Reports autofix failures
API Usage
- **ui5-class-declaration**: Verifies UI5 class declaration patterns (TypeScript)
- **unsupported-api-usage**: Ensure
40 SAP development plugins with evidence-tracked verification SAP development plugins for AI coding assistants, with public-source or package-registry verification tracked where available.
Repo: secondsky/sap-skills
Other skills on sap-skills.
- /sap-abap-cds
Comprehensive SAP ABAP CDS (Core Data Services) reference for data modeling, view development, and semantic enrichment. Use when creating CDS views or view entities, defining data models with annotations, working with associations and cardinality, implementing input parameters,
Open skill - /sap-abap
Comprehensive ABAP development skill for SAP systems. Use when writing ABAP code, working with internal tables, structures, ABAP SQL, object-oriented programming, RAP (RESTful Application Programming Model), CDS views, EML statements, ABAP Cloud development, string processing,
Open skill - /sap-ai-core
Guides development with SAP AI Core and SAP AI Launchpad for enterprise AI/ML workloads on SAP BTP. Use when: deploying generative AI models, building orchestration workflows with templating/filtering/grounding, implementing RAG with vector databases, managing ML training
Open skill - /sap-api-policy
Evidence-based assessment of whether an SAP API/interface usage scenario aligns with the SAP API Policy (v.4.2026a). Use whenever someone asks whether a way of calling SAP is allowed/compliant — e.g. Published API vs internal/private/"confidential" API status, "Documented Use",
Open skill - /sap-api-style
This skill provides comprehensive guidance for documenting SAP APIs following the SAP API Style Guide standards. It should be used when creating or reviewing API documentation for REST, OData, Java, JavaScript, .NET, or C/C++ APIs. The skill covers naming conventions,
Open skill - /sap-browser-automation
Use when an agent must inspect or operate an authenticated SAP web UI through an in-app Browser, Microsoft Edge CDP, or an existing Playwright client, especially when SAP SSO reuse, isolated Edge profiles, deterministic target selection, screenshots, or browser bootstrap
Open skill

