Abap Skills — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Abap Skills (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<div align="center">
<img width="112" height="112" alt="image" src="https://github.com/user-attachments/assets/b51bf775-abfe-44ab-afb8-def90211b3c3" />
Agent Skills for ABAP
Clean ABAP · CDS Views · BTP Diagram Generator
</div>
A collection of AI agent skills for SAP ABAP development — covering RAP, CDS, OData, ABAP Cloud, testing, authorization, eventing, migration, and more.
These skills are designed to be small, easy to adapt, and composable. They work with any model. Hack around with them. Make them your own.
Two ways in, two philosophies. [skills.sh](https://skills.sh/likweitan/abap-skills) copies editable skill files into your project, so you can hack on them and make them your own. Manual installation gives you full control over placement and scope.
<details> <summary><strong>Skills CLI (Recommended)</strong></summary>
Install with the Skills CLI. The CLI discovers the available skills and lets you choose which skills and supported AI agents to configure:
npx skills add likweitan/abap-skillsInstall a single skill directly:
npx skills add likweitan/abap-skills --skill abapAdd --global to make the selected skills available across projects:
npx skills add likweitan/abap-skills --globalThe CLI supports GitHub Copilot, Claude Code, Cursor, Codex, OpenCode, and other compatible agents. Run npx skills add likweitan/abap-skills --list to preview all available skills without installing them.
</details>
<details> <summary><strong>Claude Code</strong></summary>
Clone the repository and copy the skills to your Claude Code skills directory:
git clone https://github.com/likweitan/abap-skills.git
cp -r abap-skills/skills/* ~/.claude/skills/Or install a single skill:
# Example: Install only the abap skill
cp -r abap-skills/skills/abap ~/.claude/skills/After installation, restart Claude Code to load the new skills.
</details>
<details> <summary><strong>OpenCode</strong></summary>
Tell OpenCode:
Fetch and follow instructions from https://raw.githubusercontent.com/likweitan/abap-skills/refs/heads/main/.opencode/INSTALL.mdDetailed docs: docs/README.opencode.md
</details>
<details> <summary><strong>GitHub Copilot in VS Code</strong></summary>
Install GitHub Copilot in VS Code, clone this repository locally, and create a reusable prompt file that points Copilot Chat to the ABAP skill references.
Detailed docs: docs/README.github-copilot-vscode.md
</details>
Generate SAP Fiori Launchpad (FLP) URLs by looking up app information and constructing the correct parameters.
Features:
AppList.jsonsap-client and sap-languageExample Prompts:
"Generate URL for Create Maintenance Request app with base URL https://myserver.com:44300 and client 100"
"Find apps related to 'Workflow'"
URL Format:
{BASE_URL}/sap/bc/ui2/flp?sap-client={CLIENT}&sap-language={LANGUAGE}#{SEMANTIC_OBJECT}-{ACTION}Quick reference for finding released ABAP classes available in ABAP Cloud Development (SAP BTP ABAP Environment).
Features:
Example Prompts:
"What is the released class for sending email?"
"Give me the class for getting time and date in UTC format"
"How do I generate a UUID in ABAP Cloud?"
"Show me classes for JSON processing"
Common Categories:
IF_OO_ADT_CLASSRUN, CL_DEMO_CLASSRUNCL_BCS_MAIL_MESSAGECL_SYSTEM_UUID, XCO_CP_UUIDCL_ABAP_CONTEXT_INFO, XCO_CP_TIME, CL_ABAP_UTCLONGXCO_CP_JSON, /UI2/CL_JSON, CL_SXML_*CL_WEB_HTTP_CLIENT_MANAGER, CL_HTTP_DESTINATION_PROVIDERCL_ABAP_BEHV_AUX, CL_ABAP_BEHAVIOR_HANDLERConfigure ATC Cloud Readiness and Clean Core checks using the SAP Cloudification Repository for Released APIs.
Features:
Example Prompts:
"Configure ATC cloud readiness check for SAP Cloud ERP"
"Which JSON file do I use for Cloud ERP Private 2025 FPS00?"
"Set up clean core ATC check variant"
"Show me the URL for the cloudification repository"
Check and improve ABAP code quality using abaplint and Clean ABAP principles.
Features:
Example Prompts:
"Run abaplint on my ABAP project"
"Configure abaplint for my on-premise system"
"Check this ABAP code for clean code compliance"
"Review my ABAP method for best practices"
Check Categories:
Review ABAP code for compliance with Clean ABAP principles, based on the Clean ABAP style guide adapted from Robert C. Martin's Clean Code.
Features:
Example Prompts:
"Check this ABAP code for Clean ABAP compliance"
"Review my ABAP for clean code best practices"
"Is this ABAP method following Clean ABAP guidelines?"
Build transactional applications using RAP in ABAP Cloud — behavior definitions (BDL), EML statements, managed/unmanaged BOs, draft handling, actions, validations, determinations, side effects, and business events.
Features:
with draft and collaborative draft support%tky, %cid, %control, etc.)Example Prompts:
"Create a managed RAP business object with draft handling"
"Write EML to execute an action on a RAP BO"
"Add a validation and determination to my behavior definition"
Build semantic data models using ABAP CDS view entities — data modeling, annotations, associations, compositions, access controls, expressions, input parameters, and metadata extensions.
Features:
Example Prompts:
"Create a CDS root view entity with a composition to a child entity"
"Add UI annotations and a metadata extension for a Fiori list report"
"Define a CDS access control with PFCG authorization checks"
Write effective ABAP Unit tests — test class setup, assertions, test doubles, mocking frameworks, and specialized test environments for CDS views, SQL-dependent code, and RAP business objects.
Features:
CL_ABAP_UNIT_ASSERT assertion method referencecl_cds_test_environment) for testing CDS views with stubbed datacl_osql_test_environment) for SQL-dependent codeExample Prompts:
"Write a unit test class with a mock dependency for my ABAP class"
"Test a CDS view entity using the CDS test environment"
"Create RAP BO test doubles for testing EML operations"
Develop with the ABAP Cloud programming model — clean core Levels A/B/C/D, ABAP for Cloud Development restrictions, wrapper patterns for unreleased APIs, released API discovery, and clean core principles.
Features:
Example Prompts:
"What is the released API replacement for AUTHORITY-CHECK in ABAP Cloud?"
"Create a wrapper class for an unreleased function module"
"Explain the clean core levels and when each applies"
Manage ABAP development objects in Git repositories using abapGit — repository setup, cloning, branching strategies, .abapgit.xml configuration, transport-vs-git workflows, and CI/CD integration with abaplint.
Features:
.abapgit.xml configuration reference (folder logic, ignore patterns, requirements)Example Prompts:
"Set up abapGit and clone a repository into my SAP system"
"What branching strategy should I use for ABAP development with abapGit?"
"Configure abaplint CI for my ABAP Git repository"
Create and consume OData services in ABAP — RAP-based (V4/V2) and SEGW-based (V2) approaches, service definitions and bindings, OData annotations for Fiori, external OData consumption, and troubleshooting.
Features:
Example Prompts:
"Expose my RAP business object as an OData V4 service"
"Consume an external OData service from ABAP Cloud"
"What's the difference between OData V4 and V2 service bindings?"
Write modern ABAP SQL and ABAP Managed Database Procedures — inline declarations, window functions, CTEs, aggregate expressions, set operations, PRIVILEGED ACCESS, and AMDP table functions.
Features:
WITH clauseExample Prompts:
"Write an ABAP SQL query using window functions to rank results"
"Create an AMDP table function for a CDS view"
"How do I use a Common Table Expression (CTE) in ABAP SQL?"
Extend SAP standard functionality using BAdIs and the enhancement framework — new and classic BAdI frameworks, filter-based BAdIs, fallback classes, enhancement spots, and key user extensibility.
Features:
Example Prompts:
"Create a custom BAdI with filter-based implementations"
"How do I find and implement an existing SAP BAdI?"
"What's the difference between new and classic BAdI frameworks?"
Set up and develop in the SAP BTP ABAP Environment (Steampunk) — service instance creation, ADT connectivity, communication arrangements, software components, IAM setup, and project scaffolding.
Features:
Example Prompts:
"Set up a new BTP ABAP Environment instance and connect ADT"
"Configure a communication arrangement for outbound HTTP calls"
"Create the package structure for my first RAP project on BTP"
Implement authorization checks and identity/access management — authorization objects, CDS access controls (DCL), IAM apps, business catalogs, business roles, PFCG roles, and RAP instance/global authorization.
Features:
CL_ABAP_AUTHORIZATION and on-premise AUTHORITY-CHECKpfcg_auth, inheritance, and user-based restrictionsExample Prompts:
"Implement instance authorization in my RAP business object"
"Create a CDS access control with PFCG authorization checks"
"Set up IAM apps and business catalogs for my OData service on BTP"
Implement event-driven patterns using RAP business events and SAP Event Mesh — event definitions in BDEFs, raising events from handler/saver methods, event bindings, and event consumption patterns.
Features:
RAISE ENTITY EVENTExample Prompts:
"Define and raise a business event in my RAP behavior definition"
"How do I bind a RAP event to SAP Event Mesh for cross-system delivery?"
"Create an event consumer that reacts to travel creation events"
Systematically migrate classic ABAP custom code toward clean core Level A — ATC Cloud Readiness checks, unreleased API replacements, wrapper class generation, and step-by-step migration workflows.
Features:
Example Prompts:
"Run a cloud readiness assessment on my ABAP package and suggest replacements"
"What's the released API replacement for GUID_CREATE and NUMBER_GET_NEXT?"
"Create a wrapper class to make READ_TEXT available in ABAP Cloud"
Generate SAP BTP solution architecture diagrams as native draw.io (.drawio) files following the official SAP BTP Solution Diagram guidelines (Fiori Horizon design system) and open them via a configured draw.io MCP server.
Features:
btp_builder package with fluent API — a typical L1 diagram is ~20 lines of codeExample Prompts:
"Draw a BTP architecture for a Task Center scenario with Cloud Identity Services"
"Generate an L2 BTP solution diagram showing CAP + HANA Cloud + Build Work Zone + S/4HANA integration"
"Create a draw.io diagram of our SAP BTP integration landscape using Integration Suite"
skills/
├── abap/
│ ├── SKILL.md
│ └── references/
│ ├── abaplint.md
│ ├── CleanABAP.md
│ ├── checklist.md
│ └── quick-reference.md
├── abap-cloud/
│ └── SKILL.md
├── abap-cloud-migration/
│ └── SKILL.md
├── abap-sql-amdp/
│ └── SKILL.md
├── abap-unit-testing/
│ └── SKILL.md
├── abapgit/
│ └── SKILL.md
├── atc-cloudification/
│ ├── SKILL.md
│ └── references/
│ └── quick-reference.md
├── authorization-iam/
│ └── SKILL.md
├── badi-enhancement/
│ └── SKILL.md
├── btp-abap-environment/
│ └── SKILL.md
├── cds-view-entities/
│ └── SKILL.md
├── clean-abap/
│ ├── SKILL.md
│ └── references/
│ ├── CleanABAP.md
│ ├── checklist.md
│ └── quick-reference.md
├── odata/
│ └── SKILL.md
├── rap/
│ └── SKILL.md
├── rap-business-events/
│ └── SKILL.md
├── released-abap-classes/
│ ├── SKILL.md
│ └── references/
│ └── Released_ABAP_Classes.md
└── sap-fiori-url-generator/
├── SKILL.md
├── scripts/
│ ├── fiori-url-generator.js
│ ├── fiori-url-generator.py
│ └── test.py
└── references/
└── AppList.jsonnpm install @abaplint/cli -g)AppList.json file for Fiori app lookupsSee CONTRIBUTING.md for guidance on proposing changes, adding or updating skills, validation, and pull request expectations.
Before submitting a skill change, run:
uv run python scripts/validate_skills.pyMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.