Skip to content

sapdev-ai/sap-dev

Repository files navigation

SAP Dev Skills

SAP development automation skills for AI coding assistants. Windows-only — the skills drive SAP GUI for Windows via GUI Scripting (plus optional RFC via SAP NCo); there is no macOS/Linux path.

These skills follow Claude Code plugin patterns and are optimized for the Claude Code CLI. While the underlying skill content can be adapted for other AI harnesses, they are not automatically usable outside Claude Code without extraction and modification.

Project home: https://sapdev.ai

Available Plugins (4 plugins · 67 skills · 2 agents · v0.7.1)

Plugin Skills Description
sap-dev-core 49 + agent Foundation. Multi-profile login (DPAPI-encrypted credentials per SAP system, AI-session pin so each Claude conversation drives one SAP), TR resolution, package / function-group management, ABAP Workbench (SE38 / SE37 / SE24 / SE11 / SE91 / SE16N / SE21 / SE01 / SE19 / SE41 / SE51 / SE54 / SNRO / SP02 / CMOD), 4-stage ATC quality gate, ABAP Unit runner, standalone activator, package mover, where-used list, RFC wrapper generators, BDC executor, GUI recording / inspection / visual diagnostics, skill-authoring tooling (gui-probe + gui-skill-scaffold — probe an unknown transaction with natural-language scenarios → scaffold a working skill draft), incident diagnosis + repair (sap-diagnose orchestrator over ST22 / SM13 / SM12 / SLG1 / SM37 readers + performance-trace analysis, with sap-fix-incident closing the loop from a root cause to a test-verified custom-code fix deployed in DEV behind a transport — gated, never touching standard code or production), delivery assurance (transport-readiness release gate, impact analysis, enhancement advisor, evidence pack), transport landscape movement (sap-stms — read import queues / logs, and import a released TR through DEV→QAS→PRD with tiered confirmation and a typed-SID production gate), cross-system object compare / explain, structured logging, log analysis, dev-env lifecycle (init / status / clean), environment doctor (sap-doctor — read-only preflight across GUI scripting, NCo/config, RFC connectivity, client modifiability, and dev-env artefacts, with an actionable FIX per failure; the opt-in --screens group replays per-VBS golden-screen baselines against the live system to catch release/locale control-ID drift before a silent false-success), session broker for parallel execution against multiple SAP sessions. Ships the abap-developer agent (BUILD / FIX / DEPLOY) that reads your Customer Brief and orchestrates the skills.
sap-gen-code 8 Spec → ABAP pipeline. Customise spec-template layout per customer, extract from Excel / Word / PDF, normalise via customer rules, validate DDIC and process, generate ABAP per Customer Brief profile (with FM-signature pre-fetch + per-system cache), validate naming / types / SQL / FM args via live RFC, auto-fix detected issues.
sap-migrate 7 + agent S/4HANA custom-code migration engine. Run a brownfield conversion as a tracked campaign (sap-cc-campaign): inventory custom (Z/Y) objects, overlay runtime usage to flag unused code for decommission, run the S/4HANA-readiness ATC, triage findings into remediation tiers, and auto-remediate mechanical (R1) changes on a sandbox. Ships the cc-migration-engineer agent. Companion to sap-dev-core (install that first).
sap-tcd 3 Business process automation: Business Partner (BP), Material Master (MM01 / MM02 / MM03), Sales Order (VA01 / VA02 / VA03).

Skill Index

