Skip to content
Development
Skill

/sap-transport-readiness

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:

From plugin
sap-dev
10123 skills3 agents

Claude Code

$ npx -y skills add sapdev-ai/sap-dev --skill sap-transport-readiness --agent claude-code

SKILL.md

sap-transport-readiness.SKILL.md
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>]"

SAP Transport Readiness Skill

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

  • gate policy, and the artifact index.

---

Shared Resources

| 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`) |

---

Step 0 — Resolve Work Directory and Settings

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}`.

---

Step 0.5 — Start Logging

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 "{}"

---

Step 1 — Resolve the Transport Request

Parse `$ARGUMENTS` for the TR and flags:

  • **Explicit TR** (e.g. `DEVK900123`, `S4DK900123`) → use it.
  • **`--current`** → read `sap_dev_transport_request` (per-connection first:

`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.

  • Flags: `--strict` (promote warnings to blockers), `--run-atc`,

`--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).

---

Step 2 — (Optional) Run ATC and ABAP Unit first

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.

  • **`--run-atc`**: run `/sap-atc PACKAGE <pkg>` (or per object) over the TR's

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`.

  • **`--include-unit-tests`**: run `/sap-run-abap-unit` over the TR's

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.

---

Step 3 — Run the Readiness Engine

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

Read more
@sapdev-ai
Ships withsap-dev

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.

10123 skills3 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
10
Star history of sapdev-ai/sap-dev on GitHub, a chart by star-history.com

Other skills on sap-dev.

sap-activate-object

sap-activate-object

Activates an inactive SAP repository object via SAP GUI Scripting. Routes to the correct transaction by object type: SE38 for…

@sapdev-ai@sapdev-aiInstall Skill
sap-api-advisor

sap-api-advisor

Natural-language SAP API discovery over RFC (no GUI): turn a goal like "create a sales order" or "post a goods movement" into a…

@sapdev-ai@sapdev-aiInstall Skill
sap-atc

sap-atc

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),…

@sapdev-ai@sapdev-aiInstall Skill
sap-call-bdc

sap-call-bdc

Executes BDC (Batch Data Communication) sessions in SAP via RFC. Reads SHDB recording files from the bdc/ folder, connects via…

@sapdev-ai@sapdev-aiInstall Skill
sap-change-package

sap-change-package

Changes the package (TADIR-DEVCLASS) assignment of an SAP repository object via the "Object Directory Entry" dialog (Goto >…

@sapdev-ai@sapdev-aiInstall Skill
sap-check-abap

sap-check-abap

Validates ABAP source (report / program / FM / class / include) before deployment — one skill, dimension-dispatched: naming…

@sapdev-ai@sapdev-aiInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about sap-transport-readiness.

Which coding agents can use sap-transport-readiness?
sap-transport-readiness installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.