Skip to content
Development
Skill

/sap-evidence-pack

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

From plugin
sap-dev
8123 skills3 agents
Install
$ npx -y skills add sapdev-ai/sap-dev --skill sap-evidence-pack --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/sap-evidence-pack

Context 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

SKILL.md

sap-evidence-pack.SKILL.md
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]"

SAP Evidence Pack Skill

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).

---

Shared Resources

| 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 |

---

Step 0 — Resolve Work Directory

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}`.

---

Step 0.5 — Start Logging

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 "{}"

---

Step 1 — Determine the Scope

Pick the query mode from `$ARGUMENTS`:

  • **`TR <tr>`** → pass `-Token "TR <tr>"` (scope `TR_<tr>` derived locally — no SAP).
  • **`PACKAGE <pkg>`** → pass `-Token "PACKAGE <pkg>"` (scope `PKG_<pkg>` — no SAP).
  • **Object** (`<TYPE> <NAME>` or bare `<NAME>`) → the canonical scope key uses the

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 <id>`** → pass `-Ticket <id>` (collect everything tagged with that

ticket; no scope needed, no SAP).

  • **`--since <date>`** → pass `-Since <date>` (everything registered since; no SAP).

Flags: `--output <dir>` (pack location), `--include-logs` (include raw JSONL run logs in the pack).

---

Step 2 — Assemble 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.

---

Step 3 — Report

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:

  • missing `readiness_report` → `/sap-transport-readiness <TR>`
  • missing `impact_report` → `/sap-impact-analysis <obj>`
  • missing `atc_findings` → `/sap-atc <obj>`
  • missing `unit_results` → `/sap-run-abap-unit <obj>`

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.

---

Final — Log End

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

---

Scope & Limitations (MVP)

  • **Collects, does not check.** The pack
Read more
Ships withsap-dev

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.

Get the whole plugin

Other skills on sap-dev.