sap-activate-object
Activates an inactive SAP repository object via SAP GUI Scripting. Routes to the correct transaction by object type: SE38 for…
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
Claude Code
$ npx -y skills add sapdev-ai/sap-dev --skill sap-release-notes --agent claude-code
Codex
$ npx skills add sapdev-ai/sap-dev --skill sap-release-notes -a codex -y
Cursor
$ npx skills add sapdev-ai/sap-dev --skill sap-release-notes -a cursor -y
Gemini CLI
$ npx skills add sapdev-ai/sap-dev --skill sap-release-notes -a gemini-cli -y
GitHub Copilot
$ npx skills add sapdev-ai/sap-dev --skill sap-release-notes -a github-copilot -y
OpenCode
$ npx skills add sapdev-ai/sap-dev --skill sap-release-notes -a opencode -y
Windsurf
$ npx skills add sapdev-ai/sap-dev --skill sap-release-notes -a windsurf -y
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]"
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).
---
| 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) |
---
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.
---
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 "{}"---
Parse `$ARGUMENTS`:
`S4DK900123,S4DK900456`).
= today). Narrow with `--user <owner>` (E070 `AS4USER`) and/or `--prefix <ZPRJ>` (E070 `TRKORR LIKE 'ZPRJ%'`).
(cap on impact-analysis fan-out, default 25), `--refresh` (re-run readiness/impact even when a verdict already exists), `--output <dir>`, `--docx` (render `.docx`).
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.
---
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.
---
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>"`
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.