sap-enhancement-advisor

Classify SAP BAdI, SMOD, and program contexts to recommend enhancement mechanisms.

7|1|Updated May 11, 2026
One-click install
npx skills add https://github.com/sapdev-ai/sap-dev --skill sap-enhancement-advisor
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sap-enhancement-advisor
Source: https://github.com/sapdev-ai/sap-dev/tree/main/plugins/sap-dev-core/skills/sap-enhancement-advisor
Command: npx skills add https://github.com/sapdev-ai/sap-dev --skill sap-enhancement-advisor

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires sap_rfc_lib.ps1, sap_object_resolver.ps1, sap_finding_lib.ps1, sap_artifact_lib.ps1, sap_settings_lib.ps1, sap_connection_lib.ps1, sap_log_helper.ps1, and includes scripts (resource) and references (resource) components.

What problem does it solve?

Finds the safest extension point for a requested SAP behavior change and recommends which enhancement mechanism to use - so a project does not fail by modifying the wrong place (copying standard, editing a fragile exit, or missing the right BAdI). Complements /sap-se19 (which IMPLEMENTS a BAdI): this skill DECIDES. Three modes, auto-detected: inspect one BAdI / enhancement spot (classify classic/new/migrated + list implementations via SXS_ATTR / SXC_* / BADI_IMPL); inspect one SMOD enhancement (components via MODSAP + the CMOD projects using it via MODACT/MODATTR); or enumerate candidates for a program / tcode (enhancement spots + implementations in its package, BAdIs it references via the cross-reference index, and user-exit includes). Classifies and scores candidates with a TRANSPARENT heuristic (released enhancement interface > BAdI

exit > implicit; avoid standard modification), flags risks (multiple active implementations, migrated/obsolete BAdIs, no clean enhancement point), and emits candidates.tsv + existing_implementations.tsv + a recommended plan, registered in the artifact index. The optional business-intent string is ADVISORY only - the ranking is structural, not semantic; program-level enumeration is non-exhaustive (SE84 is). Read-only; never modifies SAP. Prerequisites: SAP profile saved via /sap-login (RFC); SAP NCo 3.1 (32-bit) in GAC. argument-hint: "BADI <name> | ENHANCEMENT <smod> | PROGRAM <p> | TCODE <t> ["<intent>"]"

Core Features & Use Cases

  • Inspect BAdI/enhancement spots to classify classic/new/migrated faces and list implementations.
  • Inspect SMOD/CMOD contexts to enumerate components and active CMOD projects.
  • Enumerate candidates for a given program or TCODE by scanning enhancement spots, packages, and references.
  • Score and rank options with a TRANSPARENT heuristic; flag risks like multiple active implementations or migrated BAdIs.
  • Output artifacts: candidates.tsv, existing_implementations.tsv, risk_findings.tsv/json, and a tailored enhancement-advice.md.
  • Provide actionable hand-off steps to implement/extend the chosen mechanism and conduct impact analysis.

Quick Start

Provide a target context (BAdI, SMOD, or PROGRAM) to the advisor and run it to obtain a recommended enhancement path.

Frequently Asked Questions about sap-enhancement-advisor

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find the safest SAP enhancement point for a custom behavior change?

To find the safest SAP enhancement point, analyze the target program or transaction to classify available BAdIs, enhancement spots, and user exits. Rank these candidates structurally, preferring released enhancement interfaces over fragile exits or standard modifications, to ensure a safe extension.

What is the difference between implementing a BAdI and choosing an SAP enhancement mechanism?

Choosing an SAP enhancement mechanism involves deciding the safest extension point and strategy, whereas implementing a BAdI executes that decision. The advisor classifies options and lists existing implementations to provide a prioritized plan before actual development begins.

How do I check existing BAdI implementations and SMOD components in SAP?

Check existing BAdI implementations and SMOD components by inspecting SAP repository tables via RFC. For BAdIs, read SXS_ATTR and SXC_* tables; for SMODs, read MODSAP for components and MODACT or MODATTR for active CMOD projects.

Can I enumerate enhancement candidates for a specific SAP program or tcode automatically?

You can enumerate enhancement candidates for a specific SAP program or tcode by scanning its package for enhancement spots, checking the cross-reference index for referenced BAdIs, and listing user-exit includes to produce a structured candidate list.

What risks should I look for when selecting an SAP enhancement spot?

When selecting an SAP enhancement spot, look for risks like multiple active implementations, migrated or obsolete BAdIs, and the absence of a clean enhancement point. Identifying these risks prevents modifying the wrong location or relying on fragile exits.

Do I need an SAP RFC connection to analyze enhancement spots and CMOD projects?

Yes, you need an SAP RFC connection to analyze enhancement spots and CMOD projects. The analysis relies on SAP context resolution via RFC and reading SAP repository tables, requiring a saved SAP profile and SAP NCo 3.1 installed in the Global Assembly Cache.