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…
Pre-change / pre-release impact analysis — answers "if I change this object, what else might break?" from SAP's system-maintained cross-reference index (not by parsing source, which is blocked, nor by driving the slow GUI where-used). Resolves the object, then gathers reverse
$ npx -y skills add sapdev-ai/sap-dev --skill sap-impact-analysis --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/sap-impact-analysisContext preview
The summary Claude sees to decide when to auto-load this skill.
Pre-change / pre-release impact analysis — answers "if I change this object, what else might break?" from SAP's system-maintained cross-reference index (not by parsing source, which is blocked, nor by driving the slow GUI where-used). Resolves the object, then gathers reverse
name: sap-impact-analysis description: | Pre-change / pre-release impact analysis — answers "if I change this object, what else might break?" from SAP's system-maintained cross-reference index (not by parsing source, which is blocked, nor by driving the slow GUI where-used). Resolves the object, then gathers reverse dependencies (where-used), forward dependencies (what it uses), runtime entry points (tcodes, jobs, variants, RFC-enabled flag), and transport history. Computes a transparent LOW/MEDIUM/HIGH risk band from where-used fan-out + standard-object flag, writes a markdown report + per-dimension TSVs + risk findings, and registers them for /sap-evidence-pack. Discloses the dynamic-dispatch blind spot and reports COULD_NOT_CHECK rather than guessing on read failures. Inputs: program / class / FM / table / data element / domain / tcode (and TR / package by expansion). Read-only. Prerequisites: SAP profile via /sap-login (RFC); SAP NCo 3.1 (32-bit) in GAC. argument-hint: "<TYPE> <NAME> | <NAME> | TCODE <t> | TABLE <t> [--depth 1] [--output <dir>] [--high-fanout 50]"
You answer "**what does changing this object affect?**" using SAP's own cross-reference index — fast, RFC-only, both directions. You are read-only.
Task: $ARGUMENTS
This is the second delivery-assurance skill, built on the Phase-0 primitives and the cross-reference-index data-source strategy: read the index tables, never the source, never the GUI where-used.
---
| File | Call | Purpose | |---|---|---| | `<SAP_DEV_CORE_SHARED_DIR>/rules/skill_operating_rules.md` | *(rule)* | Mandatory operating rules — read-only here | | `<SKILL_DIR>/references/sap_impact_analysis.ps1` | `-Token -SharedDir [-TypeHint] [-HighFanout] [-MedFanout] [-OutputDir]` | The cross-reference impact engine | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_object_resolver.ps1` | dot-sourced by the engine | Object resolution + `Read-SapTableRows` | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_finding_lib.ps1` | dot-sourced by the engine | Risk findings + severity ranks | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_artifact_lib.ps1` | dot-sourced by the engine | Registers outputs for `/sap-evidence-pack` |
---
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))"cmd /c if not exist "{WORK_TEMP}" mkdir "{WORK_TEMP}"(`{WORK_TEMP}` = `{work_dir}\temp`.)
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))"Per the CLAUDE.md "Two-bucket temp model" write this skill's `_run.json` log state under `{RUN_TEMP}`.
---
powershell -ExecutionPolicy Bypass -File "<SAP_DEV_CORE_SHARED_DIR>\scripts\sap_log_helper.ps1" -Action start -StateFile "{RUN_TEMP}\sap_impact_analysis_run.json" -Skill sap-impact-analysis -ParamsJson "{}"---
`FM Z_MM_POST`, `DOMAIN ZDOM`) → pass `-Token "<TYPE> <NAME>"`. Best signal — use it when you know the type.
TADIR. If it returns AMBIGUOUS, re-run with a `-TypeHint`.
inventory first (the object resolver's `-Expand`), then run the engine **once per object** (cap at a sensible number — e.g. 25 — and `log()` what you skipped; never silently truncate). Aggregate the per-object risk bands in your summary. For a large package, advise the user to scope to specific objects.
Flags: `--depth N` (MVP computes depth 1 — direct deps; transitive is Phase 2), `--output <dir>`, `--high-fanout <n>` / `--med-fanout <n>` (risk band thresholds).
---
Run via **32-bit PowerShell** (NCo 3.1 in `GAC_32`):
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "<SKILL_DIR>\references\sap_impact_analysis.ps1" -Token "TABLE ZMM_ORDER" -SharedDir "<SAP_DEV_CORE_SHARED_DIR>"
Append `-TypeHint`, `-HighFanout`, `-MedFanout`, `-OutputDir` as needed. Creds resolve from the pinned profile automatically.
Engine output:
IMPACT: object=<O:N> risk=<LOW|MEDIUM|HIGH> reverse=<n> forward=<n> runtime=<n> trs=<n> PARTIAL: could_not_check=<tables> (only if some reads were denied) REPORT_MD / REVERSE_TSV / FORWARD_TSV / RUNTIME_TSV / TRANSPORT_TSV / RISK_TSV / RISK_JSON: <path>
Exit: `0` ok · `1` object not found / ambiguous · `2` RFC failure.
---
Read the `IMPACT:` line, then `REPORT_MD`. Present:
1. **Risk band** (LOW / MEDIUM / HIGH) and the headline counts: reverse (where-used), forward (uses), runtime entry points, transports. 2. **Reverse dependencies** — the programs/objects that would be affected. This is the core answer to "what might break." 3. **Runtime entry points** — tcodes / jobs / variants / RFC-enabled. These are how the object is reached at runtime. 4. **Two mandatory caveats** (never omit — honesty contract):
/ RFC). The analysis does NOT certify those clean.
check for `CALL FUNCTION lv_name`, dynamic `SELECT`, `SUBMIT (rep)`. 5. The risk band is a **transparent heuristic** (fan-out bands + standard-object flag), not a gua
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…