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 skills add marcellourbani/vscode_abap_remote_fs --skill sap-system-personality-reportgit clone --depth 1 https://github.com/marcellourbani/vscode_abap_remote_fsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/marcellourbani/vscode_abap_remote_fs/sap-system-personality-report)<a href="https://agentmods.dev/skills/marcellourbani/vscode_abap_remote_fs/sap-system-personality-report"><img src="https://agentmods.dev/badge/skills/marcellourbani/vscode_abap_remote_fs/sap-system-personality-report/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/marcellourbani/vscode_abap_remote_fs/sap-system-personality-report"><img src="https://agentmods.dev/badge/skills/marcellourbani/vscode_abap_remote_fs/sap-system-personality-report.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What 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.1 | $0.00082 | $0.03371 |
| Opus 5 | $0.00041 | $0.01685 |
| Sonnet 5 | $0.00016 | $0.00674 |
| Haiku 4.5 | $0.00008 | $0.00337 |
Grade A, and why
sap-system-personality-report 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 12d 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.
How it starts
The opening of the file, as written. The whole thing — 342 lines — stays where its author put it; the contents beside it link to each section on GitHub.
SAP System Personality Report
Generate a rich, structured report that characterizes an SAP system in human-readable terms. You will collect data by running SQL queries, then present the results in a webview table AND provide a narrative AI summary.
CRITICAL: Before running ANY query, call abapfs_get_sql_syntax to understand ABAP SQL syntax. Use get_object_lines to check table structures before running SQL queries.
CRITICAL: All queries must use ABAP SQL syntax (e.g., ORDER BY field DESCENDING not DESC). Use the abapfs_run_sql_query tool with displayMode: "internal" to collect data, then assemble final results into a displayMode: "ui" call.
Step 1: System Identity
Get basic system information first. Use the abapfs_get_sap_system_info tool — it returns system type (S/4HANA vs ECC), release, timezone, and client details. No SQL needed for this step.
Step 2: Custom Code Landscape — Object Counts
Run these queries to count custom objects. Use displayMode: "internal" with rowRange: {start: 0, end: 5} since we only need counts.
Run all of these in parallel (they are independent):
Classes
SELECT COUNT(*) AS CNT FROM SEOCLASS WHERE CLSNAME LIKE 'Z%' OR CLSNAME LIKE 'Y%'
Interfaces
NOTE: The SEOINTERF table does NOT exist in S/4HANA. Use TADIR instead:
SELECT COUNT(*) AS CNT FROM TADIR WHERE PGMID = 'R3TR' AND OBJECT = 'INTF' AND OBJ_NAME LIKE 'Z%'
Then separately for Y:
SELECT COUNT(*) AS CNT FROM TADIR WHERE PGMID = 'R3TR' AND OBJECT = 'INTF' AND OBJ_NAME LIKE 'Y%'
Sum both counts.
Programs/Reports (by type)
CRITICAL: The TRDIR table contains ALL program types (reports, includes, class pools, etc.). Using a raw count is very misleading since includes (SUBC='I') dominate the count. Always break down by SUBC field:
SELECT SUBC, COUNT(*) AS CNT FROM TRDIR WHERE NAME LIKE 'Z%' OR NAME LIKE 'Y%' GROUP BY SUBC ORDER BY CNT DESCENDING
SUBC values: '1'=Executable Reports, 'I'=Includes, 'M'=Module Pools, 'S'=Subroutine Pools, 'K'=Class Pools, 'J'=Interface Pools, 'X'=XSLT Programs.
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.
- 12d ago First seen · 342 lines · 82 tokens per session scan A 3a88edd4af31
sap-system-personality-report is a skill published in the GitHub repository marcellourbani/vscode_abap_remote_fs (389 stars, last pushed 2d ago), licensed MIT. It adds 82 tokens to every session and 3,371 once invoked, about $0.0004 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 skills, from other repositories
markdown
Markdown formatting rules for this project. Apply when writing or editing any .md or .mdx file, including documentation and website content.
oh-my-posh
Install, configure, or troubleshoot Oh My Posh/ohmyposh: shell init, themes, segments, Nerd Font icons, and prompt setup on PowerShell, zsh, bash, or fish.
research
Run deep research on any topic using the Deep Research MCP server. Use this skill whenever the user wants to research a topic, gather information, find sources, or create a research document. Triggers on: 'research this', 'find out about', 'gather information on', 'I need to understand', 'deep dive into', or any…
date-formatter
Converts dates between formats and handles timezone differences.
redux-to-swr
Migrate React components from Redux + Saga to SWR hooks. Use when converting data fetching from Redux store (reducers, sagas, selectors, connect HOC) to SWR-based hooks in CockroachDB DB Console or cluster-ui.
mma-investigator
Expert system for investigating MMA (Multi-Metric Allocator) behavior on CockroachDB clusters. Helps oncall engineers diagnose load imbalances, understand rebalancing decisions, and identify why MMA did or didn't act.