Skip to content
Development
Skill

/sap-cc-analyze

Runs the S/4HANA-readiness ATC over a migration campaign's REMEDIATE objects and captures per-finding results into findings/findings_raw.tsv, advancing each object to ANALYZED. The ATC run is delegated to /sap-atc --variant=S4HANA_READINESS (so this skill ships no new GUI

From plugin
sap-dev
9123 skills3 agents

Claude Code

$ npx -y skills add sapdev-ai/sap-dev --skill sap-cc-analyze --agent claude-code

SKILL.md

sap-cc-analyze.SKILL.md
name: sap-cc-analyze
description: |
  Runs the S/4HANA-readiness ATC over a migration campaign's REMEDIATE objects and
  captures per-finding results into findings/findings_raw.tsv, advancing each
  object to ANALYZED. The ATC run is delegated to /sap-atc
  --variant=S4HANA_READINESS (so this skill ships no new GUI scripting; /sap-atc
  fails loud if that variant can't be located on the release, so a non-readiness
  run is never passed off as readiness). Two actions: `prepare` builds the
  worklist from scope.tsv; `ingest` parses ATC result exports (from /sap-atc or a
  manual "Manage Results" export — header-tolerant) into the findings ledger and
  advances state. Run after /sap-cc-usage, before /sap-cc-triage.
  Prerequisites: the connected system offers the S4HANA_READINESS variant with the
  Simplification Database loaded; /sap-atc working (its per-stage recordings
  target the S/4HANA 1909 ATC layout — re-record a failing stage with
  /sap-gui-probe --record).
argument-hint: "<prepare|ingest> --campaign <id> [--results <file|dir>] [--limit <n>] [--batch-size <n>] [--variant <NAME>]"

SAP Custom-Code Migration — S/4 Readiness Analysis

You run S/4HANA-readiness ATC across the campaign's REMEDIATE objects and fold the findings (with their simplification-item context) into the campaign ledger. The ATC engine is `/sap-atc`; this skill prepares its worklist and ingests its results.

Task: $ARGUMENTS

---

Shared Resources

| File | Token | Purpose | |---|---|---| | `<SAP_DEV_CORE_SHARED_DIR>/rules/skill_operating_rules.md` | *(rule)* | Mandatory operating rules. | | `<SAP_DEV_CORE_SHARED_DIR>/rules/settings_lookup.md` | *(rule)* | Settings / `work_dir` resolution. | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_settings_lib.ps1` + `sap_connection_lib.ps1` | *(dot-source)* | `Get-SapWorkDir`. | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_log_helper.ps1` | *(invoke)* | Start/step/end JSONL logging. | | `<SKILL_DIR>/references/sap_cc_analyze.ps1` | *(invoke)* | Offline spine: `prepare` (scope→worklist) and `ingest` (ATC results→`findings_raw.tsv`, state→ANALYZED). | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_readiness_probe.ps1` | *(invoke, RFC)* | Step 1.5 readiness-capability preflight — confirms the connected system HAS `S4HANA_READINESS` variants before the ATC loop (shared with `/sap-doctor`). | | `/sap-atc` | *(skill)* | The ATC engine. Run per worklist object with `--variant=S4HANA_READINESS`. Its per-stage VBS are recorded on S/4HANA 1909 — re-record a failing stage via `/sap-gui-probe --record` (see that skill). |

Workspace contract (`findings/findings_raw.tsv` columns, the ANALYZED state) is defined by `/sap-cc-campaign`. This skill **owns** `findings/findings_raw.tsv` and `findings/analyze_worklist.tsv`.

> This skill ships **no GUI VBS** — the GUI work is `/sap-atc`'s. Its own helper > is offline (files only), so it carries no session-broker / attach / Tier-3 > surface.

---

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

Set `{WORK_TEMP}` = `{work_dir}\temp` (create if needed) and `{CAMPAIGN_DIR}` = `{work_dir}\migrations\{campaign-id}`.

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 per-run scratch (the log state file below) under `{RUN_TEMP}`, never at a fixed name under the `{WORK_TEMP}` root.

---

Step 0.5 — Start Logging

State file: `{RUN_TEMP}\sap_cc_analyze_run.json`. Best-effort.

powershell -ExecutionPolicy Bypass -File "<SAP_DEV_CORE_SHARED_DIR>\scripts\sap_log_helper.ps1" -Action start -StateFile "{RUN_TEMP}\sap_cc_analyze_run.json" -Skill sap-cc-analyze -ParamsJson "{}"

---

Step 1 — Prepare the Worklist

Build the list of REMEDIATE objects that still need analysis (state SCOPED):

powershell -ExecutionPolicy Bypass -File "<SKILL_DIR>\references\sap_cc_analyze.ps1" -Action prepare -CampaignDir "{CAMPAIGN_DIR}"

Add `-Limit <n>` to cap the batch (useful for a first controlled run). Output: `WORKLIST: total=<n> file=...analyze_worklist.tsv` plus `SKIPPED: total=<m> file=...analyze_skipped.tsv` -- objects whose type has no `/sap-atc` Object-Set category (DEVC, MSAG, bare FUNC) are diverted to the skipped sidecar and kept OUT of the worklist, so they are not later mis-marked ANALYZED. Exit `1`/`STATUS: EMPTY` means nothing is in REMEDIATE/SCOPED -- run `/sap-cc-usage` first (or all objects are already ANALYZED).

**Batched analysis (A5, `--batch-size <n>`).** For large estates, add `-BatchSize <n>` so `prepare` ALSO writes `--object-list` batch files (`findings\atc_raw\batches\analyze_batch_<nnn>.tsv`, `<ATC_TYPE> <OBJ_NAME>` per line, ≤ n objects each) and emits `BATCHES: total=<k> size=<n> dir=<...>`. One batch = one `/sap-atc --object-list` run instead of n single runs — the analyze-phase wall-clock drops by ≈ batch-size. Stale batch files are cleared on each re-prepare. Omit (or 0) for the legacy per-object worklist. Pick n to fit the estate and the ATC run timeout (50–100 is a sane starting point; every object in one batch shares one run series + one poll).

---

Step 1.5 — Readiness-capability preflight (RFC; before the ATC loop)

The whole step runs `/sap-atc --variant=S4HANA_READINESS` in a loop. If the connected system cannot run that check, EVERY object plan-errors — a run that reads as "clean" (0 findings) while producing nothing. Catch it once, up front, instead of grinding the whole worklist. Run the shared readiness probe against the pinned connection (the same system `/sap-atc` will target):

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-cc-analyze.

Which coding agents can use sap-cc-analyze?
sap-cc-analyze 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.