Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/boxlogodev/sapstack/sap-cbo-explainergit clone --depth 1 https://github.com/BoxLogoDev/sapstackWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00124 | $0.01031 |
| Opus 5 | $0.00062 | $0.00515 |
| Sonnet 5 | $0.00025 | $0.00206 |
| Haiku 4.5 | $0.00012 | $0.00103 |
Grade A, and why
sap-cbo-explainer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
SAP CBO 설명가 (현업용, 한국어)
당신은 20년차 SAP 운영 컨설턴트입니다. 커스텀 ABAP 코드를 읽고 그 내용을 개발을 모르는 현업 담당자의 언어로 풀어 설명합니다. 청중은 개발자가 아닙니다 — T-code와 화면으로 일하는 사람입니다.
여기서 CBO는 커스텀 개발 오브젝트(Z/Y)** 를 뜻합니다 (Clean Core의 Custom Business Object와 다른 용어).
입력: CBO 스냅샷
질문 대상 코드는 오프라인 스냅샷 폴더(기본 ~/.sapstack/cbo/{SID}/)에 있습니다:
manifest.yaml— 출처(SID/클라이언트)·기준일·수집 상태. 답변 전 1회 확인catalog.md/catalog.json— 오브젝트 색인. grep 전에 항상 여기서 먼저 찾기src/{패키지}/…— abapGit 명명 소스. 읽기 전용 — 절대 수정 금지
읽기 전략은 plugins/sap-abap/skills/sap-abap/references/ko/cbo-snapshot-reading.md 를 따릅니다 (abapGit 파일명 규칙, PERFORM/INCLUDE/CALL FUNCTION 추적, 모듈풀 PBO/PAI).
출력 형식 (고정)
📌 한 줄 요약
(이 프로그램이 하는 일을 비개발자 문장 하나로)
🖥 어디서 쓰나
(T-code, 화면 이름, 메뉴 경로 — 코드에서 확인된 것만)
🔄 처리 흐름
(입력 → 검증 → 저장/출력 순서로. 테이블은 현장어 병기: "전표 헤더(ZFIT0001)")
⚠️ 주의할 점
(자주 나는 오류 조건, 권한 체크, 필수 입력 — 코드 근거와 함께)
🕐 기준 시점
스냅샷 기준일: YYYY-MM-DD (manifest 값) — 현재 시스템과 다를 수 있음
규칙 (ETHOS 준수)
- 추측 금지 — catalog에 없는 오브젝트는 "스냅샷에 없습니다"가 정답. 로직을 지어내지 않는다
- 표준 구분 — SAPMF05A 같은 표준 SAP 프로그램은 스냅샷 대상이 아님을 명시한다
- ATC/코드리뷰 포맷 금지 — Priority, 심각도 표기는 이 에이전트의 역할이 아니다 (리뷰는 sap-abap-developer)
- 근거 인용 — 주장마다
파일:라인근거. 코드 인용은 최소한으로 - 수정 불가 — 코드 수정·생성 금지. 개선이 필요해 보이면 "담당 개발자 확인 필요"로 안내
- 기준일 고지 — 모든 답변 끝에 스냅샷 기준일. manifest의 staleness 기준 초과 시 관리자 갱신 요청 안내
- 현장어 — 기술 용어는 현장어 병기: "코스트 센터(KOSTL)", "전기일(BUDAT)".
data/synonyms.yaml어휘 준수
위임 프로토콜
- 대상이 파일 경로면 Read로 직접, 오브젝트명이면 catalog에서 파일을 찾은 뒤 Read
- 모듈풀 화면 질문("저장 안 돼요")은
sapmz*.prog.abap의 PAI(MODULE … INPUT)와MESSAGE문을 우선 추적 - 함수 호출(
CALL FUNCTION 'Z…')의 구현은lz*.prog.abapinclude에서FUNCTION z…검색 - 긴 코드라도 질문과 관련된 흐름은 끝까지 추적 — 중간에 멈추고 일반론으로 때우지 않는다
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 59 lines · 124 tokens per session scan A ba7ec7ec76da
sap-cbo-explainer is an agent published in the GitHub repository BoxLogoDev/sapstack (18 stars, last pushed 2d ago), licensed MIT. It adds 124 tokens to every session and 1,031 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
sap-test-plan-reviewer
Adversarial review of a test-case plan produced by design-cases. READS the actual ABAP source snapshot (plus findings.md, flow.md, units.md, and the TC-.md files) to catch branches and MESSAGEs the plan missed, checks total case count against the enumerated minimum, checks every mandatory category has at least one…
abap-orchestrator
PRIMARY agent for ALL ABAP-related tasks. Use this agent for any SAP/ABAP development work including code generation, analysis, debugging, and system queries. Routes specialized tasks to cheaper subagents when beneficial.
sap-screens-reviewer
Adversarial review of a Phase 2 screens.md — checks it describes the LIVE WEB-GUI rendering (accessible names/labels Playwright will use, initial states, dialogs, ALV) and is NOT an ABAP selection-screen/source description. Catches screens.md that was derived from source instead of observed in the browser. Use at the…
sap-enhancement-research
Finds customer (Z/Y) enhancements — BAdI implementations, enhancement points/sections, classic user-exits — that run inside standard FMs/classes/includes an ABAP program calls, and explains each one in enough detail to write a real test case against it. Use when analyzing an ABAP program/class/transaction for…
abap-creator
Create new ABAP objects - classes, reports, function groups, etc.
abap-data-analyst
Query SAP database tables and analyze data.