From sc4sap
Sets up SuperClaude SAP plugin: migrates legacy profiles to multi-profile, registers SAP connections under ~/.sc4sap/profiles/<alias>/, installs abap-mcp-adt-powerup MCP server, optional tier-gated ABAP handlers and hooks, extracts SPRO customizations.
npx claudepluginhub babamba2/superclaude-for-sap --plugin sc4sapThis skill uses the workspace's default tool permissions.
Use `/sc4sap:setup` as the unified setup and configuration entrypoint for SuperClaude for SAP.
customization-auto-generation.mdhud-statusline.mdodata-classes-install.mdrfc-backend-selection.mdspro-auto-generation.mdwizard-step-02-system-identification.mdwizard-step-04-profile-creation.mdwizard-step-09-abap-objects.mdwizard-step-11-optional-extraction.mdwizard-step-12-blocklist-hook.mdwizard-steps.mdGuides installation and configuration of abap-mcp-adt-powerup MCP server for Claude Code connectivity to SAP systems via ADT REST APIs. Enables 150+ tools for ABAP object CRUD, runtime, transport, and data preview.
Guides development of business apps on SAP BTP using CAP (Node.js/Java) or ABAP Cloud, for Cloud Foundry/Kyma deployments, HANA integration, Fiori UIs, CI/CD pipelines, and observability.
Provides SAP BTP best practices for enterprise architecture, account hierarchies, security, authentication, CI/CD pipelines, governance, failover, and operations. Use for BTP planning and implementation.
Share bugs, ideas, or general feedback.
Use /sc4sap:setup as the unified setup and configuration entrypoint for SuperClaude for SAP.
<Response_Prefix>
Every response triggered by this skill MUST begin with [Model: <main-model> · Dispatched: <sub-summary>] per ../../common/model-routing-rule.md § Response Prefix Convention.
</Response_Prefix>
<Phase_Banner>
Multi-phase skill. Before each Agent(...) dispatch (including the two conditional error-escalation paths below), emit ▶ phase=<id> (<label>) · agent=<name> · model=<Opus 4.7|Sonnet 4.6|Haiku 4.5> per ../../common/model-routing-rule.md § Phase Banner Convention.
</Phase_Banner>
<Error_Escalation_Paths> Setup's happy path runs entirely on the main thread (Haiku 4.5 per frontmatter) — it's configuration work, not code generation. Two step-ranges escalate on failure:
| Source step(s) | Agent | Model | Why |
|---|---|---|---|
| 4bis RFC backend — preflight failure, handler install error, SICF service misconfigured, SM59 test fails, ZRFC ICF handler returns 5xx | sap-bc-consultant | Opus 4.7 (frontmatter) | Pure Basis domain — RFC destinations, SICF, SM59, transport of handler class. Basis consultant owns this ground. |
| 5 Reconnect / 6 GetSession / 7 systemInfo persist / 8 GetInactiveObjects — any failure (HTTP error, auth reject, parse failure, timeout, authorization object missing) | general-purpose (with model: "opus" override) | Opus 4.7 | 3-layer stack (SAP ADT + MCP server + Claude Code plugin). Most errors are cross-layer (MCP framework bugs, Node runtime issues, profile resolution) — pure SAP consultant has a blind spot. general-purpose + Opus spans Read/Grep/Bash/WebFetch/WebSearch across all three layers. |
Each escalation emits its own phase banner:
▶ phase=4bis.escalate (basis) · agent=sap-bc-consultant · model=Opus 4.7
▶ phase=5-8.escalate (triage) · agent=general-purpose · model=Opus 4.7
After the escalation agent returns a diagnosis + remediation checklist, the main thread (Haiku) surfaces it to the user and asks whether to retry the failed step or abort setup. </Error_Escalation_Paths>
/sc4sap:setup # full setup wizard
/sc4sap:setup doctor # diagnose installation and SAP connection
/sc4sap:setup mcp # configure abap-mcp-adt-powerup MCP server
/sc4sap:setup spro # auto-generate SPRO config from S/4HANA system
/sc4sap:setup customizations # extract customer Z*/Y* enhancements + extensions
Process the request by the first argument only:
wizard, or --force → run the full setup wizard (Steps 0–13). Read wizard-steps.md (in this skill folder) and execute the steps defined there in order. Step 0 performs legacy detection + profile bootstrap before any question.doctor → route to /sc4sap:sap-doctor with remaining argsmcp → route to /sc4sap:mcp-setup with remaining argsspro → Active-profile precondition (decision §4.5): if <project>/.sc4sap/active-profile.txt is absent AND ~/.sc4sap/profiles/ is empty, error out with "No active SAP profile — run /sc4sap:setup (full wizard) first". If the pointer is absent but profiles exist, error with "No active profile — use /sc4sap:sap-option switch <alias>". Otherwise, run SPRO config auto-generation — read spro-auto-generation.md and follow its 3 steps.customizations (also accepts cust / enhancements) → same active-profile precondition as spro. Then run customer enhancement + extension extraction — read customization-auto-generation.md and follow its 3 steps.<Session_Trust_Bootstrap> MANDATORY — runs as Step 0 before any MCP call, file write, or user question.
Invoke /sc4sap:trust-session with parent_skill=sc4sap:setup to pre-grant MCP tool + file-op permissions for the session. Setup itself creates ABAP objects on DEV tier profiles (ZMCP_ADT_UTILS, ZCL_S4SAP_CM_* ALV handlers) and writes multiple local files (~/.sc4sap/profiles/<alias>/{sap.env, config.json}, <project>/.sc4sap/active-profile.txt, .claude/settings.local.json, hook files) — each of which would otherwise trigger a permission prompt. Note: trust-session only allows writes under .sc4sap/**; writes under ~/.sc4sap/profiles/** are routed through sap-profile-cli.mjs (a Bash invocation) so they go through the normal permission flow — trust-session cannot blanket-approve user-home paths.
.sc4sap/session-trust.log already has a line within the last 24h, skip silently.GetTableContents / GetSqlQuery remain prompt-gated even after trust-session — setup does not need them.Agent dispatches within this skill MUST pass mode: "dontAsk".Full spec: see ../trust-session/SKILL.md.
</Session_Trust_Bootstrap>
Ask one question at a time. Never batch questions.
- Walk through the steps sequentially and collect each input one by one.
- Do not advance to the next question until the user has answered the current one.
- As soon as the user answers, record/apply the value and move to the next step.
- Even when a single step has multiple fields (e.g., Step 4 SAP connection info), ask one field per message. Example: ask
SAP_URL?→ wait for answer → askSAP_CLIENT?→ wait → askSAP_AUTH_TYPE?→ ...- If a value already exists in
.sc4sap/sap.envor.sc4sap/config.json, show the current value and offer "press Enter to keep / type a new value".- Keep prompts short. Do not paste long wall-of-text instructions.
Never dump the entire questionnaire in a single message — users find it frustrating.
wizard-steps.md — the 14-step setup wizard index (Step 0–13). Read before running the full wizard. Heavy steps are split out (see below).wizard-step-02-system-identification.md — Step 2 detail (SAP version, ABAP release, Industry).wizard-step-04-profile-creation.md — Step 4 detail (alias + SAP_TIER + connection fields → sap-profile-cli.mjs add). Read before Step 4.wizard-step-09-abap-objects.md — Step 9 detail, including the DEV-only tier gate (QA/PRD REFUSE → CTS import guidance).wizard-step-11-optional-extraction.md — Step 11 (SPRO prompt) + 11b (Customization prompt). Artifacts land under work/<activeAlias>/.wizard-step-12-blocklist-hook.md — Step 12 installs BOTH L1 PreToolUse hooks: block-forbidden-tables.mjs + tier-readonly-guard.mjs.spro-auto-generation.md — SPRO extraction workflow. Read when the first arg is spro or when Step 11 proceeds.customization-auto-generation.md — customer Z*/Y* enhancement + extension extraction. Read when the first arg is customizations (also cust / enhancements) or when running wizard step 11b.rfc-backend-selection.md — Step 4bis RFC backend selection (soap/native/gateway/odata/zrfc). Writes SAP_RFC_* to the ACTIVE PROFILE env, never to the project folder.odata-classes-install.md — Step 9c OData backend classes install (DEV tier only).hud-statusline.md — HUD status line spec. HUD reads <project>/.sc4sap/active-profile.txt + profile env to render alias + tier badge.../../docs/multi-profile-design.md, ../../docs/multi-profile-setup-gap.md, ../../common/multi-profile-artifact-resolution.md, ../sap-option/migration.md, ../sap-option/profile-management.md.The plugin ships a sc4sap-branded status line that activates automatically on install (declared in .claude-plugin/plugin.json → statusLine). Read hud-statusline.md for the full specification, including displayed segments, environment variables (SC4SAP_WEEKLY_LIMIT_USD, NO_COLOR), performance characteristics, and how to disable it.
/sc4sap:sap-doctor, /sc4sap:mcp-setup, /sc4sap:sap-option remain valid direct entrypoints. Prefer /sc4sap:setup in documentation and user guidance.~/.sc4sap/profiles/<alias>/sap.env — MCP-server env; password is stored in the OS keychain and referenced via SAP_PASSWORD=keychain:sc4sap/<alias>/<user>.~/.sc4sap/profiles/<alias>/config.json — plugin-side settings (sapVersion, abapRelease, industry, activeModules, namingConvention, systemInfo, activeTransport, blocklistProfile).~/.sc4sap/profiles/<alias>/.abap-utils-installed — Step 9 sentinel (DEV only).~/.sc4sap/profiles/.trash/<alias>-<ts>/ — soft-deleted profiles (7-day auto-purge).<project>/.sc4sap/active-profile.txt — alias of the currently active profile.<project>/.sc4sap/work/<alias>/{program, cbo, customizations, audit, comparisons, spro-config.json} — per-profile artifacts (see ../../common/multi-profile-artifact-resolution.md).<project>/.sc4sap/sap.env.legacy — migration backup (rollback); exists only right after Step 0 migration.<project>/.sc4sap/{sap.env, config.json} — DELETED by Step 0 migration (decision §4.3). Fresh installs never create them.<project>/.sc4sap/blocklist-{extend,custom}.txt — L1 hook extension lists./sc4sap:sap-option./sc4sap:sap-option switch <alias>./sc4sap:sap-option add./sc4sap:sap-option.scripts/hooks/tier-readonly-guard.mjs + L2 MCP guard):
DEV — writes allowed; Step 9 installs on this tier only.QA — read + RunUnitTest only; mutations blocked; Step 9 refuses.PRD — strict read-only; RunUnitTest blocked; Step 9 refuses.