Skip to content
Development
Skill

/sap-release-notes

Generates a business-readable CAB / release pack for a set of ABAP transport requests — answers "what does this release change, how risky is it, what test evidence exists, and how would we roll back?" for change-approval boards. Resolves scope from an explicit TR list or an E070

From plugin
sap-dev
8123 skills3 agents
Install
$ npx -y skills add sapdev-ai/sap-dev --skill sap-release-notes --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/sap-release-notes

Context preview

The summary Claude sees to decide when to auto-load this skill.

Generates a business-readable CAB / release pack for a set of ABAP transport requests — answers "what does this release change, how risky is it, what test evidence exists, and how would we roll back?" for change-approval boards. Resolves scope from an explicit TR list or an E070

SKILL.md

sap-release-notes.SKILL.md
name: sap-release-notes
description: |
  Generates a business-readable CAB / release pack for a set of ABAP transport
  requests — answers "what does this release change, how risky is it, what test
  evidence exists, and how would we roll back?" for change-approval boards.
  Resolves scope from an explicit TR list or an E070 date range (owner / prefix
  filters), builds the object inventory from E071 (request + child tasks), groups
  changes by business area (package → application component → package text, with a
  customer override map), then folds in EXISTING /sap-transport-readiness GO/NO-GO
  verdicts and /sap-impact-analysis risk bands from the artifact index (running
  them read-only only where missing). Claude then writes cab_pack.md against a
  fixed section template with a hard grounding rule and a mandatory Missing-evidence
  section. Read-only against SAP (no confirm gates); registers its outputs for
  /sap-evidence-pack. Prerequisites: SAP profile via /sap-login (RFC); SAP NCo 3.1
  (32-bit) in GAC. No GUI session, no Z-object dependency.
argument-hint: "<TR1[,TR2,...]> | --from YYYY-MM-DD [--to YYYY-MM-DD] [--user U] [--prefix ZPRJ] [--ticket ID] [--max-impact N] [--refresh] [--docx]"

SAP Release Notes / CAB Pack Skill

You assemble a **change-advisory-board pack** for one or more transport requests: an inventory of what changes, grouped by business area, folded together with the risk and test-evidence verdicts the delivery-assurance skills already produced, and written up in business language. You are **read-only** against SAP.

Task: $ARGUMENTS

This skill is pure composition of proven read-only reads plus AI writing. The deterministic inventory is built by `references/sap_release_notes_inventory.ps1`; the verdicts come from the artifact index; **you** write the prose pack from that data under a strict grounding rule (no claim without a data row or a verdict).

---

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_release_notes_inventory.ps1` | `-Trs \| -FromDate/-ToDate [-User -Prefix] -SharedDir -SkillDir [-CustomUrl -Ticket -MaxTrs -OutputDir]` | The RFC change-inventory engine | | `<SKILL_DIR>/references/sap_release_object_types.tsv` | read by the engine | E071 object-type → human label map (customer-overridable) | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_object_resolver.ps1` | dot-sourced by the engine | `Read-SapTableRows` (E070/E07T/E071/TADIR/TDEVC/TDEVCT/DF14T) | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_artifact_lib.ps1` | dot-sourced by the engine + Step 9 | Scope key, artifact dir, `Register-SapArtifact` | | `/sap-transport-readiness` | sub-skill | Read-only GO/NO-GO verdict per TR (folded in / run when missing) | | `/sap-impact-analysis` | sub-skill | Read-only risk bands per changed object (folded in / run when missing) | | `docx` | sub-skill | Optional `.docx` rendering of the finished pack (best-effort) |

---

Step 0 — Resolve Work Directory and Settings

Resolve `work_dir` via the env-aware helper (never read `settings.json` directly):

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}` = 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))"

Also resolve `{custom_url}` (customer override root) if configured — pass it to the engine as `-CustomUrl` so `sap_release_object_types.tsv` / `release_area_map.tsv` overrides are honored.

---

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_release_notes_run.json" -Skill sap-release-notes -ParamsJson "{}"

---

Step 1 — Parse Arguments

Parse `$ARGUMENTS`:

  • **Scope (exactly one):**
  • **Explicit TR list** — one or more TRs, comma/space separated (e.g.

`S4DK900123,S4DK900456`).

  • **`--from YYYY-MM-DD [--to YYYY-MM-DD]`** — E070 `AS4DATE` range (default `--to`

= today). Narrow with `--user <owner>` (E070 `AS4USER`) and/or `--prefix <ZPRJ>` (E070 `TRKORR LIKE 'ZPRJ%'`).

  • **Flags:** `--ticket <id>` (tag the pack + registrations), `--max-impact <n>`

(cap on impact-analysis fan-out, default 25), `--refresh` (re-run readiness/impact even when a verdict already exists), `--output <dir>`, `--docx` (render `.docx`).

  • **Phase-2 flags** (`--customizing`, `--deep --against <profile>`): parse but tell

the user they are **not yet implemented** in v1 and continue without them.

Validate: a TR list XOR a `--from` range must be present. If neither, ask the user for a TR or a date range and STOP.

Convert `--from/--to` from `YYYY-MM-DD` to the `YYYYMMDD` the engine expects.

---

Step 2 — Ensure the RFC Profile

This skill needs an **RFC connection only — no active GUI session**. A SAP profile must be pinned (`/sap-login`). The engine self-connects via the pinned profile (no creds on the command line). If no profile is pinned, run `/sap-login` first.

---

Step 3 — Build the Change Inventory

Run via **32-bit PowerShell** (NCo 3.1 is in `GAC_32`):

C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "<SKILL_DIR>\references\sap_release_notes_inventory.ps1" -Trs "S4DK900123,S4DK900456" -SharedDir "<SAP_DEV_CORE_SHARED_DIR>" -SkillDir "<SKILL_DIR>"

For a date range, replace `-Trs ...` with `-FromDate 20260101 -ToDate 20260131` plus optional `-User <owner> -Prefix <ZPRJ>`. Append `-CustomUrl "{custom_url}"`, `-Ticket "<id>"`

Read more
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.

Get the whole plugin

Other skills on sap-dev.