Agent skill

Sapui5 Linter

by secondsky in secondsky/sap-skills

A skill your agent uses when working with the UI5 Linter (@ui5/linter) for static code analysis of SAPUI5/OpenUI5 applications and libraries.

GPL-3.0Auto-check passedDevelopment

Install Sapui5 Linter

skills CLI
$ npx skills add secondsky/sap-skills --skill sapui5-linter -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install secondsky/sap-skills sapui5-linter --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/secondsky/sap-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/sapui5-linter/skills/sapui5-linter .claude/skills/sapui5-linter && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
sapui5-linter
GitHub stars
462
Token cost
~2.6k tokens
SKILL.md length
707 words
Files
16 (incl. references)
Skills in repo
41
Repo updated
First seen
Licence
GPL-3.0

At a glance

A skill your agent uses when working with the UI5 Linter (@ui5/linter) for static code analysis of SAPUI5/OpenUI5 applications and libraries.

  • Works in 6 steps: Run Linter Early and Often → Use Configuration File for Persistent… → Fix Issues Incrementally → …
  • Working with the UI5 Linter (@ui5/linter) for static code analysis of SAPUI5/OpenUI5 applications and libraries
  • SKILL.md covers Related Skills, When to Use This Skill, Table of Contents and Overview, plus 6 more sections
  • Runs JavaScript scripts from its folder; calls npm, node and git

What it does

Sapui5 Linter is an agent skill from secondsky/sap-skills. 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.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 18 other files, including reference files (for example `README.md`, `agents/openai.yaml` and `references/advanced-ci-cd.md`).

It sits in Development, covering Linting and formatting. It works with npm. The repository describes itself as: Production-ready plugins for SAP development with AI coding assistants — BTP, CAP, Fiori, ABAP, HANA, Analytics Cloud, Datasphere, and more. The licence is GPL-3.0.

When your agent uses it

  • Working with the UI5 Linter (@ui5/linter) for static code analysis of SAPUI5/OpenUI5 applications and libraries
  • Tasks that involve Linting and formatting

Example prompts

  • “/sapui5-linter”

Requirements

  • Node.js

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Run Linter Early and Often
  2. Use Configuration File for Persistent Settings
  3. Fix Issues Incrementally
  4. Document Suppressed Rules
  5. Integrate with CI/CD
  6. Monitor Performance

What it can do on your machine

Read from SKILL.md and the folder at commit 652a861. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • npm
    • node
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com
    • discord.gg
    • community.sap.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Sapui5 Linter loads about 2.6k tokens when it runs, and up to ~31k if it reads all its reference files. Until then it costs about 119 tokens; SKILL.md has 707 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~119
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~31k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from secondsky/sap-skills at commit 652a861, republished under its GPL-3.0 licence (© secondsky). 707 words, ~2,647 tokens.

