reverse-engineer
/reverse-engineer
Wyjaśnia działanie istniejącego kodu ABAP i przyczyny błędów, śledząc punkt wejścia, łańcuch wywołań i przepływ danych.
- Autor
- marian-kamenistak ↗
- Repozytorium
- sap-ai-skills ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 09.11.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Brak sygnałów. Repozytorium zmienione 09.11.2026, bez odwołań do wycofanych modeli i API.
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
Co robi i kiedy
Wyjaśnia działanie istniejącego kodu ABAP i przyczyny błędów, śledząc punkt wejścia, łańcuch wywołań i przepływ danych.
Wyzwalacze z opisu
Oryginalny opis (EN)
Explain how existing SAP ABAP code works or why it fails, by finding the entry point (transaction, report, BAdI, user exit, RFC, batch job) and following the call chain, data flow and where-used, with a Mermaid diagram and evidence from the code. Use when someone asks "how does X work", "where is this field filled", "why does Y happen", "what calls this function module", "what does this Z program do", "trace this transaction", "which BAdI changes this value", or needs to understand legacy code before a change, a refactor or a bugfix. Read-only, never changes code. Not for writing documentation
Jak działa
- When to use
- When not to use
- How you reach the system
- Workflow
- Rules
- Output
Podgląd SKILL.md
---
name: reverse-engineer
description: Explain how existing SAP ABAP code works or why it fails, by finding the entry point (transaction, report, BAdI, user exit, RFC, batch job) and following the call chain, data flow and where-used, with a Mermaid diagram and evidence from the code. Use when someone asks "how does X work", "where is this field filled", "why does Y happen", "what calls this function module", "what does this Z program do", "trace this transaction", "which BAdI changes this value", or needs to understand legacy code before a change, a refactor or a bugfix. Read-only, never changes code. Not for writing documentation for others (use documentation) and not for fixing the bug (use bugfix).
---
# reverse-engineer
Answer "how does this work" and "why does this happen" with evidence from the code, not from
general SAP knowledge. Custom SAP systems are full of user exits, BAdIs, enhancements and copied
programs; a confident answer from memory is often wrong. Every claim in the answer points to a
program, include and line.
## When to use
- Before a change: understand what the existing code does and what depends on it
- A behaviour nobody can explain ("the price changes after save", "the job skips some orders")
- Inherited code with no documentation and no owner
- Input for bugfix, refactor, cds-rewrite or a spec-grill session
## When not to use
- Writing up an object for Confluence: use documentation
- Fixing what you found: use bugfix or refactor
- The question is about SAP standard behaviour with no custom code involved: say so and point to
the SAP documentation or note instead of tracing
## How you reach the system
Say which setup you are using; it decides how far the trace can go.
- **ABAP MCP server (read is enough).** Follow the call chain and where-used across the whole
DEV system: SE93 transaction to program, CALL FUNCTION, method calls, BAdI implementations,
enhancement implementations, user exits, RFC destinations. This skill never writes.
- **Files exported with abapGit.** Follow the chain inside the exported package only. Every call
that leaves the package is a dead end: list it as "outside the export" and ask for it.
- **Pasted snippets.** Work only with what was pasted. Say clearly which parts of the chain a
person has to piece together in the system.
## Workflow
**1. Pin the question.** Restate it as one sentence with an observable behaviour: "Why does
field X on screen Y show value Z for document type A?" If it is vague, ask one question to sharpen
it.
**2. Find the entry point.** Transaction (SE93), report, BAdI or enhancement spot, user exit,
RFC-enabled function module, IDoc process code, batch job step (SM37) or workflow. Name it with
the program and include.
**3. Follow the chain.** Walk from the entry point to where the behaviour happens. Record each hop:
caller, callee, include and line, and what data passes. Include implicit hops that are easy to
miss: active BAdI implementations, implicit enhancements, user exits (CMOD/SMOD), update task
function modules, field symbols changed by reference.
**4. Draw the data flow.** One Mermaid diagram (sequence or flowchart) from entry point to the
behaviour. Keep it to the hops that matter, under about 15 nodes.
**5. For a "why" question, rank the causes.** List likely causes in order, each with the code
lines that support it and what would rule it out. Then STOP: a person confirms the cause in the
debugger (breakpoint at the lines you name) before anyone fixes anything.
## Rules
- Evidence or nothing. Every statement names the object and line it comes from. If you are
inferring, say "inferred" and why.
- Never read table contents to answer the question. Structure (DDIC) and code are enough; if the
answer depends on customizing values, ask a person to check them and tell you.
- Never change code, not even a "quick test". This skill is read-only.
- Stay in the customer namespace for the trace detail. For SAP standard code, name the hop and
move on unless the question is about it.
- If the trace leaves what you can see (another system over RFC, a package outside the export),
stop the chain there and say so.
## Output
1. The question in one sentence
2. Entry point
3. Call chain as a numbered list (object, include, line, what happens)
4. Mermaid diagram
5. For "why": ranked causes with evidence and the debugger breakpoints that confirm each one
6. Open ends: what you could not see and who could fill it in
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · marian-kamenistak/sap-ai-skills | 90 | MIT |
| boshu2/agentops | 100 | Apache-2.0 |
| AsiaOstrich/universal-dev-standards | 100 | MIT |
| Akshat2430/reverse-engineer-sheets | 100 | MIT |
| AsiaOstrich/universal-dev-standards | 84 | MIT |
Migawka bazy z 13.11.2026 · wersja paczki 08ba5998adec (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100bugfix
Naprawia błąd w kodzie ABAP na podstawie zrzutu ST22 lub logu, śledząc łańcuch wywołań do przyczyny. - 100documentation
Pisze dokumentację obiektu lub pakietu SAP ABAP na podstawie kodu: cel, wejścia, wyjścia, tabele, wywołania i ryzyka, w formacie Markdown. - 100sap-testing
Wskazuje punkt wejścia do testów UI SAP: układ projektu, dostępne narzędzia, fazy pracy i delegowanie zadań przy testach w Playwright. - 100legacy-code-doc
Dokumentuje wstecznie starszy kod ABAP: czyta program Z, klasę lub grupę funkcji, mapuje strukturę, dostęp do bazy, wywołujących i skutki uboczne oraz tworzy dokumentację celu, przepływu, interfejsów, danych i ryzyk. - 100abap-clean-core
Stosuje zasady Clean Core SAP przy pisaniu, przeglądzie i refaktoryzacji kodu ABAP dla S/4HANA: rozszerzenia, BAdI, CDS, RAP, ABAP Cloud i ustalenia ATC. - 87badi-enhancement
Pomaga w tworzeniu BAdI i rozszerzeń w ABAP oraz w klasyfikacji technik rozszerzeń według zasady clean core, w tym nowych BAdI, enhancement spots i extensibility dla key user.