By st-gr
Interact with SAP ABAP systems via ADT — search, read, write, create, test, and execute ABAP objects
A Claude Code plugin and standalone CLI for interacting with SAP ABAP systems via ADT (ABAP Developer Tools).
Search, read, write, create, activate, test, debug, and execute ABAP objects directly from Claude Code or the command line.
npm install -g @st-gr/abap-adt-skill
Install as a Claude Code plugin to give Claude the ability to work with SAP ABAP systems.
abap-adt systems list # browse available SAP systems
abap-adt systems connect SBX 100 # connect and store credentials
abap-adt search "Z*" --type CLAS/OC # search for classes
abap-adt read /sap/bc/adt/oo/classes/zcl_my_class # read source
abap-adt table T000 --rows 10 # query table data
abap-adt sql "SELECT * FROM sflight WHERE carrid = 'LH'"
| Command | Description |
|---|---|
search <query> | Search for ABAP objects by name |
read <objectUrl> | Read source code |
write <objectUrl> | Write source code (lock/unlock cycle) |
create <type> <name> | Create a new ABAP object |
activate <name> <url> | Activate an object |
delete <objectUrl> | Delete an object |
structure <objectUrl> | Get object metadata |
test <objectUrl> | Run ABAP unit tests |
syntax-check <objectUrl> | Validate syntax |
atc <objectUrl> | Run ATC quality checks |
pretty-print | Format ABAP source code |
table <name> | Read database table contents |
sql <query> | Run freestyle SQL query |
exec | Execute arbitrary ABAP code |
classrun <name> | Run IF_OO_ADT_CLASSRUN class |
definition <objectUrl> | Go-to-definition |
classinfo <objectUrl> | List class components |
completion <sourceUrl> | Code completion proposals |
quickfix <objectUrl> | Fix proposals for code issues |
rename <objectUrl> | Rename refactoring |
whereused <objectUrl> | Find usage references |
transport info|create|release|list|delete | Transport management |
debug listen|attach|step|stack|variables|children | Debugger (experimental) |
systems list|search|connect|status|switch|remove | System management |
serve | Start HTTPS server exposing commands via REST API |
remote set|status|clear | Configure remote server connection |
inactive-objects | List inactive objects |
package <name> | List package contents |
users | List system users |
All commands support --json for machine-readable output.
Credentials are stored encrypted (DPAPI on Windows) in ~/.sap/adt-connection.json. Multiple connections can be stored and switched between:
abap-adt systems status # show all connections
abap-adt systems switch SBX # switch active system
abap-adt systems remove SBX/100 # remove a connection
# Per-command override (doesn't change active connection):
abap-adt -c SBX/100 search "Z*"
abap-adt -c DEV/200 users
The -c / --connection flag lets you target any stored connection without switching. In remote mode, this is passed via the X-ADT-Connection header — each client can independently target different systems through the same server.
Environment variables (ADT_URL, ADT_USER, ADT_PASS, ADT_CLIENT) override stored credentials when set.
The CLI can act as both an HTTP server and a remote client, connected via SSH reverse tunnel:
# 1. Server (Windows machine with VPN/access to SAP):
abap-adt serve --no-tls # starts HTTP on :7230, prints tokens
# 2. SSH reverse tunnel (run on the server, connects OUT to the client):
ssh -R 7230:127.0.0.1:7230 user@client -N
# 3. Client (any machine — server now appears at localhost:7230):
abap-adt remote set http://127.0.0.1:7230 --token <token>
abap-adt search "Z*" # executes via remote, same syntax
Tokens support two scopes: full (all commands) and readonly (search, read, table, sql only). Tokens expire after 24 hours. The SSH tunnel encrypts all traffic — no TLS layer needed.
Why a tunnel? Corporate endpoint protection blocks inbound connections to non-standard ports regardless of Windows Firewall rules. The reverse tunnel uses an outbound SSH connection which is permitted.
table as a fallback.MIT — see LICENSE for details.
Based on abap-adt-api by Marcello Urbani (MIT).
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub st-gr/abap-adt-skillInteract with SAP ABAP systems via ADT — search, read, write, create, test, and execute ABAP objects
Complete collection of battle-tested Claude Code configs from an Anthropic hackathon winner - agents, skills, hooks, and rules evolved over 10+ months of intensive daily use
20 SEO/GEO skills and 5 commands on one shared contract for keyword research, content creation, technical audits, schema markup, monitoring, quality gates, entity truth, and campaign memory.
Comprehensive SEO analysis plugin for Claude Code. 25 sub-skills (21 core + 1 orchestrator + 1 framework + 2 extension mirrors) and 18 sub-agents cover technical SEO, content quality, schema, sitemaps, Core Web Vitals, local SEO, backlinks, AI/GEO, ecommerce, hreflang, SXO, clustering, drift monitoring, and Google APIs. Includes optional MCP extensions, SPA-aware rendering, portability, and hardened SSRF/DNS-rebinding safe fetchers.
Modern R development skills for Claude Code - tidyverse patterns, rlang metaprogramming, Bayesian inference, performance optimization, and more