abap-cds-model-check
Optional intended usage such as analytical, transactional, reuse, value-help, or extraction
Minimum severity level to report (critical, high, medium, low). Default is medium.
$ npx -y skills add secondsky/sap-skills --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
/ui5-lintContext preview
What this command does when you run it.
Minimum severity level to report (critical, high, medium, low). Default is medium.
name: ui5-lint
description: Run UI5 linter on project with optional auto-fix and code quality analysis
allowed-tools:
- Read
- Grep
- Glob
- Bash
- mcp__plugin_sapui5_ui5-tooling__run_ui5_linter
argument-hint: "[--fix] [file] [severity]"
arguments:
- name: fix
description: Apply automatic fixes (true/false). Default is false - shows issues only.
required: false
- name: file
description: Optional specific file or pattern to lint (e.g., webapp/controller/Main.controller.js)
required: false
- name: severity
description: Minimum severity level to report (critical, high, medium, low). Default is medium.
required: falseReturn lint findings, severity, file references, safe fix suggestions, and tool availability. Default to analysis-only unless `--fix` is explicitly requested and exact target files are confirmed.
{{#if fix}} Running linter with **auto-fix enabled**... {{else}} Running linter (analysis only, no fixes applied)... {{/if}}
{{#if severity}} Reporting issues of severity: **{{severity}}** and above {{/if}}
Use the **ui5-code-quality-advisor agent** to analyze the code when available.
The agent will:
1. **Scan codebase** for quality issues: {{#if file}}- Target: `{{file}}`{{else}}- All files: controllers, views, models, components{{/if}} 2. **Run linter**:
3. **Categorize issues**:
4. **Generate report**:
5. **{{#if fix}}Apply fixes**:
{{else}}**Provide recommendations**:
{{/if}}
---
**Parameters**: {{#if fix}}- **Auto-fix**: ENABLED ⚠️ (code will be modified){{else}}- **Auto-fix**: DISABLED (analysis only){{/if}} {{#if file}}- **Target**: `{{file}}`{{else}}- **Target**: Entire project{{/if}} {{#if severity}}- **Min Severity**: {{severity}}{{else}}- **Min Severity**: medium (default){{/if}}
---
**Route to ui5-code-quality-advisor when available.**
Expected output: a detailed quality report with findings, locations, severity, and fix recommendations.
---
If the agent is unavailable, run these manual commands:
# Lint entire project
npx @ui5/mcp-server@0.2.17 run_ui5_linter --config=ui5-linter.config.js
# Lint specific file
npx @ui5/mcp-server@0.2.17 run_ui5_linter --files={{file}}
# Lint with auto-fix
npx @ui5/mcp-server@0.2.17 run_ui5_linter --fix# Install linter
npm install --save-dev @ui5/linter
# Lint project
ui5 lint
# Lint with details
ui5 lint --details
# Lint specific file
ui5 lint {{file}}# jQuery.sap.* (deprecated since 1.58) grep -r "jQuery\.sap\." webapp/ # sap.ui.commons.* (deprecated) grep -r "sap\.ui\.commons\." webapp/ # Synchronous loading grep -r "sap\.ui\.requireSync" webapp/
# Direct DOM manipulation (XSS risk)
grep -r "\.innerHTML" webapp/
grep -r "\.html\(" webapp/
# eval() usage (CSP violation)
grep -r "eval\(" webapp/
grep -r "new Function\(" webapp/
# Inline scripts
grep -r "<script>" webapp/view/*.xml# Non-virtualized lists
grep -r "<m:List.*items=\"{/.*}\"" webapp/view/*.xml
# Missing $select (inefficient queries)
grep -r "path: '/'" webapp/view/*.xml | grep -v "$select"# Missing ARIA labels grep -r "<Button" webapp/view/*.xml | grep -v "ariaLabel" grep -r "<Image" webapp/view/*.xml | grep -v "alt="
For deeper JavaScript/TypeScript linting:
**Install ESLint**:
npm install --save-dev eslint @sap/eslint-plugin-ui5-jsdocs
**.eslintrc.json**:
{
"env": {
"browser": true,
"es2022": true
},
"extends": [
"eslint:recommended"
],
"plugins": ["@sap/ui5-jsdocs"],
"parserOptions": {
"ecmaVersion": 2022,
"sourceType": "module"
},
"rules": {
"no-console": "warn",
"no-debugger": "error",
"no-eval": "error",
"@sap/ui5-jsdocs/no-jsdoc": "warn"
},
"globals": {
"sap": "readonly",
"jQuery": "readonly"
}
}**Run ESLint**:
npx eslint webapp/
---
The agent will provide a report similar to this:
# Code Quality Report Files Reviewed: 45 Total Issues: 23 | Severity | Count | |----------|-------| | CRITICAL | 2 | | HIGH | 5 | | MEDIUM | 12 | | LOW | 4 | ## CRITICAL Issues ### 1. XSS Vulnerability File: webapp/controller/Main.controller.js:67 Issue: Direct DOM manipulation bypasses XSS protection Fix: Use data binding instead of innerHTML ### 2. CSP Violation File: webapp/view/Main.view.xml:12 Issue: Inline script violates Content Security Policy Fix: Move script to controller or Component.js ## HIGH Issues ### 3. Deprecated API File: webapp/controller/ProductList.controller.js:23 Issue: jQuery.sap.require deprecated since UI5
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
Optional intended usage such as analytical, transactional, reuse, value-help, or extraction
Optional target ABAP platform or SAP BTP ABAP Environment release
Optional runtime or scenario name, such as orchestration, serving, training, or batch
Optional scenario lens such as extension, integration, analytics, or AI