sap-activate-object
Activates an inactive SAP repository object via SAP GUI Scripting. Routes to the correct transaction by object type: SE38 for reports/programs/function- group…
Runs the post-refresh (system-copy) checklist as a 2-minute audited CHECK/FIX report instead of a 45-minute error-prone wiki walk: after a QA/sandbox copy from PRD, confirms BDLS was run (T000 LOGSYS + TBDLS), RFC destinations don't still point at PRD (RFCDES scan), inherited
$ npx -y skills add sapdev-ai/sap-dev --skill sap-refresh-verify --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/sap-refresh-verifyContext preview
The summary Claude sees to decide when to auto-load this skill.
Runs the post-refresh (system-copy) checklist as a 2-minute audited CHECK/FIX report instead of a 45-minute error-prone wiki walk: after a QA/sandbox copy from PRD, confirms BDLS was run (T000 LOGSYS + TBDLS), RFC destinations don't still point at PRD (RFCDES scan), inherited
name: sap-refresh-verify description: | Runs the post-refresh (system-copy) checklist as a 2-minute audited CHECK/FIX report instead of a 45-minute error-prone wiki walk: after a QA/sandbox copy from PRD, confirms BDLS was run (T000 LOGSYS + TBDLS), RFC destinations don't still point at PRD (RFCDES scan), inherited PRD jobs are gone (TBTCO/TBTCP), tRFC/qRFC queues are disarmed (SMQ FMs + ARFCSSTATE), the client role isn't Production (SCC4), and dialog users are locked (USR02) — each compared against a per-landscape expectations file the operator writes once (init-config scaffolds it). One missed item means QA emails real customers or posts into a live interface; this front-loads all of it with an evidence-pack sign-off and explains why each finding matters. RFC-only, read-only in audit: emits doctor-style CHECK lines + a GO/GO_WITH_WARNINGS/NO_GO verdict; a hard identity gate (RFC_SYSTEM_INFO vs config SID) aborts before it can ever audit the wrong box. The ONLY write is a confirm-gated job deschedule delegated to /sap-job; BDLS/SM59/SMQ1/SU10 stay copy-pasteable manual FIXes (never auto-remediated). Tri-state honest (a check that can't run is COULD_NOT_CHECK, never PASS; an allowlisted PRD-pointing destination is REVIEW, never green). Prerequisites: pinned RFC profile via /sap-login; NCo 3.1 (32-bit); an expectations config (init-config makes one). argument-hint: "audit [--config <path>] [--max-rows N] | init-config | deschedule <JOBNAME> <JOBCOUNT> | deschedule --all-flagged"
You audit a freshly-refreshed QA/sandbox system against the operator's landscape expectations and produce a GO / NO_GO sign-off. You are read-only except one confirm-gated job deschedule (delegated to /sap-job). You NEVER run BDLS, repoint RFCs, or lock users — those stay manual FIX text.
Task: $ARGUMENTS
---
| File | Token / call | Purpose | |---|---|---| | `<SKILL_DIR>/references/sap_refresh_audit.ps1` | `-Action audit\|identity -Config <p>` | The audit engine (all checks) | | `<SKILL_DIR>/references/refresh_expectations_template.json` | copied by `init-config` | Expectations config template | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_artifact_lib.ps1` | dot-sourced | `Register-SapArtifact` | | `/sap-job` | sub-skill | `deschedule` delegation (`delete <JOBNAME> <JOBCOUNT>`) | | `/sap-sost` | sub-skill (optional) | `mail/sost` SAPconnect config-check (SKIP if absent) | | `/sap-login` | sub-skill | Pinned RFC profile |
---
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)); Write-Output ('RUN_TEMP=' + (Get-SapRunTemp)); Write-Output ('CUSTOM_URL=' + (Get-SapSettingValue 'custom_url' ((Get-SapWorkDir) + '\custom')))"powershell -ExecutionPolicy Bypass -File "<SAP_DEV_CORE_SHARED_DIR>\scripts\sap_log_helper.ps1" -Action start -StateFile "{RUN_TEMP}\sap_refresh_verify_run.json" -Skill sap-refresh-verify -ParamsJson "{}"---
Modes: `audit` (default) | `init-config` | `deschedule`. Config path = `--config`, else `{custom_url}\refresh_expectations_<SID>_<CLIENT>.json` (SID/client from the pinned profile).
Read the pinned profile's SID/client + a `sap_refresh_audit.ps1 -Action identity` (for the live SID). Copy `references/refresh_expectations_template.json` to `{custom_url}\refresh_expectations_<SID>_<CLIENT>.json` with `sid`/`client` pre-filled and the current LOGSYS/role noted as candidate comments. Tell the operator they MUST fill `prd_host_patterns` (at minimum) + `expected_logsys` before auditing. Local write only — done.
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "<SKILL_DIR>\references\sap_refresh_audit.ps1" -Action identity -Config "<config>" -SharedDir "<SAP_DEV_CORE_SHARED_DIR>"
`STATUS: REFRESH_IDENTITY_MISMATCH` -> ABORT (never audit the wrong box). `REFRESH_CONFIG_MISSING` -> point at `init-config`. `REFRESH_CONFIG_INVALID` -> name the missing key.
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "<SKILL_DIR>\references\sap_refresh_audit.ps1" -Action audit -Config "<config>" -OutDir "{OUT}" -MaxRows <N> -SharedDir "<SAP_DEV_CORE_SHARED_DIR>"Stream each `CHECK: id=<id> group=<g> result=<PASS|FAIL|REVIEW|SKIP|COULD_NOT_CHECK> detail=".." fix=".."` line and the final `VERDICT:`. (`REVIEW` is a deliberate extension of the /sap-doctor CHECK grammar for allowlisted/ambiguous findings that must never render PASS.)
If `/sap-sost` is installed, invoke `/sap-sost config-check` via the Skill tool and fold its verdict into `mail/sost` (FAIL/REVIEW/PASS). If not installed, keep the engine's SKIP + the FIX "install /sap-sost for SAPconnect coverage".
Write `refresh_audit_<SID>_<CLIENT>_<ts>.md` (config digest, every CHECK line grouped, the verdict, the FIX list, and — when present — the flagged-jobs ledger from `{OUT}\jobs_flagged.tsv`). Verdict rollup: any FAIL -> NO_GO; any REVIEW/COULD_NOT_CHECK -> GO_WITH_WARNINGS; else GO. Register:
powershell -ExecutionPolicy Bypass -Command ". '<SAP_DEV_CORE_SHARED_DIR>\scripts\sap_artifact_lib.ps1'; Register-SapArtifact -Skill 'sap-refresh-verify' -ScopeKey 'SYS_<SID>_<CLIENT>' -Kind 'refresh_audit' -Format 'md' -Path '{OUT}\refresh_audit_<SID>_<CLIENT>_<ts>.md' -Verdict '<GO|GO_WITH_WARNINGS|NO_GO>' -Coverage '<CHECKED_CLEAN|CHECKED_FINDINGS|COULD_NOT_CHECK>'"**Rule 0 (`safety_policy.md`) is enforced inside `/sap-job`**, which runs its own e
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.
Repo: sapdev-ai/sap-dev
Activates an inactive SAP repository object via SAP GUI Scripting. Routes to the correct transaction by object type: SE38 for reports/programs/function- group…
Natural-language SAP API discovery over RFC (no GUI): turn a goal like "create a sales order" or "post a goods movement" into a ranked, trap-annotated,…
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), creates an ATC Run Series bound to…
Executes BDC (Batch Data Communication) sessions in SAP via RFC. Reads SHDB recording files from the bdc/ folder, connects via SAP NCo 3.1, calls…
Changes the package (TADIR-DEVCLASS) assignment of an SAP repository object via the "Object Directory Entry" dialog (Goto > Object Directory Entry). Routes by…
Validates ABAP source (report / program / FM / class / include) before deployment — one skill, dimension-dispatched: naming (variable conventions), type (DDIC…