All 67 skills, grouped by task (all names are /-invocable in Claude Code; skills outside sap-dev-core are tagged with their plugin):

  • Session & environmentsap-login, sap-doctor (incl. --screens golden-screen drift), sap-dev-init, sap-dev-status, sap-dev-clean
  • ABAP Workbench deploy & lifecyclesap-se38 (programs), sap-se37 (function modules), sap-se24 (classes), sap-se11 (DDIC), sap-se91 (message classes), sap-function-group, sap-se21 (packages), sap-se41 (GUI statuses), sap-se51 (screens), sap-se54 (table maintenance), sap-snro (number ranges), sap-cmod, sap-se19 (BAdIs), sap-activate-object, sap-change-package, sap-check-fix
  • Transportsap-transport-request, sap-se01, sap-stms, sap-transport-readiness
  • Quality gatessap-atc, sap-run-abap-unit, sap-check-abap / sap-fix-abap (naming · types · SQL · CALL FUNCTION · compiler syntax); plus sap-review-abap, sap-gen-abap-unit (sap-gen-code)
  • Data & object insightsap-se16n, sap-update-addon, sap-where-used-list, sap-compare, sap-explain-object (--spec emits a formal spec document), sap-sp02 (spool)
  • Incident diagnosis & opssap-diagnose (the SM13 / SM12 / SLG1 / SM37 RFC readers are built in — run one standalone with --reader <name>), sap-st22, sap-trace, sap-log-analyze, sap-fix-incident
  • Delivery assurancesap-impact-analysis, sap-evidence-pack, sap-enhancement-advisor (+ sap-transport-readiness above)
  • RFC & batch inputsap-rfc-wrapper (fm + class modes), sap-call-bdc
  • Skill authoring & error KBsap-gui-probe (--record captures a flow by hand), sap-gui-inspect, sap-gui-skill-scaffold, sap-error-kb
  • Spec → ABAP pipeline (sap-gen-code)sap-docs-layout, sap-docs-extract, sap-docs-convert, sap-docs-check (DDIC + process dimensions), sap-gen-abap, sap-gen-abap-unit, sap-gen-cds (CDS views), sap-review-abap (ABAP check/fix moved to sap-dev-core: sap-check-abap, sap-fix-abap)
  • S/4HANA migration (sap-migrate)sap-cc-campaign, sap-cc-inventory, sap-cc-usage, sap-cc-analyze, sap-cc-triage (incl. --learn flywheel), sap-cc-remediate, sap-cc-decommission
  • Test data (sap-tcd)sap-bp, sap-mm01, sap-va01

Current Limitations (v0.7.1)

Honest list of shipped-but-bounded functionality — these fail loud, not silent:

  • /sap-doctor --fix reports FIX recommendations only; it does not apply them.
  • /sap-run-abap-unit is GUI-backed (Phase 1); the headless RFC backend is Phase 2. On a release whose result screen isn't recorded yet it emits NEEDS_RECORDING with instructions instead of guessing.
  • /sap-stms import ships with two uncalibrated checkbox IDs (immediate / leave-in-queue) — it refuses (STMS_NOT_CALIBRATED) until one /sap-gui-probe --record pass on your release wires them.
  • Golden-screen baseline coverage is 120/121 driving scripts (1 unbaselined), but most are pending_live static seeds — drift detection is fully armed for a script only after a /sap-doctor --screens pass verifies its control-ID identity live on your release.
  • sap-tcd control IDs were recorded on S/4HANA 1909; sap-bp / sap-va01 popups need a re-record for ECC6 (sap-mm01 already probes both layouts).
  • sap-migrate's knowledge pack ships 13 patterns (3 ACTIVE + 10 DRAFT; ~20–30% of typical ECC6 findings auto-classify today); DRAFT patterns are advisory-only by design, and the pack grows via /sap-cc-triage --learn from real campaign runs — no pattern carries harvested ATC message ids yet (regex + simplification-item matching until the flywheel fills them).
  • Central/remote ATC (--object-provider) is implemented fail-loud but the provider field ID is unverified against a live hub.

Repository Structure

sap-dev/
├── .claude-plugin/
│   └── marketplace.json          # Marketplace catalog
├── plugins/
│   ├── sap-dev-core/             # Plugin: foundation + ABAP Workbench
│   │   ├── .claude-plugin/       # Plugin manifest (plugin.json)
│   │   ├── shared/               # Shared resources for all sap-dev plugins
│   │   │   ├── tables/           # Naming rules, DDIC types, conversion rules (TSV)
│   │   │   ├── scripts/          # Reusable PS1 / VBS helpers
│   │   │   ├── rules/            # AI guidance conventions (mandatory)
│   │   │   └── templates/        # Customer Brief, sample spec layouts
│   │   └── skills/               # 49 skills
│   ├── sap-gen-code/             # Plugin: spec → ABAP
│   ├── sap-migrate/              # Plugin: S/4HANA custom-code migration
│   └── sap-tcd/                  # Plugin: business transactions
├── schemas/
│   ├── marketplace.schema.json   # Schema for marketplace.json
│   └── plugin.schema.json        # Schema for plugin.json
├── tools/                        # Build helpers (regenerate sample spec, etc.)
├── package.json
└── README.md

