Skip to content
Development
Skill

/sap-spau-triage

Pre-assembles the SPDD/SPAU modification-adjustment worklist for an upgrade or S/4 conversion and produces an ADVISORY classification per entry (adopt / reset-candidate / re-implement / unclear) with cited evidence, confidence, and effort band — so the upgrade team walks into

From plugin
sap-dev
9123 skills3 agents

Claude Code

$ npx -y skills add sapdev-ai/sap-dev --skill sap-spau-triage --agent claude-code

SKILL.md

sap-spau-triage.SKILL.md
name: sap-spau-triage
description: |
  Pre-assembles the SPDD/SPAU modification-adjustment worklist for an upgrade or S/4
  conversion and produces an ADVISORY classification per entry (adopt / reset-candidate /
  re-implement / unclear) with cited evidence, confidence, and effort band — so the upgrade
  team walks into the weekend with a triaged list instead of a blank SPAU tree, and the
  single biggest schedule risk (deciding reset-vs-adopt per entry under time pressure) is
  front-loaded. Read-only, pure RFC (NCo 3.1, 32-bit): scan builds the worklist from SMODILOG
  (aggregated per modified object) joined to ADIRACCESS access keys + TADIR packages;
  --deep pulls before/after version source via the SVRS FMs for AI diff commentary; inspect
  is a single-entry dossier. A deterministic offline classifier (rule table R1-R6 via the
  finding lib) fixes class/confidence/coverage BEFORE any LLM prose, so a recommendation
  never depends on model mood, and a reset-candidate is HIGH only with SVRS source-equal
  proof (note evidence is advisory LOW, never a reset on its own). It NEVER executes
  SPAU/SPDD — every recommendation is advisory in v1; a wrong "reset" deletes a customer
  modification, so every reset row cites its evidence and carries "verify in SPAU first".
  Fail-loud tri-state (unreadable versions / missing fields => COULD_NOT_CHECK, never a
  silent classify). No Z objects, no GUI (SPAU's driver diverges by release: SPAU_UI_START
  on 1909 vs RSUMOD04 on ECC6). Prerequisites: pinned RFC profile via /sap-login; NCo 3.1.
argument-hint: "scan [--package=<mask>] [--user=<mask>] [--since=YYYYMMDD] [--max=500] [--deep [--deep-max=25]] | inspect <OBJ_TYPE> <OBJ_NAME> [--deep]"

SAP SPAU/SPDD Triage Skill

You pre-triage the modification-adjustment worklist an upgrade will present in SPAU/SPDD: assemble the machine-readable evidence (modification log, access keys, version directory, note status) over RFC, classify each entry with a deterministic rule table, and write an ADVISORY report. You NEVER execute SPAU/SPDD and never reset a modification.

Task: $ARGUMENTS

The class/confidence/coverage of each entry is computed by `sap_spau_classify.ps1` (deterministic); **you** write the per-entry rationale and (--deep) diff commentary on top.

---

Shared Resources

