sap-activate-object
Activates an inactive SAP repository object via SAP GUI Scripting. Routes to the correct transaction by object type: SE38 for…
Release gate for an ABAP transport request — answers "is this transport safe to release?" before it moves to QA / production. Resolves the TR (explicit number, or --current from the dev defaults), builds its object inventory from E071, and runs read-only RFC structural checks:
Claude Code
$ npx -y skills add sapdev-ai/sap-dev --skill sap-transport-readiness --agent claude-code
Codex
$ npx skills add sapdev-ai/sap-dev --skill sap-transport-readiness -a codex -y
Cursor
$ npx skills add sapdev-ai/sap-dev --skill sap-transport-readiness -a cursor -y
Gemini CLI
$ npx skills add sapdev-ai/sap-dev --skill sap-transport-readiness -a gemini-cli -y
GitHub Copilot
$ npx skills add sapdev-ai/sap-dev --skill sap-transport-readiness -a github-copilot -y
OpenCode
$ npx skills add sapdev-ai/sap-dev --skill sap-transport-readiness -a opencode -y
Windsurf
$ npx skills add sapdev-ai/sap-dev --skill sap-transport-readiness -a windsurf -y
name: sap-transport-readiness description: | Release gate for an ABAP transport request — answers "is this transport safe to release?" before it moves to QA / production. Resolves the TR (explicit number, or --current from the dev defaults), builds its object inventory from E071, and runs read-only RFC structural checks: unreleased child tasks, inactive objects, local / $TMP objects inside a transportable request, and a multi-package note. Optionally chains /sap-atc and /sap-run-abap-unit and folds their verdicts in. Gates every finding via the customer brief's Quality bar (--strict promotes warnings) and rolls up to GO / GO_WITH_WARNINGS / NO-GO. Writes a reviewer report + findings TSV/JSON + object inventory, registered for /sap-evidence-pack. Read-only; never releases the TR — release stays a deliberate /sap-se01 step. Prerequisites: SAP profile via /sap-login (RFC); SAP NCo 3.1 (32-bit) in GAC (Z_GENERIC_RFC_WRAPPER_TBL not required — all checks use RFC_READ_TABLE). argument-hint: "<TR> | --current [--strict] [--run-atc] [--include-unit-tests] [--brief <path>]"
You run a **release gate** over a transport request and report GO / NO-GO with the evidence. You are read-only — you NEVER release the TR. Release is a deliberate, separate `/sap-se01 release` step the user takes after a GO.
Task: $ARGUMENTS
This skill is the first of the **delivery-assurance** family and is built on the Phase-0 primitives: the object resolver (TR → E071 inventory), the finding model
---
| File | Token / call | Purpose | |---|---|---| | `<SAP_DEV_CORE_SHARED_DIR>/rules/skill_operating_rules.md` | *(rule)* | Mandatory operating rules — read-only here, no writes to SAP | | `<SKILL_DIR>/references/sap_transport_readiness.ps1` | `-Tr -SharedDir [-Strict] [-AtcVerdict] [-UnitVerdict] [-BriefPath]` | The RFC readiness engine | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_object_resolver.ps1` | dot-sourced by the engine | TR `--Expand` → E071 object inventory | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_finding_lib.ps1` | dot-sourced by the engine | Reconciled finding model + verdict roll-up | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_gate_policy.ps1` | dot-sourced by the engine | Gate computation from `customer_brief.md` §6 | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_artifact_lib.ps1` | dot-sourced by the engine | Registers outputs for `/sap-evidence-pack` | | `/sap-atc` | sub-skill | Optional ATC run (`--run-atc`) | | `/sap-run-abap-unit` | sub-skill | Optional ABAP Unit run (`--include-unit-tests`) |
---
Resolve `work_dir` via the env-aware helper (do NOT read `settings.json` directly — that ignores `SAPDEV_AI_WORK_DIR` and `userconfig.json`):
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 `{WORK_TEMP}` = `{work_dir}\temp`; ensure it exists:
cmd /c if not exist "{WORK_TEMP}" mkdir "{WORK_TEMP}"Set `{RUN_TEMP}` = the per-run scratch dir (`Get-SapRunTemp` mints + creates `{work_dir}\temp\run_<id>`):
powershell -NoProfile -ExecutionPolicy Bypass -Command ". '<SAP_DEV_CORE_SHARED_DIR>\scripts\sap_connection_lib.ps1'; Write-Output ('RUN_TEMP=' + (Get-SapRunTemp))"Per the CLAUDE.md "Two-bucket temp model" write this skill's `_run.json` log state under `{RUN_TEMP}`.
---
powershell -ExecutionPolicy Bypass -File "<SAP_DEV_CORE_SHARED_DIR>\scripts\sap_log_helper.ps1" -Action start -StateFile "{RUN_TEMP}\sap_transport_readiness_run.json" -Skill sap-transport-readiness -ParamsJson "{}"---
Parse `$ARGUMENTS` for the TR and flags:
`connections.json[pinned].dev_defaults`, then the two-file settings merge per `shared/rules/settings_lookup.md`). If blank → tell the user to pass an explicit TR or run `/sap-transport-request`, and STOP.
`--include-unit-tests`, `--brief <path>` (override the customer brief).
Prerequisite check: a SAP RFC profile must be pinned (`/sap-login`). The engine self-connects via the pinned profile (no creds needed on the command line).
---
These are opt-in because they are slower / heavier than the RFC structural checks. Run them BEFORE the engine so their verdicts can be folded into one unified readiness verdict.
scope. Capture its pass/fail as a single verdict string: `GO` (within the brief's `MAX_PRIORITY`) or `NO_GO`. If ATC could not run, use `ERROR`.
programs / classes. Capture `GO` / `NO_GO` / `ERROR`.
If a flag is not given, pass nothing for that verdict — the engine records it as "not run" (no finding), and you note it in the report under *not run*.
> Do NOT invent these verdicts. Only pass `GO`/`NO_GO` when the sub-skill > actually produced a result; pass `ERROR` if it failed; pass nothing if you > did not run it.
---
Run via **32-bit PowerShell** (NCo 3.1 is in `GAC_32`). Pass the resolved TR, the shared dir, and any flags / sub-skill verdicts:
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "<SKILL_DIR>\references\sap_transport_readiness.ps1" -Tr "THE_TR" -SharedDir "<SAP_DEV_CORE_SHARED_DIR>"
Append, as applicable: `-Strict`, `-AtcVerdict GO|NO_GO|ERROR`, `-UnitVerdict GO|NO_GO|ERROR`, `-BriefPath "<path>"`. Cr
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.