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…
Assembles the weekly delivery status report — objects in build/test/prod, quality-gate posture (RAG), TR pipeline position, and week-over-week progress — by correlating what the suite already produces instead of re-gathering it by hand every Friday. Offline-first: aggregates the
$ npx -y skills add sapdev-ai/sap-dev --skill sap-delivery-report --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/sap-delivery-reportContext preview
The summary Claude sees to decide when to auto-load this skill.
Assembles the weekly delivery status report — objects in build/test/prod, quality-gate posture (RAG), TR pipeline position, and week-over-week progress — by correlating what the suite already produces instead of re-gathering it by hand every Friday. Offline-first: aggregates the
name: sap-delivery-report description: | Assembles the weekly delivery status report — objects in build/test/prod, quality-gate posture (RAG), TR pipeline position, and week-over-week progress — by correlating what the suite already produces instead of re-gathering it by hand every Friday. Offline-first: aggregates the artifact index (ATC / check-abap / abap-unit / transport-readiness / impact verdicts), build KPIs, and optional campaign state, adds exactly one live RFC read (E071→E070/E07T) for TR position, and derives a DETERMINISTIC RAG from a shipped, customer-tunable rules table. Persists a snapshot for --since diffing and renders report.md (+ trend TSVs, optional docx). Every RAG cell cites the artifact ids behind it; any claim not backed by evidence is prefixed INFERRED: and "no evidence" is AMBER, never green. Read-only (one RFC read, all writes local; --offline drops even that). Prerequisites: SAP profile via /sap-login (RFC) unless --offline; SAP NCo 3.1 (32-bit) in GAC. No GUI, no Z-object dependency. argument-hint: "[generate] <PACKAGE pkg | TR trkorr | PROGRAM name | --ticket id> [--since last|YYYY-MM-DD] [--offline] [--docx] [--title \"...\"] | snapshots <scope>"
You assemble a **cross-workstream delivery status report** with a defensible RAG, a TR pipeline view, and a week-over-week diff — from machine-readable evidence the suite already produced. You are **read-only** (at most one RFC read).
Task: $ARGUMENTS
The aggregation + deterministic RAG + snapshot are computed by `references/sap_delivery_report.ps1`; **you** render the narrative `report.md` from its `report_data.json`, under a hard grounding rule (cite or prefix `INFERRED:`).
---
| File | Token / call | Purpose | |---|---|---| | `<SAP_DEV_CORE_SHARED_DIR>/rules/skill_operating_rules.md` | *(rule)* | Read-only operating rules | | `<SKILL_DIR>/references/sap_delivery_report.ps1` | `-Action generate\|snapshots -Scope <x> [-Since -Offline -Ticket -Title]` | The aggregation + RAG + snapshot engine | | `<SKILL_DIR>/references/sap_delivery_rag_rules.tsv` | read by the engine | Deterministic RAG derivation (customer-tunable, tighten-only) | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_artifact_lib.ps1` | dot-sourced | `Find-SapArtifacts`, scope key, `Register-SapArtifact` | | `<SAP_DEV_CORE_SHARED_DIR>/scripts/sap_object_resolver.ps1` | dot-sourced | Scope resolution, `Read-SapTableRows` (the one RFC read) | | `/sap-log-analyze` | sub-skill | `--builds` KPI refresh when the KPI file is stale | | `docx` | sub-skill | `--docx` rendering of the finished report |
---
powershell -NoProfile -ExecutionPolicy Bypass -Command ". '<SAP_DEV_CORE_SHARED_DIR>\scripts\sap_connection_lib.ps1'; Write-Output ('WORK_DIR=' + (Get-SapWorkDir)); Write-Output ('RUN_TEMP=' + (Get-SapRunTemp))"powershell -ExecutionPolicy Bypass -File "<SAP_DEV_CORE_SHARED_DIR>\scripts\sap_log_helper.ps1" -Action start -StateFile "{RUN_TEMP}\sap_delivery_report_run.json" -Skill sap-delivery-report -ParamsJson "{}"---
`--ticket <id>` | a scope-key directly (`PROG_X`, `PKG_Y`, `SID_S4D_100`).
`--docx`, `--title "<text>"`, `--campaign <id>`.
`generate` on an object/package/TR token needs an RFC connection (`/sap-login`) to resolve the scope + read TR position. A **scope-key or `--ticket`** target, or `--offline`, runs **fully local** (no RFC). If a token scope is given without a pinned profile and not `--offline`, point the user to `/sap-login`.
---
Run via **32-bit PowerShell** (any PowerShell for `--offline`):
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "<SKILL_DIR>\references\sap_delivery_report.ps1" -Action generate -Scope "PACKAGE ZDEV" -SharedDir "<SAP_DEV_CORE_SHARED_DIR>" -SkillDir "<SKILL_DIR>"
Append `-Since last`, `-Offline`, `-Ticket <id>`, `-Title "..."`, `-CustomUrl "{custom_url}"`. The engine aggregates the artifact index, computes RAG, writes `report_data.json` + a snapshot + trend TSVs, registers the data, and prints:
REPORT_DATA: <path> SNAPSHOT: <path> ARTIFACT_DIR: <path> RAG: GREEN=<n> AMBER=<n> RED=<n> SCOPE_KEY: <key> STATUS: OK | SCOPE_EMPTY | NO_INDEX | RFC_ERROR
STATUS handling: `SCOPE_EMPTY` (exit 1) → resolver found nothing, tell the user, `DR_SCOPE_EMPTY`, STOP. `NO_INDEX` (exit 0) → no artifact index yet; the report still renders with an **all-AMBER "no evidence" posture** — say so, log `DR_NO_ARTIFACT_INDEX` WARN. `RFC_ERROR` (exit 2) → the RFC read failed; TR column is COULD_NOT_CHECK but the report still renders — never present a partial as complete.
Read `report_data.json` (the computed `rows[]` with per-object `gates{kind:{verdict, coverage,artifact_id,rag}}`, `rag_counts`, `workstream_rag`, `kpi`, `diff`) and write `report.md` into `ARTIFACT_DIR`, sections in order:
1. **Header** — system/client, date, scope, title, overall workstream RAG. 2. **RAG summary** — GREEN/AMBER/RED counts; the worst-of rollup and why. 3. **Per-workstream detail** — group `rows` by RAG; for each object cite its gate artifact ids (e.g. `readiness_report A-1a2b… GO`). **Every RAG cell must carry its citing artifact id(s).** 4. **TR pipeline** — the `rows` with a `tr`: TRKORR, status, owner, text. 5. **KPIs** — from `kpi` if present; if absent, "not produced" (never 0%). Offer to run `/sap-log-analyze --builds` to refresh when stale. 6. **Progress since** *(only with `--since`)* —
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…