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…
Generates a reviewer / customer / audit-ready delivery evidence pack from the artifact index — answers "what did we change, how was it checked, and why is it safe?". It does NOT run checks; it COLLECTS what the other delivery-assurance skills already registered
$ npx -y skills add sapdev-ai/sap-dev --skill sap-evidence-pack --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/sap-evidence-packContext preview
The summary Claude sees to decide when to auto-load this skill.
Generates a reviewer / customer / audit-ready delivery evidence pack from the artifact index — answers "what did we change, how was it checked, and why is it safe?". It does NOT run checks; it COLLECTS what the other delivery-assurance skills already registered
name: sap-evidence-pack description: | Generates a reviewer / customer / audit-ready delivery evidence pack from the artifact index — answers "what did we change, how was it checked, and why is it safe?". It does NOT run checks; it COLLECTS what the other delivery-assurance skills already registered (transport-readiness, impact-analysis, ATC, check-abap, ABAP Unit, …) for a scope (TR / object / package), a ticket, or a date range, into one categorized pack folder + a human-readable index.md with an executive summary, a verdicts table, and — crucially — an honest "Missing evidence" section that states what was NOT produced instead of pretending everything was checked. Pure-local (reads the manifest + copies files); read-only w.r.t. SAP. Prerequisites: the other skills must have run first to register artifacts; SAP NCo 3.1 (32-bit) only when resolving an object name to a scope key. argument-hint: "<TR> | <TYPE> <NAME> | PACKAGE <pkg> | --ticket <id> | --since <date> [--output <dir>] [--include-logs]"
You assemble a **delivery evidence pack** from artifacts the other delivery-assurance skills registered in the artifact index. You collect and summarize — you do NOT re-run checks. If little was checked, the pack says so.
Task: $ARGUMENTS
This is the fourth delivery-assurance skill. It is the aggregator that makes the others' output credible — including, deliberately, by listing what is missing (the "missing evidence" philosophy).
---
| File | Call | Purpose | |---|---|---| | `<SAP_DEV_CORE_SHARED_DIR>/rules/skill_operating_rules.md` | *(rule)* | Mandatory operating rules | | `<SKILL_DIR>/references/sap_evidence_pack.ps1` | `-ScopeKey \| -Token \| -Ticket \| -Since [-OutputDir] [-IncludeLogs]` | The pure-local pack assembler | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_artifact_lib.ps1` | dot-sourced by the engine | `Find-SapArtifacts` — the manifest query | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_object_resolver.ps1` | *(only for object scopes)* | Resolve an object name → canonical scope key |
---
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}"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_evidence_pack_run.json" -Skill sap-evidence-pack -ParamsJson "{}"---
Pick the query mode from `$ARGUMENTS`:
TADIR object code (e.g. `PROG_ZMMR001`), so resolve it first with the object resolver, then pass `-ScopeKey`:
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "<SAP_DEV_CORE_SHARED_DIR>\scripts\sap_object_resolver.ps1" -Token "PROGRAM ZMMR001"
Read the `OBJECT: ... object=<O> name=<N>` line → scope key is `<O>_<N>`.
ticket; no scope needed, no SAP).
Flags: `--output <dir>` (pack location), `--include-logs` (include raw JSONL run logs in the pack).
---
powershell -ExecutionPolicy Bypass -File "<SKILL_DIR>\references\sap_evidence_pack.ps1" -Token "TR THE_TR"
…or `-ScopeKey "PROG_ZMMR001"`, or `-Ticket "SAP-4821"`, or `-Since 2026-06-01`. Append `-OutputDir`, `-IncludeLogs` as needed. This engine is pure-local — it does not connect to SAP — so plain `powershell` is fine (32-bit not required).
Engine output:
EVIDENCE: scope=<key> artifacts=<n> missing=<m> missing_files=<k> pack=<dir> INDEX_MD: <path>
Exit: `0` ok (even with 0 artifacts — it writes an honest "no evidence" pack) · `2` on error.
---
Open `INDEX_MD` and present:
1. **Scope** and **overall verdict** (rolled up from the collected artifacts — NO_GO wins over GO_WITH_WARNINGS wins over GO). 2. **What's in the pack** — the contents table (which skill produced what, with verdicts and coverage). 3. **Missing evidence** — read this section out explicitly. If `missing=<m>` is non-zero, name the gaps (e.g. "ATC was not run; no ABAP Unit results") and recommend the skill that would fill each:
4. If any artifact files were **missing on disk** (`missing_files`), flag that the index references outputs that have been moved/deleted.
Do NOT overstate coverage. The pack is credible precisely because it is honest about what was and was not checked.
---
powershell -ExecutionPolicy Bypass -File "<SAP_DEV_CORE_SHARED_DIR>\scripts\sap_log_helper.ps1" -Action end -StateFile "{RUN_TEMP}\sap_evidence_pack_run.json" -Status SUCCESS -ExitCode 0---
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…