sap-activate-object
Activates an inactive SAP repository object via SAP GUI Scripting. Routes to the correct transaction by object type: SE38 for…
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
Claude Code
$ npx -y skills add sapdev-ai/sap-dev --skill sap-delivery-report --agent claude-code
Codex
$ npx skills add sapdev-ai/sap-dev --skill sap-delivery-report -a codex -y
Cursor
$ npx skills add sapdev-ai/sap-dev --skill sap-delivery-report -a cursor -y
Gemini CLI
$ npx skills add sapdev-ai/sap-dev --skill sap-delivery-report -a gemini-cli -y
GitHub Copilot
$ npx skills add sapdev-ai/sap-dev --skill sap-delivery-report -a github-copilot -y
OpenCode
$ npx skills add sapdev-ai/sap-dev --skill sap-delivery-report -a opencode -y
Windsurf
$ npx skills add sapdev-ai/sap-dev --skill sap-delivery-report -a windsurf -y
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.
Activates an inactive SAP repository object via SAP GUI Scripting. Routes to the correct transaction by object type: SE38 for…
Natural-language SAP API discovery over RFC (no GUI): turn a goal like "create a sales order" or "post a goods movement" into a…
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),…
Executes BDC (Batch Data Communication) sessions in SAP via RFC. Reads SHDB recording files from the bdc/ folder, connects via…
Changes the package (TADIR-DEVCLASS) assignment of an SAP repository object via the "Object Directory Entry" dialog (Goto >…
Validates ABAP source (report / program / FM / class / include) before deployment — one skill, dimension-dispatched: naming…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.