Apply SAP Clean Core extensibility principles whenever the user writes, reviews, refactors, or designs ABAP code for SAP S/4HANA — any deployment (Public Cloud, Private Cloud, on-premise). Use this skill any time the conversation involves ABAP extensions, custom Z-code, BAdIs, BAPIs, user exits, CDS views, RAP services, custom fields or business objects, modifications, enhancements, ATC findings, the Cloudification Repository, ABAP Cloud vs classic ABAP, on-stack vs side-by-side architecture, RISE/GROW with SAP, BTP extensions, or migrating legacy ABAP toward ABAP Cloud. Trigger generously — even when the user just mentions terms like "modification," "user exit," "enhancement spot," "implicit enhancement," "Z-program," "Z-table," "released API," "internal SAP object," "upgrade-safe," "S/4HANA migration," "clean core," "fit-to-standard," "BTP first," or "technical debt in ABAP," this skill is almost certainly relevant. Better to load it and stay quiet than to miss the context.
Triage ABAP short dumps (ST22) — list recent dumps, group by root cause, read the dump chapters, pull the source at the termination point, and produce a prioritized report with a concrete fix suggestion per dump family. Use whenever the user mentions dumps, ST22, runtime errors, CX_ exceptions, "production crashed", TYPELOAD errors, "why did this ABAP terminate", or asks for a morning system-health check. Works fully in read-only mode — safe to run against production.
Reverse-document legacy ABAP — read a Z program/class/function group end to end, map its structure, database touchpoints, callers, and side effects, and produce structured documentation (purpose, flow, interfaces, data, risks). Use whenever the user asks "what does this program do", wants documentation for undocumented custom code, is onboarding onto an unfamiliar codebase, planning an S/4HANA migration impact analysis, or preparing a rewrite/retirement decision for old Z code. Fully read-only — safe on production.
Run a quality gate over an SAP transport request before it is released — collect the TR's objects, check for inactive objects and foreign locks, run syntax checks, ATC, and unit tests, then produce a structured go/no-go report. Use whenever the user wants to release a transport, asks "is this TR safe to release?", mentions transport quality, release checklists, pre-release validation, or CI/CD for ABAP. Also applies when reviewing someone else's transport before import into QAS/PRD. The gate only reads and checks by default — the actual release stays a human decision unless the user explicitly asks to release.