agentsclimarketplace

Sap atc review

Skill StormShynn/sap-abap-agent/skills/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

Install
npx -y skills add StormShynn/sap-abap-agent --skill sap-atc-review

Assembled 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 tool sap_run_atc (objectUri ADT, checkVariant mac dinh DEFAULT) 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-reviewer cho 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 (khac sap_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 skill sap-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 coPhai 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: skill sap-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:

  1. 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".
  2. 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ứu released object ABAP Cloud.
    • WebFetch tới https://help.sap.com / https://api.sap.com nếu 2 nguồn trên không đủ.
  3. 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.
  4. 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.json nguyê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.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.