Agent guidance
ABAP has the most varied set of any door, because the same language spans very different targets and the entries divide by how much reach each brings with it. claude-abap-skillsclaude-abap-skillsTwo Claude Code plugins of always-on Clean ABAP rules, templates and slash commands — deliberately not an MCP server, and explicit about routing each capability to the server that should answer it.independent, abap carries Clean ABAPClean ABAPSAP's open, versioned style guide for ABAP: the answer to how a piece of ABAP should be written, an agreement a team adopts rather than anything to install.sap official, abap into the session and ships no connector at all, routing each operation to the MCP server that should answer it; claude-abap-devclaude-abap-devFive ABAP workflows for Claude Code — ATC fixing, a clean-core audit, a Clean ABAP review, ABAP Unit and debugging — that ship no system access of their own and run on whichever community MCP servers are already configured.independent, abap and ARC-1 SkillsARC-1 SkillsTwenty-two SKILL.md files shipped in arc-1's own skills/ directory for RAP scaffolding, unit test generation, clean-core audits and migration paths, loaded on demand by description and namespaced /arc-1:<skill> when installed through the Claude Code plugin.independent, abap are procedures for one task at a time that run on servers you connect yourself; rap-skillsrap-skillsRAP skills delivered branch-per-target, so the playbook you check out only references patterns valid for your deployment — managed on BTP, unmanaged with BAPI wrappers, and S/4HANA Cloud editions planned.independent, abap splits RAP guidance by deployment target across branches; SuperClaude for SAPSuperClaude for SAPA Claude Code plugin that installs and wires its own ABAP MCP server, then puts a two-layer write guard between the agent and any system profile marked QA or production.independent, abap installs its own server and labels every system it may write to; sapcli-claude-pluginsapcli Claude Code PluginTwo agents and two skills for Claude Code that drive sapcli, the long-standing command line to SAP products, to explore and develop classic ABAP objects rather than speaking ADT directly.independent, abap layers agents over an established command line; sap-basis-opssap-basis-opsBasis and technical operations at the OS and database layer — the sysadmin plane every other SAP skill set skips — as runbook skills that emit a source-cited command sequence with its pre- and post-checks.independent, abap covers the OS and database plane everyone else skips; and abap-offstack-aunitabap-offstack-aunitAn agent skill that bootstraps off-stack ABAP Unit tests and an abaplint gate onto an abapGit-serialised repository, with no live SAP system.independent, abap runs the tests with no system at all.
Overview
SAP's part here is two things that are not skill files. SAP Developers MCPSAP Developers MCPThe hosted MCP server of developers.sap.com, over which an agent searches SAP's tutorials, reads missions and queries the site's knowledge graph of tutorials and concepts.sap official, umbrella, the hosted server of developers.sap.com, hands an agent SAP's tutorials, missions and concept graph over MCP, for ABAP and the other stacks alike, and Clean ABAPClean ABAPSAP's open, versioned style guide for ABAP: the answer to how a piece of ABAP should be written, an agreement a team adopts rather than anything to install.sap official, abap is SAP's published ABAP convention, a document with nothing to install.
Not covered: At knowledge. What an agent can then read or change in a system comes from an MCP server or a command line, and a skill says what to write and what to avoid, never what exists. SAP's ABAP conventions are published as Clean ABAPClean ABAPSAP's open, versioned style guide for ABAP: the answer to how a piece of ABAP should be written, an agreement a team adopts rather than anything to install.sap official, abap, a document with nothing to install, and SAP's own skills registry keeps each listed skill in its publisher's repository, so a repository listed there is published by whoever owns it.
SAP Developers MCPSAP Developers MCPThe hosted MCP server of developers.sap.com, over which an agent searches SAP's tutorials, reads missions and queries the site's knowledge graph of tutorials and concepts.sap official, umbrella serves this door from the umbrella and gives an agent SAP's learning content to cite, not rules to follow. SAP's own skills registry indexes other people's repositories and does not host their code, so an ABAP skill listed at SAP's address is not SAP publishing it.
The skills and rules an agent follows, and the set is the most varied of any door because the same language spans very different targets. Rules read into the session beside procedures for one task at a time, RAP guidance forked by deployment target, clean core audits against SAP's released-objects information, the operating system and database plane beneath the stack, and a test harness that runs ABAP Unit with no system at all. Several package SAP's own Clean ABAPClean ABAPSAP's open, versioned style guide for ABAP: the answer to how a piece of ABAP should be written, an agreement a team adopts rather than anything to install.sap official, abap for an agent, and several state which MCP server each kind of operation should be routed to instead of shipping a connector. Three newer shapes sit beside them: abap2UI5 for VS Codeabap2UI5 for VS CodeA VS Code extension for abap2UI5 apps: F9 starts the app class in a preview beside the source, Ctrl+F3 activates the class and reloads it, and the abap2UI5 linter runs in the editor while you type.community org, abap writes the agent files of an abap2UI5 project into an existing one, KlystronKlystronAn MCP server written in ABAP that runs inside the application server behind an ICF service and exposes typed tools for ABAP development, quality, transports, customizing, roles, Basis operations and integration, with a client-side plugin of SAP skills.independent, abap is a plugin of process and domain skills over an MCP server that runs inside the application server, and WerkbankWerkbankA local desktop workspace for AI conversations, attached files and generated HTML Spaces, run by a goose agent and offering a catalog of SAP MCP connectors and ABAP, CAP and UI5 skills.independent, umbrella is a desktop workspace with a catalogue of ABAP, CAP and UI5 skills.
Artifacts
Tasks
Get an agent to write ABAP that follows Clean ABAP
A developer wants the ABAP an agent writes to follow SAP's Clean ABAP conventions without the rules being pasted into the prompt each time, and wants what it wrote read back against them.
About how the conventions reach the agent and in what shape. The conventions themselves are Clean ABAP and belong to clean code; running a linter or ATC over the result mechanically is static analysis. Whether the code a reader gets is actually clean is not something any of these records establishes.
ABAP remote filesystemSAP's coding standards distilled for an agent, shipped as one of seven knowledge packs inside a Visual Studio Code extension and loaded by GitHub Copilot on its own when it applies. The guidance travels with the thing that already reaches the system, so it is not a separate install and nothing has to be wired up for it.
Remaining work: Install the extension and hold a Copilot subscription. The packs are documented as loading in Copilot; the README does not state that another client reads them, and the extension has to stay open as the connection bridge.
claude-abap-skillsThe clean-abap plugin carries rules its README calls universal, written into a CLAUDE.md each skill reads when it is invoked, with commands for a review and a refactor beside them. The repository states it is not an MCP server and ships no connector, so what it contributes to this outcome is the rules and the read, never the check against a system.
Remaining work: Install the plugin in Claude Code. A review it produces is a reasoned read of the code; what ATC or a linter says about the same code comes from somewhere else, and the repository's other plugin scopes itself to the ABAP Cloud development model rather than to classic code.
sapskillsOne of the three skills in the repository, applied when an agent creates, refactors, reviews or explains an ABAP artifact, and the README names SAP's own style guide repository as where it comes from. It installs on its own through the skills command line, so the Clean ABAP rules arrive without the other two skills.
Remaining work: Run the install. The skill states the situations it applies in and the agent decides to read it; the README names no client the skills install into, so which assistant picks them up is the reader's to establish.
claude-abap-devA sequence of tool calls rather than a rule file: abaplint for the mechanical rules beside a reasoned read for what a linter misses, with each rule cited to the Clean ABAP style guide. The skills find their servers by tool name, so the review runs against whichever ABAP MCP server a person already has configured rather than one this ships.
Conditions: At least one of mcp-abap-adt or vibing-steampunk is connected, which is where the source comes from An abaplint MCP server exposing LintAbap and FixAbap, or the public abaplint command line, for the lint step
Remaining work: Connect the servers. Without system access the workflow has no source to read, and without abaplint the mechanical half of the review does not run.
Get RAP patterns that match the target system
A developer building a RAP business object wants the patterns the agent follows to be the ones valid for the system it will be deployed to, rather than advice averaged across BTP ABAP Environment, S/4HANA Cloud and on-premise.
About what the agent is told before it writes, and how the guidance is scoped to one target. Activating the objects, running the ATC check and carrying the change in a transport are reached through an MCP server and belong to agent access to your code. Whether a generated business object works is not something any of these records establishes.
claude-abap-skillsRather than forking by target, the repository scopes a whole plugin: the abap-cloud-rap plugin carries ABAP Cloud and RAP rules read when a skill is invoked, and the targets it states are the BTP ABAP Environment and S/4HANA under the ABAP Cloud development model. The scoping happens once, when the plugin is chosen, rather than per session.
Remaining work: Install the plugin, and know that it is the ABAP Cloud model being followed: a classic codebase is not what these rules are written against. The repository ships no connector, so activation and ATC come from a server you connect.
ARC-1 SkillsTwo of the twenty-two skills answer this outcome from the generation side: one scaffolds a complete RAP OData service stack from a description, with generation aware of the provider contract, and the other implements determinations and validations in a behaviour pool that already exists, reading the class in a structured way and editing it with the version in mind. Neither states a deployment target of its own.
Conditions: [arc-1](artifact:arc-mcp-arc-1) is connected and configured, which its skills README states is required for every skill that touches ABAP
Remaining work: Connect the server, since every skill that touches ABAP needs it, and check the generated stack against the target: the provider contract is accounted for in the generation, and which contract applies is a fact about the system.
rap-skillsThe distribution is the contribution. Its README states that the syntax, the available APIs, the BDEF patterns and the tooling constraints differ between BTP Steampunk, S/4HANA Cloud and on-premise, and the repository answers that by putting each target on its own branch, so the checked-out playbook only references patterns valid for that target. Five skills sit on each branch, from scaffolding a managed business object to diagnosing activation errors and runtime dumps.
Conditions: The branch matching the deployment target is the one checked out, since the guidance is correct for that target and not for the others Only the two BTP ABAP Environment branches are available; the S/4HANA Cloud public, private and on-premise branches are marked planned A VSP MCP server is configured, which the README names as the bridge between the agent and the SAP system
Remaining work: Check out the branch that matches the target, which is the step the whole idea rests on, and connect a server for anything that touches the system. Two of the five branches are available today: BTP managed and BTP unmanaged with BAPI wrappers.
abap-skillsThe repository ships a rap skill beside its sixteen others, and its abap-cloud skill is where the repository states which development model it answers against. What the rap skill itself says about deployment targets was not read in this pass, so whether it scopes its patterns is not established.
Remaining work: Read skills/rap/SKILL.md and record whether it states a target. Until then the entry is listed here as unassessed for this outcome rather than as an option that does or does not scope.
Keep an agent's ABAP inside clean core
A developer wants the agent to stay inside what the system allows — released APIs, and knowing which clean core level an object sits at — whether it is writing new code for a cloud system or auditing custom code that already exists in a classic one.
About the rules and the audit procedure an agent is handed. Which objects SAP has actually released is SAP's information and is read at the time of the audit, usually from a documentation server; running the ATC check itself is static analysis. Whether an extension would pass an SAP review is not something any of these records establishes.
abap-skillsThe one place in the corpus that writes SAP's clean core level concept down in full: levels A to D, and which authorisation object decides whether a developer may create Standard ABAP objects at all rather than only ABAP for Cloud Development. It is also the one place the repository states which development model its seventeen skills answer against.
Remaining work: Install the skill. It states what the levels mean; which level a given object sits at is read from SAP's released-objects information, which this does not carry.
claude-abap-skillsThe abap-cloud-rap plugin carries ABAP Cloud and RAP rules read when a skill is invoked, among them the released-API surface and the allowed @AbapCatalog annotations, and ships a command that audits objects for clean core compliance.
Remaining work: Install the plugin. The rules apply with nothing connected, on source a person pastes in; the audit command needs a server to read the objects it is auditing, and the repository ships no connector of its own.
sap-ai-dev-toolkitA skill installed beside the server the package generates, covering clean core, released extensibility and side-by-side extension design with a risk classification. It answers the design question — whether the extension belongs in the system at all — rather than auditing objects one at a time.
Remaining work: Run the installer and pick the assistants the skills install into. The skill states the design rules; the server installed beside it is what reads the system, and transport release is deliberately left outside the proxied surface.
ARC-1 SkillsOne of the twenty-two skills shipped in arc-1's own skills directory: it takes a package of custom code and sorts every Z or Y object into the clean core levels, using a documentation server for the classification and ATC for the findings. The unit of work is a package rather than an object, which is the shape a cloudification survey takes.
Conditions: [arc-1](artifact:arc-mcp-arc-1) is connected and configured, which its skills README states is required for every skill that touches ABAP [mcp-sap-docs](artifact:marianfoo-mcp-sap-docs) is connected, which the audit uses for the level classification
Remaining work: Connect the servers and work through the buckets. The skill produces the classification; deciding what to do with each object, and the transport that carries the change, stays with the developer.
claude-abap-devThe clean-core-check workflow reads existing code and reports which SAP objects it uses, the clean core level of each for the system type, and SAP's named successors. The released-objects list it compares against comes from a documentation server rather than from the skill, and the repository's guardrail is that a finding it cannot read is reported as unknown rather than as fine.
Conditions: [mcp-sap-docs](artifact:marianfoo-mcp-sap-docs) is connected, since SAP's released-objects list comes from it At least one of mcp-abap-adt or vibing-steampunk is connected for access to the code being audited
Remaining work: Connect the two servers, and read the report: the audit names the objects and their levels, and replacing a classic call with its released successor is the developer's work.
Work on ABAP with an agent and no system connection
A developer wants to review, write or test ABAP with an agent on a machine that has no connection to an SAP system — a serialised repository checked out, or source pasted into the session, and nothing else.
About what an agent has to work with when nothing is connected: the packaged knowledge it is handed, and the tooling that does on the local machine what a system would otherwise do. What a connected agent can read, change, activate or run in a live system is agent access to your code, and an entry that offers both is assessed here for its off-system half only. This record does not say that working without a system is equivalent to working with one, and the contributions state where the difference falls.
abap-offstack-aunitThe skill sets up a harness and then gets out of the way: the abaplint transpiler and open-abap-core turn serialised ABAP into JavaScript and the repository's own ABAP Unit tests run on Node, locally and in a CI job the scaffold installs. Its README states that nothing requires a provisioned SAP system, which is the plainest answer to this outcome in the corpus.
Remaining work: The ABAP has to be abapGit-serialised into a Git repository, Node 22 or later available locally and in CI, and the CI has to be GitHub Actions. The agent also makes three judgement calls the README names, and puts them to the developer where it cannot infer them.
sap-basis-opsThe guidance is complete without any reach of its own: each skill produces the command sequence for a given system, database and operating system, cited to its source and with the checks to run before and after, and running it is a separate decision that goes through an SSH or shell server the person supplies. The skills bundle no credentials and the repository states they never auto-run a destructive command.
Remaining work: Read the sequence and run it yourself, or connect the shell server and approve each step. The commands it writes stop systems and delete data, which is why execution is deliberately somebody else's decision.
claude-abap-skillsThe repository ships no connector at all and states so plainly, and it names what happens when no server is connected: all five skills still work on source a person pastes in. So the rules and the review survive the loss of reach, and what does not survive is anything that has to read or change the system.
Conditions: The source is pasted into the session, since there is no connector and no server is connected
Remaining work: Paste the source. Nothing here can read what exists, run ATC or activate anything, and the repository's own routing table assumes a server for exactly those operations.
ARC-1 SkillsIts own prerequisites rule this outcome out: the server, connected and configured with SAP system access, is listed as required for every skill that touches ABAP. The skill files alone have nothing to act on, and the entry's own warning says the same.
Remaining work: Nothing short of connecting the server. This is recorded as a stated no rather than a gap: the README answers the question directly.
sapskillsThree skills that read as instruction files rather than procedures over tools, so nothing in them obviously needs a system. The README states no system prerequisite either way, and one of the three is about working with ADT in Visual Studio Code against a Private Cloud Edition, which does assume a reachable system. Whether the set as a whole is useful with nothing connected is therefore not established.
Remaining work: Read the three SKILL.md files and record which of them assume a reachable system. Absence of a stated prerequisite is not a statement that none is needed.
Content
Seen working
Details
Coverage
Designs that place it
Comparison properties
These are the questions used to compare what the artifacts do. Values come from their documentation and may apply to a particular ecosystem or runtime. Each recorded value in the comparison opens its statement and sources.
For your agent
- Ref
capability:agent-guidance- JSON
- /capabilities/agent-guidance.json
- MCP
- Connecting an agent