Sap atc review
Review code ABAP da scaffold theo checklist: naming Z*, released API, clean ABAP, test coverage. Output bao cao PASS/FAIL/WARN kem file:line. Dung sau khi scaffold xong (sap-scaffold-rap/cds), truoc khi commit/push abapGit. Bo sung cho agent abap-reviewer (agent do la persona-based review sau/method cu the; skill nay la pass kiem tra co script tu dong + checklist may moc truoc do).From its SKILL.md
npx -y skills add StormShynn/sap-abap-agent --skill sap-atc-reviewAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
7.2 KB, as published. Nobody here has run it
SAP ATC Review — Naming + Released API + Clean ABAP checklist
System ATC (MCP): khi session co
sap-connect+ tenant mo ADT ATC, goi toolsap_run_atc(objectUri ADT, checkVariant mac dinhDEFAULT) va dan JSON vao report muc "System ATC". Fail-open: neu tool 404/loi → ghi chu, van chay checklist local ben duoi (khong hard-block).
Khi nao dung
- ✅ Sau khi scaffold xong (
sap-scaffold-rap/sap-scaffold-cds). - ✅ Truoc khi commit/push len abapGit.
- 🔗 Dung cung agent
abap-reviewercho phan review sau/logic nghiep vu — skill nay tap trung vao cac check co the tu dong hoa (naming, released API, clean ABAP, test coverage). - 🔗 System findings: MCP
sap_run_atc(khacsap_syntax_check).
Output
Report dang markdown, ghi vao out/<ticket>/ATC_REVIEW.md (out/ la thu muc local per-user,
KHONG nam trong repo — xem skill sap-doc-to-md de biet duong dan day du):
# ATC Review — <ticket>
**Ngay**: <YYYY-MM-DD>
**Ket qua**: PASS / FAIL
## Summary
- ✅ PASS: 25
- ⚠ WARN: 3
- ❌ FAIL: 2
## Chi tiet
### ❌ Naming
- `src/zrap/zc_object.bdef.asbdef` — line 1: prefix Z* thieu underscore.
Quy trinh
Buoc 1: Naming lint (tu dong)
python "${CLAUDE_PLUGIN_ROOT}/reference/scripts/sap_naming_lint.py" out/<ticket>/src/
Check theo skill sap-clean-code: table ZTB* (≤16 ky tu), interface view ZI*, reuse view
ZR*, consumption view ZC*, behavior implementation ZBP*, service ZUI*/ZAPI*, class
ZCL_*, function module ZF_* (≤30 ky tu, tru table/message class co gioi han rieng).
Buoc 2: Released API check (tu dong)
python "${CLAUDE_PLUGIN_ROOT}/reference/scripts/check_released_api.py" out/<ticket>/src/
Check: khong dung CL_GUI* (tru class released), khong co CALL TRANSACTION/CALL DIALOG,
khong co AUTHORITY-CHECK (dung CDS DCL thay the), khong co SELECT * / SELECT...ENDSELECT.
Buoc 3: Clean ABAP check
- Khong co
SELECT *. - Khong co magic value (string so sanh truc tiep khong qua constant).
- Ten bien co y nghia (khong phai
lv_x,lt_tab— xem skillsap-clean-code). - Moi method co header comment ro rang muc dich.
Buoc 4: Test coverage check
- Moi behavior co class test.
- Moi method public co it nhat 1 test case (
sap-unit-test). - Test class prefix
ltc_*(LOCAL FRIENDS).
Buoc 5: Anti-rationalization review (kiem "cat goc")
Bat loi phan doan/cat goc ma script tu dong khong thay duoc. Nhung "vien co" hay gap nhat, cot "phai lam" la yeu cau thuc te:
| # | Vien co | Phai lam |
|---|---|---|
| R1 | "Chac released roi, khoi verify" | Verify qua sap-docs-research hoac View Browser ADT; chua chac -> [Unverified] |
| R2 | "Khong thay view thi bia gan dung" | Ghi vao INTAKE muc 6 "can lam ro", KHONG bia ten view/field |
| R3 | "Bo test / test sau" | Moi behavior/method BAT BUOC co ABAP Unit test |
| R4 | "Sua nhanh trong code chuan/core cua he thong (neu co repo read-only)" | Read-only tuyet doi — reference/copy ra ngoai, khong sua tai cho |
| R5 | "Gen lai toan bo cho nhanh" | Sua incremental, giu lai fix da co tu truoc |
| R6 | "Dung object on-prem quen thuoc (BAPI/transaction cu)" | Phai la released object cho ABAP Cloud — verify, khong doan |
| R7 | "Object chua released thi bo qua/bia" | Tim nguon released thay the (CDS/API chuan khac), hoac de xuat Key User Extensibility, KHONG dead-end |
Ghi vi pham vao report muc "🚩 Anti-rationalization" (file:line + ma R).
Buoc 6: Hanh dong
Neu co FAIL: dung, yeu cau user fix. Neu chi WARN: bao user, khong block.
Reference
- Scripts:
${CLAUDE_PLUGIN_ROOT}/reference/scripts/sap_naming_lint.py,${CLAUDE_PLUGIN_ROOT}/reference/scripts/check_released_api.py. - Naming: skill
sap-clean-code. Extensibility: skillsap-extensibility. - Released class check: skill
sap-released-classes— danh muc class ABAP duoc release. - BAdI/Enhancement check: skill
sap-badi-enhancement— Cloud BAdI patterns. - Authorization check: skill
sap-authorization— DCL, instance-based auth review. - SQL+AMDP check: skill
sap-abap-sql— ABAP SQL patterns & performance. - OData check: skill
sap-odata-service— OData V4 service review. - Agent
abap-reviewer— review sau/logic nghiep vu chi tiet hon. - Skill
sap-cloud-migration— khi dang phan tich/lap ke hoach migration code CU (on-prem/ECC), khac voi skill nay tap trung review code MOI vua scaffold; ca 2 cung doc chung nhom ma loi ATC (CLOUD_READINESS,USE_RELEASED_OBJECT...).
7. RAG Review Pattern (bổ sung, opt-in)
Lấy cảm hứng từ
google/ai-abap-assistant-sample (Genie for
SAP: code explanation / code review / suggest code / suggest ABAP unit test) và
Chirag-Dwivedi/SAP_ABAP_RAG_Chatbot
(pattern ingestion + retrieval). Plugin này không thêm MCP mới vào .mcp.json — tận dụng
các tool có sẵn (mcp-sap-docs-btp, cds-kb, WebFetch).
Khi review gặp quyết định "ranh giới" (object có released không, naming có chuẩn không, pattern nào là cloud-compliant), thay vì đoán, dùng luồng sau:
- Bước A — query retrieval: dựng câu query ngắn gọn (<200 token) từ file:line bị FAIL,
ví dụ
"RABAP Cloud ZCL_HTTP_CLIENT released API equivalent". - Bước B — truy vấn RAG mini trong plugin (ưu tiên):
cds-kb(đã bật) — kiểm tra xem view chuẩn nào có sẵn để thay thế.mcp-sap-docs-btp(đã bật) — tra cứureleased object ABAP Cloud.WebFetchtớihttps://help.sap.com/https://api.sap.comnếu 2 nguồn trên không đủ.
- Bước C — fallback về released-class table: nếu RAG không trả về trong 2 lần thử, dùng
bảng trong skill
sap-released-classes(mục 1–9) và đánh dấu[Unverified]trong report — KHÔNG tự ý chấm PASS. - Bước D — output: ghi vào ATC report mục mới "🔍 RAG lookup":
### 🔍 RAG lookup - File: src/zrap/zcl_xxx.clas.abap:42 - Query: "released API for HTTP client ABAP Cloud" - Nguồn: cds-kb + mcp-sap-docs-btp - Kết luận: PASS / FAIL / [Unverified] - Trích dẫn: <URL ngắn hoặc 1 dòng snippet>
Nguyên tắc (giữ đúng tinh thần plugin)
- Không tự ý bật MCP mới để có RAG mạnh hơn — giữ
.mcp.jsonnguyên trạng. - Đánh
[Unverified]khi retrieval mơ hồ, để user xác nhận. - Không commit/push snippet ABAP nhạy cảm kèm theo trích dẫn — chỉ ghi URL công khai.