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
10123 skills3 agents

Claude Code

$ npx -y skills add sapdev-ai/sap-dev --skill sap-release-notes --agent claude-code

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
@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-release-notes.

Which coding agents can use sap-release-notes?
sap-release-notes 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.