Download SKILL.mdSave it as .claude/skills/sapui5-linter/SKILL.md (or your agent's skills folder). This skill also uses 15 other files; get the full folder from GitHub.
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
metadata.maintainer_email
hello@sap-ai-skills.com
metadata.website
https://sap-ai-skills.com
metadata.version
2.4.1
metadata.last_verified
2026-06-14
metadata.ui5_linter_version
1.22.0
metadata.source
https://github.com/UI5/linter
metadata.documentation
https://github.com/UI5/linter/blob/main/README.md
metadata.keywords
SAPUI5, OpenUI5, UI5 Linter, @ui5/linter, static analysis, deprecated APIs, global variables, CSP, manifest.json, ui5.yaml, ESLint, pre-commit hooks, GitHub…

SAPUI5 Linter Skill

  • 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

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


Quick Start

Prerequisites

Node.js: v20.11.x, v22.0.0, or higher npm: v8.0.0 or higher

Verify prerequisites:

bash
node --version  # Should be v20.11+ or v22+
npm --version   # Should be v8+
Installation

Global Installation (recommended for CLI usage):

bash
npm install --global @ui5/linter

Local Installation (recommended for project integration):

bash
npm install --save-dev @ui5/linter

Verify installation:

bash
ui5lint --version  # Should output: 1.22.0 or higher
Basic Usage

Run linter from project root:

bash
# 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:

bash
# 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}:

javascript
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
javascript
// 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
bash
# 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: Ensures proper API usage
Manifest Modernization (3 Rules)
  • no-outdated-manifest-version: Requires Manifest Version 2
  • no-removed-manifest-property: Identifies incompatible properties ✅ Autofix
Complete rules reference**: See references/rules-complete.md

Integration with Development Workflows

package.json Scripts
json
{
  "scripts": {
    "lint": "ui5lint",
    "lint:fix": "ui5lint --fix",
    "lint:details": "ui5lint --details",
    "lint:ci": "ui5lint --quiet --format json > lint-results.json",
    "lint:report": "ui5lint --format html --details > lint-report.html"
  },
  "devDependencies": {
    "@ui5/linter": "^1.22.0"
  }
}

Common Scenarios

Scenario 1: New UI5 Project Setup
  1. Install linter
  2. Create configuration (use template)
  3. Add npm scripts to package.json
  4. Run initial lint
  5. Fix auto-fixable issues
  6. Review remaining issues
Scenario 2: Preparing for UI5 2.x Migration
  1. Run linter to find all issues
  2. Focus on critical issues first
  3. Apply automatic fixes
  4. Review autofix limitations document
  5. Manually fix unsupported APIs
  6. Address Core API issues (#619, #620)
  7. Update manifest to v2
  8. Fix no-outdated-manifest-version, no-removed-manifest-property issues
  9. Verify all issues resolved
Show full SKILL.md (279 more words)Show less

Troubleshooting

Common Issues

Symptom: Linter reports parsing errors Solution: Check for syntax errors in config files

Symptom: Autofix doesn't work Solution: Check autofix limitations in references/autofix-complete.md

Symptom: Performance issues on large codebase Solution: Add ignore patterns, use targeted linting

Known Limitations
  • Cannot convert synchronous to async patterns
  • Limited Core/Configuration API autofix (~50 APIs)
  • jQuery.sap API support limited to basic methods
  • Node.js modules not automatically discovered

Best Practices

1. Run Linter Early and Often
  • Add pre-commit hook for instant feedback
  • See templates/husky-pre-commit.template
2. Use Configuration File for Persistent Settings
  • Environment-specific configurations
  • Project-wide ignore patterns
3. Fix Issues Incrementally
  1. Fix errors first
  2. Then fix warnings
  3. Review and test after each step
4. Document Suppressed Rules
  • Document team-wide suppressions with explanations
  • Use sparingly and with clear justifications
5. Integrate with CI/CD
  • Fail builds on errors, allow warnings
  • Generate reports for stakeholders
6. Monitor Performance
  • Track linting performance over time

Reference Documentation

External Resources
Detailed Documentation
  • Complete Rules Reference: references/rules-complete.md
  • Autofix Capabilities: references/autofix-complete.md
  • Performance Guide: references/performance.md
  • Troubleshooting Guide: references/support-and-community.md
  • Contributing Guide: references/contributing.md
Templates
  • Configuration Template: templates/ui5lint.config.mjs
  • package.json Template: templates/package.json.template
  • Husky Pre-commit: templates/husky-pre-commit.template
Support and Updates
  • Version: 1.22.0 (Current)
  • Release Notes: Available in GitHub releases
  • Roadmap: Documented in GitHub Issues and Discussions
  • Email: security@sap.com
  • Community: Discord #sapui5 channel

Bundled Resources

Reference Documentation
  • references/rules-complete.md - Complete reference for all 19 linting rules
  • references/autofix-complete.md - Detailed autofix capabilities and limitations
  • references/performance.md - Performance optimization guide
  • references/support-and-community.md - Support channels and community resources
  • references/contributing.md - Contributing guidelines
Templates
  • templates/ui5lint.config.mjs - Configuration template
  • templates/package.json.template - Package.json template
  • templates/husky-pre-commit.template - Pre-commit hook template

Last Updated: 2026-06-14 | Version: 2.4.1 Previous Restructure Version: 1.0.1 | Lines Reduced: 376 (from 827) Next Review: 2026-02-25

© secondsky, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 15 other files (references) in plugins/sapui5-linter/skills/sapui5-linter of secondsky/sap-skills.

  • SKILL.md
  • README.md
  • agents/openai.yaml
  • references/advanced-ci-cd.md
  • references/autofix-complete.md
  • references/cli-options.md
  • references/configuration.md
  • references/contributing.md
  • references/performance.md
  • references/rules-complete.md
  • references/support-and-community.md
  • templates/github-actions-lint.yml
  • templates/husky-pre-commit.template
  • templates/package.json.template
  • templates/ui5lint.config.cjs
  • templates/ui5lint.config.mjs

Open the folder on GitHubat commit 652a861

Compare with similar skills

Sapui5 Linter next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Sapui5 Linter compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Sapui5 Linter this skillsecondsky/sap-skills462—~2.6kAutomated safety check: PassGPL-3.0
Install Anti-Slop Oxlint Rulesdmmulroy/anti-slop5.3k1 repos~2.2kAutomated safety check: PassMIT
Setup Pre Commitfossasia/eventyay-interpretation1.6k13 repos~565Automated safety check: PassApache-2.0
Releasehyhmrright/brooks-lint1.5k—~1.2kAutomated safety check: PassMIT
Prepare Rslint npm Releaseweb-infra-dev/rslint460—~1.5kAutomated safety check: PassMIT
Create Saleor Packagesaleor/apps162—~608Automated safety check: PassCustom licence

Similar skills

  • Installs, updates or migrates the vendored anti-slop Oxlint plugin in a repository, keeping local rule changes and the plugin's license and provenance files.

    5.3k GitHub starsUsed in 1 repo~2.2k tokens
    DevelopmentAuto-check passed
  • Setup Pre Commit

    fossasia/eventyay-interpretation

    Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo.

    1.6k GitHub starsUsed in 13 repos~565 tokens
    DevelopmentAuto-check passed
  • Release

    hyhmrright/brooks-lint

    Cut a brooks-lint release: set the version in package.json, propagate it across all four plugin manifests and every version-bearing text file (README badges, docs site metadata), write the CHANGELOG…

    1.5k GitHub stars~1.2k tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Prepare Rslint npm Release

    web-infra-dev/rslint

    Prepare a stable release PR for the unified rslint npm packages by updating package versions and rule/TypeScript release metadata.

    460 GitHub stars~1.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Scaffold a new shared package in the saleor-apps monorepo under ./packages/.

    162 GitHub stars~608 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Dev

    Automattic/wordpress-activitypub

    Development workflows for WordPress ActivityPub plugin including wp-env setup, testing commands, linting, and build processes.

    582 GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from secondsky/sap-skills

All 41 skills in this repo
  • Sap Rpt1

    secondsky/sap-skills

    SAP-RPT-1-OSS local tabular prediction workflows for FI/CO prototype datasets.

    462 GitHub stars~1.8k tokensUpdated 3 days ago
    Auto-check: notes
  • Dependency Upgrade

    secondsky/sap-skills

    Secure dependency upgrades with supply chain protection, cooldowns, and staged rollout.

    462 GitHub stars~4.8k tokensUpdated 3 days ago
    Auto-check: warnings
  • Sap Abap

    secondsky/sap-skills

    Comprehensive ABAP development skill for SAP systems. An agent skill from secondsky/sap-skills.

    462 GitHub stars~3.9k tokensUpdated 3 days ago
    Auto-check passed
  • Sap Dependency Security

    secondsky/sap-skills

    SAP dependency security and MCP executable trust policy with secure upgrades, cooldowns, staged rollout, and supply-chain protection.

    462 GitHub stars~5.9k tokensUpdated 3 days ago
    Auto-check: warnings
  • Sap Abap Cds

    secondsky/sap-skills

    Comprehensive SAP ABAP CDS (Core Data Services) reference for data modeling, view development, and semantic enrichment.

    462 GitHub stars~4.2k tokensUpdated 3 days ago
    Auto-check passed
  • Sap AI Core

    secondsky/sap-skills

    Guides development with SAP AI Core and SAP AI Launchpad for enterprise AI/ML workloads on SAP BTP.

    462 GitHub stars~3.3k tokensUpdated 3 days ago
    Auto-check passed

Works with

Categories

Questions about Sapui5 Linter

What does Sapui5 Linter do?

A skill your agent uses when working with the UI5 Linter (@ui5/linter) for static code analysis of SAPUI5/OpenUI5 applications and libraries. Sapui5 Linter is an agent skill from secondsky/sap-skills. Use this skill when working with the UI5 Linter (@ui5/linter) for static code analysis of SAPUI5/OpenUI5 applications and libraries.

When should I use Sapui5 Linter?

Sapui5 Linter fits situations like: working with the UI5 Linter (@ui5/linter) for static code analysis of SAPUI5/OpenUI5 applications and libraries; tasks that involve Linting and formatting.

How do I install Sapui5 Linter in Claude Code?

Run `npx skills add secondsky/sap-skills --skill sapui5-linter -a claude-code`. Or copy the skill folder (plugins/sapui5-linter/skills/sapui5-linter in secondsky/sap-skills) into .claude/skills/sapui5-linter in your project. Claude Code loads it when a task matches its description.

How do I install Sapui5 Linter in Codex?

Run `npx skills add secondsky/sap-skills --skill sapui5-linter -a codex`. Or copy the skill folder (plugins/sapui5-linter/skills/sapui5-linter in secondsky/sap-skills) into .agents/skills/sapui5-linter in your project. Codex loads it when a task matches its description.

Can I use Sapui5 Linter in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add secondsky/sap-skills --skill sapui5-linter -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sapui5-linter, .gemini/skills/sapui5-linter, .github/skills/sapui5-linter and .opencode/skills/sapui5-linter in your project.

What does Sapui5 Linter need to run?

Going by SKILL.md and its folder, Sapui5 Linter needs JavaScript for the scripts in its folder and the command-line tools its instructions call (npm, node and git). Our summary lists: Node.js.

Does Sapui5 Linter access the network?

SKILL.md names 3 domains. As links in the text: github.com, discord.gg and community.sap.com. This is read from the text; nothing was executed.

Is Sapui5 Linter safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Sapui5 Linter use?

Sapui5 Linter is published under the GPL-3.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Sapui5 Linter use?

About 2.6k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 28k tokens, read only when the agent opens those files.

What are the alternatives to Sapui5 Linter?

Skills that share tags, products or a category with Sapui5 Linter: Install Anti-Slop Oxlint Rules (dmmulroy/anti-slop, 5.3k stars), Setup Pre Commit (fossasia/eventyay-interpretation, 1.6k stars), Release (hyhmrright/brooks-lint, 1.5k stars) and Prepare Rslint npm Release (web-infra-dev/rslint, 460 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Sapui5 Linter?

secondsky (a GitHub user) maintains it in secondsky/sap-skills, which has 462 GitHub stars. The repository holds 41 skills in this directory. The repository was last updated on October 5, 2026.

Source: secondsky/sap-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.