sap-activate-object
Activates an inactive SAP repository object via SAP GUI Scripting. Routes to the correct transaction by object type: SE38 for reports/programs/function- group…
Orders a set of transport requests into a safe import sequence and audits code freezes — read-only over RFC, detect-only (never imports, never releases). `sequence` reads the TR set from the source system, folds LIMU objects into their R3TR parents, builds an object-overlap
$ npx -y skills add sapdev-ai/sap-dev --skill sap-transport-sequencer --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/sap-transport-sequencerContext preview
The summary Claude sees to decide when to auto-load this skill.
Orders a set of transport requests into a safe import sequence and audits code freezes — read-only over RFC, detect-only (never imports, never releases). `sequence` reads the TR set from the source system, folds LIMU objects into their R3TR parents, builds an object-overlap
name: sap-transport-sequencer description: | Orders a set of transport requests into a safe import sequence and audits code freezes — read-only over RFC, detect-only (never imports, never releases). `sequence` reads the TR set from the source system, folds LIMU objects into their R3TR parents, builds an object-overlap graph, orders by release timestamp under overlap constraints, and flags unreleased TRs, same-object overlaps, still-modifiable overtakers, and source-side missing predecessors; with `--target` it cross-checks a second system for unimported predecessors and first-time-delivery objects. `freeze-audit` finds TRs released or changed inside a freeze window minus policy exceptions, with per-violation VRSD change-evidence. Emits a sequence + conflicts report with a ready-to-paste `/sap-stms import` command list (never executed). Fills the cross-TR gap /sap-transport-readiness explicitly defers. Prerequisites: pinned profile via /sap-login (+ a second profile for `--target`); SAP NCo 3.1 (32-bit). No GUI, no Z-object, no dev-init. argument-hint: "sequence <TR1,TR2,…|--file=<path>> [--target=<profile>] [--max=200] [--skip-missing] | freeze-audit --from=YYYYMMDD --to=YYYYMMDD [--policy=<path>]"
You turn the release manager's hand-sorted import spreadsheet into a computed, explained sequence — and turn "the freeze was enforced by email and hope" into an audit trail. Read-only. **This skill never imports and never releases** — the ordered `/sap-stms import` lines are text the operator runs.
Task: $ARGUMENTS
**Detect-only by design.** No `import`, `release`, or `enforce` verb exists here. Execution stays with /sap-stms and its typed production gates (a human decision).
---
| File | Token / call | Purpose | |---|---|---| | `<SAP_DEV_CORE_SHARED_DIR>/rules/skill_operating_rules.md` | *(rule)* | Mandatory operating rules — read-only here | | `<SKILL_DIR>/references/sap_seq_read.ps1` | `-Trs -MaxTrs [-SkipMissing] -OutDir` | Source reads: headers/objects (normalized)/reverse-overlap/tasks | | `<SKILL_DIR>/references/sap_seq_graph.ps1` | `-InDir -OutDir` | **Offline** order + conflict graph | | `<SKILL_DIR>/references/sap_seq_target.ps1` | `-Against -ObjectsTsv -OverlapsTsv -OutDir` | Target predecessor + first-time-delivery check | | `<SKILL_DIR>/references/sap_freeze_audit.ps1` | `-From -To -PolicyJson -OutDir` | Freeze-window violation audit | | `<SKILL_DIR>/references/sap_seq_vrsd.ps1` | dot-source | VRSD materiality (`Get-VrsdInWindow`) | | `<SKILL_DIR>/references/freeze_policy_template.json` | template | Freeze policy shape; override at `{custom_url}\freeze_policy.json` | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_connection_lib.ps1` / `sap_rfc_lib.ps1` / `sap_artifact_lib.ps1` | dot-sourced / Step 5 | RFC, profile resolution, artifact index |
---
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)); Write-Output ('CUSTOM_URL=' + (Get-SapSettingValue 'custom_url' ((Get-SapWorkDir) + '\custom')))"Set `{RUN_TEMP}` via `Get-SapRunTemp`. `{OUT}` = `Get-SapArtifactDir -ScopeKey TRSET_<8-char hash of sorted TR list> -Skill sap-transport-sequencer` (sequence) or `FREEZE_<SID>_<from>_<to>` (audit).
powershell -ExecutionPolicy Bypass -File "<SAP_DEV_CORE_SHARED_DIR>\scripts\sap_log_helper.ps1" -Action start -StateFile "{RUN_TEMP}\sap_transport_sequencer_run.json" -Skill sap-transport-sequencer -ParamsJson "{}"---
First token `sequence` | `freeze-audit`; a bare TR list implies `sequence`. Validate:
`SEQ_INPUT_INVALID`. `--file=<path>` reads a newline/comma TR list. `--skip-missing` demotes an unknown TR from hard error to a WARN finding.
**NOT_YET_IMPLEMENTED** (v1.5 / v2) → say so and STOP.
No write modes exist → **no confirm-gate step**.
---
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "<SKILL_DIR>\references\sap_seq_read.ps1" -Trs "<TR1,TR2,...>" -SharedDir "<SAP_DEV_CORE_SHARED_DIR>" -OutDir "{OUT}"
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "<SKILL_DIR>\references\sap_seq_graph.ps1" -InDir "{OUT}" -OutDir "{OUT}"Parse the read's `STATUS:` — `SEQ_TR_NOT_FOUND` (exit 1, unless `--skip-missing`) → list the `MISSING:` TRs, STOP. The graph writes `sequence.tsv` + `conflicts.tsv` and emits `SEQ:`/`CONFLICT:`/`STATUS: OK ordered=.. unimportable=.. conflicts=..`.
**With `--target=<profile>`**, run the target check (a second /sap-login profile, read-only):
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "<SKILL_DIR>\references\sap_seq_target.ps1" -Against "<profile>" -ObjectsTsv "{OUT}\objects.tsv" -OverlapsTsv "{OUT}\overlaps.tsv" -OutDir "{OUT}"`SEQ_TARGET_UNREACHABLE` → ask the user: continue source-only (target rows `COULD_NOT_CHECK`, verdict capped at GO_WITH_WARNINGS) or abort. Never silently degrade.
Write `sequence_narrative.md` into `{OUT}` from `sequence.tsv` + `conflicts.tsv` (+ `target_check.tsv`). **Grounding rule: every constraint traces to a shared object.** 1. **Ordered import list** — position, TRKORR, release_ts, owner, description, `constrained_by`; explain WHY each is placed there ("must follow S4DK902334 because both touch ZCL_GOLDEN_TAX"). 2. *
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.
Repo: sapdev-ai/sap-dev
Activates an inactive SAP repository object via SAP GUI Scripting. Routes to the correct transaction by object type: SE38 for reports/programs/function- group…
Natural-language SAP API discovery over RFC (no GUI): turn a goal like "create a sales order" or "post a goods movement" into a ranked, trap-annotated,…
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), creates an ATC Run Series bound to…
Executes BDC (Batch Data Communication) sessions in SAP via RFC. Reads SHDB recording files from the bdc/ folder, connects via SAP NCo 3.1, calls…
Changes the package (TADIR-DEVCLASS) assignment of an SAP repository object via the "Object Directory Entry" dialog (Goto > Object Directory Entry). Routes by…
Validates ABAP source (report / program / FM / class / include) before deployment — one skill, dimension-dispatched: naming (variable conventions), type (DDIC…