# Sc4sap:sap Doctor

> Diagnose SC4SAP plugin health, MCP server connectivity, and SAP system connection (renamed from `doctor` to avoid conflict with Claude Code's built-in `/doctor`)

- Skill: `babamba2/sc4sap-sap-doctor` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add babamba2/sc4sap-sap-doctor`
- Raw SKILL.md: https://api.skillmd.com/api/skills/babamba2/sc4sap-sap-doctor/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: babamba2 (https://skillmd.com/u/babamba2)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/babamba2/sc4sap-sap-doctor

---


# SC4SAP Doctor

Diagnoses the full SC4SAP stack: plugin installation, MCP server status, and live SAP system connectivity. Reports findings with actionable fixes for each issue found.


<Purpose>
sc4sap:sap-doctor runs a structured health check across three layers: the SC4SAP plugin itself, the mcp-abap-adt MCP server registration, and the live SAP system connection. It surfaces problems with clear remediation steps so you can get back to development quickly.
</Purpose>

<Response_Prefix>
Every response triggered by this skill MUST begin with `[Model: <main-model> · Dispatched: <sub-summary>]` per [`../../common/model-routing-rule.md`](../../common/model-routing-rule.md) § Response Prefix Convention.
</Response_Prefix>

<Use_When>
- Something isn't working and you're not sure where the problem is
- After initial setup to confirm everything is configured correctly
- After a SAP system change (password reset, IP change, client migration)
- User says "doctor", "diagnose", "check connection", "something's broken", or "is it working"
- MCP tools return errors or are not visible in Claude Code
</Use_When>

<Diagnostic_Checks>
**MANDATORY**: Run the diagnostic checklist defined in [`diagnostic-checks.md`](diagnostic-checks.md). It covers Layer 1 (Plugin Health) → Layer 2 (MCP Server) → Layer 3 (SAP System Connection) → Layer 4 (Required ABAP Objects — gated on Layer 2 + 3 PASS) → Layer 5 (Configuration) → Layer 6 (RFC Backend, conditional) → Layer 7 (Cache Hygiene, always runs). Report PASS / FAIL / WARN / INFO per layer in the order defined there.
</Diagnostic_Checks>

<Cache_Management>
`/sc4sap:sap-doctor` accepts two cache flags passed via `{{ARGUMENTS}}`:

- `--prune` — after running the normal diagnostic report, invoke `node "<plugin>/scripts/prune-cache.mjs"` (dry-run) and render its output directly. No files are deleted.
- `--prune --yes` — after the normal report, invoke the script with `--yes` to actually delete every stale version directory.

Always show the ACTIVE version first and explicitly exclude it from deletion. If no stale versions exist, print "Cache is clean — nothing to prune." and return. If the script exits non-zero, surface the stderr verbatim in the doctor report and do NOT swallow the failure.
</Cache_Management>

<Output_Format>
```
SC4SAP Doctor Report
====================
Plugin Health       [PASS]  v0.2.2 (cache matches marketplace)
MCP Server          [PASS]  plugin:sc4sap:sap responding, bridge preflight OK
SAP Connection      [PASS]  SID=S4H · Client=100 · User=PAEK
Required Objects    [WARN]  9a: 3/3 · 9b: 7/7 (ZCL_S4SAP_CM_ALV inactive)
Configuration       [PASS]
Cache Hygiene       [WARN]  3 stale versions consuming 1.7 GB (0.5.4, 0.6.0, 0.6.1)

Issues Found: 0 errors, 2 warnings

Fix: Activate ZCL_S4SAP_CM_ALV, or re-run /sc4sap:setup wizard step 9b
     /sc4sap:sap-doctor --prune --yes   (reclaim 1.7 GB)
```

Second example — connectivity failure gating Layer 4:

```
SC4SAP Doctor Report
====================
Plugin Health       [PASS]  v0.2.2
MCP Server          [FAIL]  plugin:sc4sap:sap not responding
SAP Connection      [SKIP]  Cannot test without MCP server
Required Objects    [SKIP]  SAP connection not ready
Configuration       [WARN]  No active profile (.sc4sap/active-profile.txt missing)
Cache Hygiene       [PASS]  0 stale versions

Issues Found: 1 error, 1 warning

Fix: Run /sc4sap:mcp-setup to install and register plugin:sc4sap:sap
```
</Output_Format>

<Remediation_Routing>
- Plugin version drift (cache ≠ marketplace) -> run `/reload-plugins`, then restart Claude Code
- MCP server missing -> `/sc4sap:mcp-setup`
- SAP connection error -> display connection troubleshooting from `/sc4sap:mcp-setup` Troubleshooting section
- Missing ZMCP_ADT_UTILS / ZMCP_ADT_DISPATCH / ZMCP_ADT_TEXTPOOL -> re-run `/sc4sap:setup` (wizard step 9a)
- Missing ZIF_S4SAP_CM / ZCX_S4SAP_EXCP / ZCL_S4SAP_CM_* -> re-run `/sc4sap:setup` (wizard step 9b)
- Any 9a/9b object inactive -> activate via ADT, or re-run the matching wizard step to reinstall source and activate
- Missing config -> run `/sc4sap:setup` wizard
- Authorization errors -> display required authorization objects (S_DEVELOP, S_TRANSPRT)
- Stale cache ≥ 500 MB -> `/sc4sap:sap-doctor --prune` to preview, then `/sc4sap:sap-doctor --prune --yes` to delete
- All pass -> "SC4SAP is healthy. System: {SID} Client: {client} User: {user}"
</Remediation_Routing>

Task: {{ARGUMENTS}}

