Borrowing it
Nothing to install: this file belongs to Kemetra/Seshat-BI. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Kemetra/Seshat-BI/main/.claude/skills/pbip-xray/SKILL.mdgit clone --depth 1 https://github.com/Kemetra/Seshat-BIWrote 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/kemetra/seshat-bi/pbip-xray)<a href="https://agentmods.dev/skills/kemetra/seshat-bi/pbip-xray"><img src="https://agentmods.dev/badge/skills/kemetra/seshat-bi/pbip-xray/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/kemetra/seshat-bi/pbip-xray"><img src="https://agentmods.dev/badge/skills/kemetra/seshat-bi/pbip-xray.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00069 | $0.00716 |
| Opus 5 | $0.00034 | $0.00358 |
| Sonnet 5 | $0.00014 | $0.00143 |
| Haiku 4.5 | $0.00007 | $0.00072 |
Grade A, and why
pbip-xray 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 — 69 lines — stays where its author put it; the contents beside it link to each section on GitHub.
pbip-xray
- Capability id:
pbip-xray(docs/capabilities/capabilities.yaml). - Authority: advisory. Findings NEVER block, never move a readiness stage, and never carry a numeric health/quality score (hard principle: never fabricate a confidence score). Counts and findings only.
- Design spec:
docs/superpowers/specs/2026-08-01-pbip-xray-design.md.
When to invoke
- "Audit the Power BI model" / "what is dead weight in this model?"
- "What changed in the semantic model in this PR, in business terms?"
- "Is this column used anywhere?" / "why does this measure exist?" (pair
with
cross-table-lineagefor the cross-artifact chain). - Reviewing any PR that touches
*.SemanticModel/definition/**.tmdl.
The two verbs
seshat xray --format json # full-model audit
seshat model-diff --base origin/main --format json # PR-scoped semantic diff
Exit 0 = ran to completion (however many findings). Exit 3 = could not run;
the payload carries {code, message, recovery} blockers (XR001 no committed
model; XR002 unresolvable base ref).
Finding families (audit)
| id | meaning |
|---|---|
| X0 | a table file the parser could not read (excluded, never guessed) |
| X1 | column/measure unreferenced in scanned surfaces |
| X2 | relationship risks: many-to-many, dead inactive, string keys, snowflake chains |
| X3 | measure-graph: circular references, depth >= 5, cross-table duplicate logic |
| X4 | hygiene: unmarked date table, default summarizeBy feeding nothing |
Diff buckets (model-diff)
semantic (measure logic, column type, relationship behavior),
cosmetic (format/description/folder/sort), additive, removed.
Relationships match by ENDPOINTS, so TMDL GUID-name churn never reports.
Formatting-only DAX churn classifies cosmetic (normalized-body comparison).
The conservative core (read before trusting a finding)
- Absence of evidence never becomes a finding. No parseable report JSON
-> X1 wording downgrades to
(no report scanned -- visual usage unknown)and severity drops to info. - Unresolved DAX tokens EXCLUDE a column from every "unused" determination.
- Enforcement stays with
seshat check: D6 owns bi-directional relationships (X-Ray skips them entirely), D3 owns duplicate bodies, D7 owns the date-table marker -- X-Ray findings cite them.
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 · 69 lines · 69 tokens per session scan A fe1028567b97
pbip-xray is a skill published in the GitHub repository Kemetra/Seshat-BI (2 stars, last pushed 2d ago), licensed Apache-2.0. It adds 69 tokens to every session and 716 once invoked, about $0.0003 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-31.
Other skills, from other repositories
pr-verify
Verify a Docglow change actually works before submitting or merging a PR. Runs the conformance suite, then a behavioral verification pass (flag matrix, artifact-join spot checks, pipeline contract sweep, payload budget). Use when reviewing a PR, self-reviewing a branch before opening a PR, or when asked to "verify…
audit-my-assumptions
Use when a finished thing — a source, a result, code, or the record — is about to be trusted or consumed; the gate fires before the work leans on it. Fire FIRST - before a number is BUILT on inherited sources or PRESENTED from them - when the silent assumptions baked into procs, queries, exports, or workbooks have not…
lookml_view_reviewer
Skill "lookml_view_reviewer" from G-Schumacher44/strata-oss, covering skill: lookmlviewreviewer, trigger, inputs, allowed tools and forbidden.
sql-reviewer
Review SQL queries and dbt models for best practices, performance, and anti-patterns.
test-review
You are an expert DataHub test reviewer. Your role is to evaluate pytest smoke tests against established testing standards, identify issues, and provide actionable feedback.
ktx-analytics
Use when answering a question that needs data from a ktx-connected database - investigating, analyzing, "how many", "show me", "what's the breakdown of", finding records by value, exploring tables, comparing periods, explaining metrics, or any data-analysis request. Triggers even when the user does not say…