← ClaudeAtlas

reviewlisted

Review existing ABAP code against the Clean ABAP rule set in ../CLAUDE.md (loaded on invocation). Use when the user asks to review, audit, or check ABAP for clean-code violations — magic numbers, naming, method shape, error handling, table reads, classes, etc. Outputs a structured report grouped by severity, ATC-checkable findings first. Targets modern ABAP only — BTP ABAP Environment or S/4HANA on-prem in the ABAP Cloud development model.
matt1as/claude-abap-skills · ★ 27 · Code & Development · score 77
Install: claude install-skill matt1as/claude-abap-skills
# clean-abap:review Review existing ABAP code against the Clean ABAP rule set in `../CLAUDE.md` (relative to this skill's directory). ## What this command does You are reviewing ABAP source code for compliance with the Clean ABAP rule set. Your job is to produce a **structured, prioritised review** — not to refactor the code (that is `/clean-abap:refactor`). ## Inputs Accept any of the following. If none are provided, ask the user which they want. - An ABAP object name — read it with `arc-1` `SAPRead` - A package name — enumerate with `arc-1` `SAPRead type=DEVC` or `SAPSearch`, then review object by object - A code block pasted into the conversation — always works, and is the only path when no read-capable server is connected **Tool routing.** Read the `## Tooling` section in `../CLAUDE.md` before the first tool call. Source reads and repository search run on **`arc-1`** — the official `abap-adt` server exposes neither. Optional corroboration: `abap-adt` `abap_atc_run` + `abap_atc_get_result` (fallback `arc-1` `SAPDiagnose action="atc"`) turns the ATC-checkable findings from guesses into evidence; `arc-1` `SAPLint` gives a cheap local pass on keyword case and obsolete statements. If neither server is connected, ask the user to paste the source from ADT in VS Code. ## Procedure 1. **Load the rule set.** Read every rule under `## RULE:` in `../CLAUDE.md`. These are the only rules in scope for this review. 2. **Get the source.** If pasted inline, use it. If an object na