Installation

Add the marketplace to Claude Code:

# Add the marketplace
/plugin marketplace add https://github.com/sapdev-ai/sap-dev

# Install the core plugin FIRST (the other three require it)
/plugin install sap-dev-core@sap-dev

Install order matters: sap-gen-code, sap-migrate, and sap-tcd are companions that resolve sap-dev-core's shared/ scripts at runtime — installed alone, their skills fail with a path-resolution error. Always install sap-dev-core first (or alongside).

After install, run once per SAP system:

/sap-login --add     # Save a SAP connection profile (DPAPI-encrypted)
/sap-dev-init        # Bootstrap TR + package + function group + utility programs

Manage multiple saved profiles with /sap-login --list, --switch <id>, --set-default <id>, --delete <id>. Each Claude Code conversation pins to one profile; subagents inherit the pin.

Changing settings later: runtime values resolve SAPDEV_AI_WORK_DIR env var → settings.local.json (repo checkouts only) → {work_dir}\runtime\userconfig.json → the plugin's settings.json. Hand-edits to the shipped settings.json are silently shadowed by userconfig.json — change values through the skills or edit userconfig.json; see docs/settings-local-faq.md.

See docs/getting-started/installation.md for details, or the end-to-end Developer's Manual — a complete walkthrough from install to generating and deploying ABAP, with screenshots.

Prerequisites

  • Windows 10 / 11 (SAP GUI Scripting is Windows-only)
  • SAP GUI for Windows 7.70+ with scripting enabled — client-side (SAP Logon option) AND server-side (sapgui/user_scripting = TRUE via RZ11; ask your Basis team — this is the #1 first-run blocker)
  • Claude Code CLI
  • Python 3.x on PATHrequired by sap-gen-code's /sap-docs-extract (Excel/Word/PDF spec parsing); the core plugin works without it
  • (Optional) SAP NCo 3.1 for RFC features — see note below
  • Verify the machine with /sap-doctor after install — it preflights GUI scripting, NCo/GAC, RFC connectivity, and the dev environment with an actionable FIX per failing check
  • Required SAP authorizations for the logon user: see docs/security.md

Building New Skills

Follow the monorepo structure:

  1. Create a skill directory: plugins/<plugin-name>/skills/<skill-name>/.
  2. Add SKILL.md and README.md to the skill directory.
  3. Add the skill path to the plugin's skills array in .claude-plugin/marketplace.json.
  4. Follow the skill naming convention.
  5. Validate with npm run validate:marketplace and npm run check:consistency (the latter fails if a skill directory is not registered in marketplace.json, or if any version / skill-count / plugin-count is out of sync).

License

This project is licensed under the GNU General Public License v3.0 — see the LICENSE file for details.

Third-party software & legal notes

SAP NCo 3.1 (not redistributed)

RFC-based skills require SAP .NET Connector 3.1, which must be downloaded by the customer from SAP Service Marketplace using their own S-User account. This project does not redistribute SAP NCo binaries. After installation, NCo must be present in the GAC.

SAP licensing — indirect access

sap-dev invokes SAP through the standard GUI Scripting and RFC interfaces using the developer's own SAP Dialog user license. The plugin does not introduce indirect access for downstream systems, does not run as a service account, and does not cache SAP data outside the developer's workstation. Customers should still confirm with their SAP licensing team before deploying in any production-adjacent setting.

SAP trademarks

SAP, ABAP, S/4HANA, NetWeaver, and related marks are trademarks of SAP SE in Germany and other countries. This project is not affiliated with, endorsed by, or sponsored by SAP SE. All references to SAP transactions and APIs are made for descriptive purposes only.

No warranty

Per the GPL-3.0 license, this software is provided "as is" without warranty of any kind. Use against production systems at your own risk; always test against sandbox or development clients first.

Contact