sap-activate-object
Activates an inactive SAP repository object via SAP GUI Scripting. Routes to the correct transaction by object type: SE38 for…
Diagnoses stuck tRFC / qRFC interface queues and audits the SM59 RFC destination register — read-only over RFC (no GUI). `queues` snapshots the tRFC (SM58) and inbound/outbound qRFC (SMQ2/SMQ1) queues: per-destination / per-queue depth, age, head-blocker error text, and the
Claude Code
$ npx -y skills add sapdev-ai/sap-dev --skill sap-rfc-monitor --agent claude-code
Codex
$ npx skills add sapdev-ai/sap-dev --skill sap-rfc-monitor -a codex -y
Cursor
$ npx skills add sapdev-ai/sap-dev --skill sap-rfc-monitor -a cursor -y
Gemini CLI
$ npx skills add sapdev-ai/sap-dev --skill sap-rfc-monitor -a gemini-cli -y
GitHub Copilot
$ npx skills add sapdev-ai/sap-dev --skill sap-rfc-monitor -a github-copilot -y
OpenCode
$ npx skills add sapdev-ai/sap-dev --skill sap-rfc-monitor -a opencode -y
Windsurf
$ npx skills add sapdev-ai/sap-dev --skill sap-rfc-monitor -a windsurf -y
name: sap-rfc-monitor description: | Diagnoses stuck tRFC / qRFC interface queues and audits the SM59 RFC destination register — read-only over RFC (no GUI). `queues` snapshots the tRFC (SM58) and inbound/outbound qRFC (SMQ2/SMQ1) queues: per-destination / per-queue depth, age, head-blocker error text, and the inbound-scheduler registration flag, then clusters the failed LUWs by root cause (target down / auth / data / not-registered) with one recommended action each. `destinations` parses RFCDES into an auditable register — type, target host, logon user, trust flag, and stored-credential PRESENCE flag (RFCDESSECU is never read) — plus the inbound trusted-system ACL, with an AI risk column. `retry` re-drives failed tRFC LUWs for one destination via RSARFCEX (confirm-gated, delegated to /sap-run-report) then authoritatively re-reads to verify CLEARED / REDUCED / UNCHANGED. LUW / queue DELETION is refused. Complements /sap-diagnose's `smq` interface triage as the standalone deep-dive. Prerequisites: SAP profile via /sap-login (RFC); SAP NCo 3.1 (32-bit) in GAC. No GUI session, no Z-object, no /sap-dev-init. argument-hint: "queues [--dir=trfc|in|out|all] [--dest=D] [--queue=Q] [--top=N] [--save-output PATH] | destinations [--type=3|G|H|T|I|L] [--save-output PATH] | retry --dest=D"
You diagnose **stuck RFC interfaces** and audit **RFC destinations**, read-only over RFC. One `SYSFAIL` head-blocker silently halts everything queued behind it; this skill surfaces the whole picture in seconds and clusters hundreds of failed LUWs into a handful of causes with one recommended action each. The destinations half is the go-live / audit twin: RFCDES parsed into a risk-annotated register.
Task: $ARGUMENTS
**You are read-only against SAP for `queues` and `destinations`.** The only state change anywhere is `retry`, which executes the SAP-standard report RSARFCEX through /sap-run-report behind an evidence-first confirm gate. **LUW / queue deletion and unlock are refused** (manual SM58 / SMQ1 / SMQ2 pointer), never automated.
---
| File | Token / call | Purpose | |---|---|---| | `<SAP_DEV_CORE_SHARED_DIR>/rules/safety_policy.md` | *(rule)* | **Rule 0 (highest priority)** — environment guard; enforced by Step 5 via `sap_safety_gate.ps1` | | `<SAP_DEV_CORE_SHARED_DIR>/rules/skill_operating_rules.md` | *(rule)* | Mandatory operating rules — reads always allowed; the one write (RSARFCEX) is a SAP-supplied API, confirm-gated | | `<SKILL_DIR>/references/sap_rfcq_read.ps1` | `-Area trfc\|qin\|qout\|qstate [-Dest -Queue -Top -HeadLuws -ExpectCleared -OutTsv]` | The tRFC/qRFC queue reader + retry verifier (RFC) | | `<SKILL_DIR>/references/sap_rfcdes_parse.ps1` | `[-Type -Max -OutTsv]` | RFCDES → destination register + tolerant RFCOPTIONS parser (RFC) | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_rfc_lib.ps1` | dot-sourced by the engines | NCo 3.1 connect + `RFC_READ_TABLE` helpers | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_object_resolver.ps1` | dot-sourced by the engines | `Read-SapTableRows` | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_artifact_lib.ps1` | dot-sourced by the engines + Step 6 | Scope key, artifact dir, `Register-SapArtifact` | | `/sap-run-report` | sub-skill | Executes RSARFCEX (`retry`) — owns the execution confirm gate | | `/sap-diagnose` | related | Triages interface incidents via its own lightweight `smq` reader (Wave-0 T1-B); this skill is the standalone deep-dive (destinations register, retry, richer clustering) — invoke directly or as a follow-up |
---
powershell -NoProfile -ExecutionPolicy Bypass -Command ". '<SAP_DEV_CORE_SHARED_DIR>\scripts\sap_settings_lib.ps1'; . '<SAP_DEV_CORE_SHARED_DIR>\scripts\sap_connection_lib.ps1'; Write-Output ('WORK_DIR=' + (Get-SapWorkDir))"Set `{RUN_TEMP}` (per-run scratch):
powershell -NoProfile -ExecutionPolicy Bypass -Command ". '<SAP_DEV_CORE_SHARED_DIR>\scripts\sap_connection_lib.ps1'; Write-Output ('RUN_TEMP=' + (Get-SapRunTemp))"---
powershell -ExecutionPolicy Bypass -File "<SAP_DEV_CORE_SHARED_DIR>\scripts\sap_log_helper.ps1" -Action start -StateFile "{RUN_TEMP}\sap_rfc_monitor_run.json" -Skill sap-rfc-monitor -ParamsJson "{}"---
First token selects the mode. Flags follow.
| Mode | Args | Access | |---|---|---| | `queues` | `[--dir=trfc\|in\|out\|all]` (default `all`), `[--dest=D]`, `[--queue=Q]`, `[--top=N]` (default 20), `[--save-output PATH]` | **read-only** | | `destinations` | `[--type=3\|G\|H\|T\|I\|L]`, `[--max=N]`, `[--save-output PATH]` | **read-only** | | `retry` | `--dest=D` (required) | **gated write** (RSARFCEX) |
`--dir` maps to engine `-Area`: `trfc`→`trfc`, `in`→`qin`, `out`→`qout`, `all`→`all`.
**Hard rules at parse time (fail loud — do NOT proceed):**
queue", "clear SMQ2") → **REFUSE**. Print the refusal + a manual pointer ("Delete/unlock is not automated. Use SM58 / SMQ1 / SMQ2 manually."), log end with `error_class=RFCQ_ACTION_REFUSED`, STOP. This is a refusal, not a gate.
`retry --dir=in|out`, per-LUW retry → **not yet implemented (Phase 1.5 / v2)**. Tell the user, then continue only with the implemented behavior (or STOP if that was the whole request). See **Scope & Limitations**.
---
This skill needs an **RFC connection only — no GUI session**. A SAP profile must be pinned (`/sap-login`); the engines self-connect via it. If no profile is pinned, run `/sap-login` first.
**RFC unavailable → fail loud.** If an engine prints `STATUS: RFC_ERROR` (exit 2), report the failure and the **manual tcode path** (SM58
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.
Activates an inactive SAP repository object via SAP GUI Scripting. Routes to the correct transaction by object type: SE38 for…
Natural-language SAP API discovery over RFC (no GUI): turn a goal like "create a sales order" or "post a goods movement" into a…
Runs the SAP ABAP Test Cockpit (ATC) end-to-end as a quality gate: builds an SCI Object Set scoped to the target object(s),…
Executes BDC (Batch Data Communication) sessions in SAP via RFC. Reads SHDB recording files from the bdc/ folder, connects via…
Changes the package (TADIR-DEVCLASS) assignment of an SAP repository object via the "Object Directory Entry" dialog (Goto >…
Validates ABAP source (report / program / FM / class / include) before deployment — one skill, dimension-dispatched: naming…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.