sap-activate-object
Activates an inactive SAP repository object via SAP GUI Scripting. Routes to the correct transaction by object type: SE38 for…
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
Claude Code
$ npx -y skills add sapdev-ai/sap-dev --skill sap-transport-sequencer --agent claude-code
Codex
$ npx skills add sapdev-ai/sap-dev --skill sap-transport-sequencer -a codex -y
Cursor
$ npx skills add sapdev-ai/sap-dev --skill sap-transport-sequencer -a cursor -y
Gemini CLI
$ npx skills add sapdev-ai/sap-dev --skill sap-transport-sequencer -a gemini-cli -y
GitHub Copilot
$ npx skills add sapdev-ai/sap-dev --skill sap-transport-sequencer -a github-copilot -y
OpenCode
$ npx skills add sapdev-ai/sap-dev --skill sap-transport-sequencer -a opencode -y
Windsurf
$ npx skills add sapdev-ai/sap-dev --skill sap-transport-sequencer -a windsurf -y
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.
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.