| File | Token / call | Purpose | |---|---|---| | `<SKILL_DIR>/references/sap_spau_rfc.ps1` | `-Action worklist\|versions\|notes` | RFC backend (SMODILOG/ADIRACCESS/TADIR/SVRS/CWBNT*) | | `<SKILL_DIR>/references/sap_spau_classify.ps1` | `-WorklistTsv -VersionsTsv -NotesTsv -OutFile` | Offline deterministic classifier (R1-R6) | | `<SKILL_DIR>/references/sap_spau_classify.tests.ps1` | offline | R1-R6 fixture corpus (7 cases) | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_object_resolver.ps1` | dot-sourced | Package/type resolution | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_artifact_lib.ps1` | dot-sourced | `Register-SapArtifact` | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_finding_lib.ps1` | dot-sourced | tri-state coverage model | | `/sap-enhancement-advisor` | sub-skill | `route` re-implement candidates (v1.5) | | `/sap-login` | sub-skill | Pinned RFC profile (no GUI session needed) |

---

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)); Write-Output ('RUN_TEMP=' + (Get-SapRunTemp))"

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_spau_triage_run.json" -Skill sap-spau-triage -ParamsJson "{}"

---

Step 1 — Parse Arguments

Modes: `scan` (default) | `inspect <OBJ_TYPE> <OBJ_NAME>` | `route` (v1.5 -> hard ERROR "not yet shipped"). Flags: `--package=<mask>`, `--user=<mask>`, `--since=YYYYMMDD`, `--max=<n>` (default 500), `--deep [--deep-max=<n>]` (default 25). No GUI session is required — say so.

Step 2 — RFC Preflight

Needs a pinned RFC profile (`/sap-login`). Read `server_release_marker` to annotate the report (S/4: "new SPAU UI SPAU_UI_START; adjustment-free period applies" vs ECC: "classic RSUMOD04/RSUMOD02 SPAU"). SE95 (`SAPRMOMO`) is the stable manual cross-check tcode on both.

Step 3 — Build the Worklist (scan) / locate the entry (inspect)

C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "<SKILL_DIR>\references\sap_spau_rfc.ps1" -Action worklist -PackageMask "<mask>" -UserMask "<mask>" -Since "<YYYYMMDD>" -Max <n> -OutFile "{RUN_TEMP}\spau_worklist_raw.tsv" -SharedDir "<SAP_DEV_CORE_SHARED_DIR>"

Parse `WORKLIST: n=<k> partial=<0|1>`. `n=0` -> report "no adjustment-relevant modifications found" with the filters echoed — a SUCCESS with n=0, never a fabricated entry. `partial=1` -> the `--max` cap was hit; mark the report coverage PARTIAL. `SPAU_WORKLIST_READ_FAILED` (exit 1) -> abort, no partial TSV registered.

Step 4 — Version Evidence (--deep, always for inspect)

For the selected entries (cap `--deep-max`) run `-Action versions -ObjType <t> -ObjName <n> -DeepMax 1 -OutDir "{RUN_TEMP}\versions"`; collect `VERSIONS:` (count, newest) + the `active`/`newest` `.abap` source pair per object. Build a versions TSV (`obj_type`, `obj_name`, `equal_source` Y/N from a normalized-source hash compare, `numbered`) to feed the classifier's R1.

Step 5 — Note Evidence (advisory)

For note-referencing entries run `-Action notes -Notes "<n1,n2,...>"`; every `NOTE:` line carries `semantics=ADVISORY`. Build a notes TSV (`num`, `status`) for the classifier's R2.

Step 6 — Classify (deterministic)

powershell -ExecutionPolicy Bypass -File "<SKILL_DIR>\references\sap_spau_classify.ps1" -WorklistTsv "{RUN_TEMP}\spau_worklist_raw.tsv" -VersionsTsv "{RUN_TEMP}\versions.tsv" -NotesTsv "{RUN_TEMP}\notes.tsv" -OutFil
Read more
@sapdev-ai
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.

9123 skills3 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
9
Star history of sapdev-ai/sap-dev on GitHub, a chart by star-history.com

Other skills on sap-dev.

sap-activate-object

sap-activate-object

Activates an inactive SAP repository object via SAP GUI Scripting. Routes to the correct transaction by object type: SE38 for…

@sapdev-ai@sapdev-aiInstall Skill
sap-api-advisor

sap-api-advisor

Natural-language SAP API discovery over RFC (no GUI): turn a goal like "create a sales order" or "post a goods movement" into a…

@sapdev-ai@sapdev-aiInstall Skill
sap-atc

sap-atc

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),…

@sapdev-ai@sapdev-aiInstall Skill
sap-call-bdc

sap-call-bdc

Executes BDC (Batch Data Communication) sessions in SAP via RFC. Reads SHDB recording files from the bdc/ folder, connects via…

@sapdev-ai@sapdev-aiInstall Skill
sap-change-package

sap-change-package

Changes the package (TADIR-DEVCLASS) assignment of an SAP repository object via the "Object Directory Entry" dialog (Goto >…

@sapdev-ai@sapdev-aiInstall Skill
sap-check-abap

sap-check-abap

Validates ABAP source (report / program / FM / class / include) before deployment — one skill, dimension-dispatched: naming…

@sapdev-ai@sapdev-aiInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react3d252k
@facebook@facebookInstall Skill

Questions about sap-spau-triage.

Which coding agents can use sap-spau-triage?
sap-spau-triage installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.