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/pbir-authoring-adapter/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/pbir-authoring-adapter)<a href="https://agentmods.dev/skills/kemetra/seshat-bi/pbir-authoring-adapter"><img src="https://agentmods.dev/badge/skills/kemetra/seshat-bi/pbir-authoring-adapter/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/pbir-authoring-adapter"><img src="https://agentmods.dev/badge/skills/kemetra/seshat-bi/pbir-authoring-adapter.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.00155 | $0.01821 |
| Opus 5 | $0.00077 | $0.00911 |
| Sonnet 5 | $0.00031 | $0.00364 |
| Haiku 4.5 | $0.00015 | $0.00182 |
Grade A, and why
pbir-authoring-adapter 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 11d 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 — 118 lines — stays where its author put it; the contents beside it link to each section on GitHub.
pbir-authoring-adapter
The adapter that completes F034: it writes the committed PBIR report the kit previously left for a human to build in Power BI Desktop. Authorized by ADR 0015 (owner-ratified 2026-07-05), which lifts spec-001 FR-008/FR-009 for this bounded adapter only -- the static core stays forbidden from writing PBIR.
What it is (and is NOT)
- It is a companion authoring adapter: reads a generated theme (Slice 1
retail theme-gen) + committed PBIR, WRITES committed PBIR JSON within an allow-list, and validates every write. - It is NOT the brain: it defines no metric, mapping, or semantic logic; it writes formatting/wiring, never business meaning.
- It is NOT publish-capable: it stops at the committed on-disk PBIR. Publishing to a live workspace is the parked F016 adapter (separate, gated).
- It does NOT build a dashboard from nothing: it restyles/positions visuals a human authored. "Great professional dashboards" is a design-intelligence layer that would ride on top -- this adapter is the mechanism, not that layer.
The boundary (carry into every increment)
- Allow-list only. Write ONLY the declared formatting/wiring properties (see
templates/pbir-adapter-contract.md). Increment A's allow-list: the report'sthemeCollection.baseTheme+ itsresourcePackagesitem + the BaseTheme resource file. Nothing else -- novisual.json, nopage.jsongeometry, no semantic-model file. - No external dependency. No pbi-cli, no Power BI MCP, no live connection, no
network. stdlib
json+pathlibonly. The tool is complete in itself. - Deterministic + validated + reversible. Byte-identical re-run; reviewable git
diff; stage -> validate (valid JSON +
$schemapreserved + round-trip stable + R1 model-ref + R2 authoring-lint) -> commit-or-roll-back; all-or-nothing. - Evidence, not approval. A successful write is evidence formatting was applied;
it moves NO readiness stage and emits NO score (hard rule #9). The
dashboard_ready/ design-review sign-off stays a named human's decision. - The core polices; the adapter writes.
seshat checkR2 is the read-only core lint over the written report; the writer (src/seshat/pbir_theme_apply.py) is the adapter. The core never writes PBIR (ADR 0015 decision 1).
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.
- 11d ago First seen · 118 lines · 155 tokens per session scan A bf7049b19f39
pbir-authoring-adapter is a skill published in the GitHub repository Kemetra/Seshat-BI (2 stars, last pushed 2d ago), licensed Apache-2.0. It adds 155 tokens to every session and 1,821 once invoked, about $0.0008 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
powerbi-modifying-theme-json
Design, enforce, audit, and validate Power BI report themes. This skill MUST be invoked when a report uses the default or built-in theme, has a minimal custom theme (few or no visualStyles), or has accumulated many visual-level formatting overrides (objects/visualContainerObjects in visual.json); these are signs the…
powerbi-report-design
Power BI report design principles, layout guidance, and formatting best practices. Automatically invoke when the user asks about "report layout", "design best practices", "visual hierarchy", "3-30-300 rule", "KPI card design", "page layout", "accessibility in reports", "visual spacing", "report canvas", "card design…
powerbi-svg-visuals
SVG generation via DAX measures and extension measures with ImageUrl data category for inline visualizations in PBIR reports. Automatically invoke when the user mentions "SVG visual", "DAX sparkline", "SVG measure", "inline graphics with DAX", "ImageUrl data category", "extension measure", or asks to create any…
powerbi-custom-visuals
Build, package, and embed Power BI custom visuals (.pbiviz) into PBIR reports via the powerbi-visuals SDK. Automatically invoke when the user asks to "create a custom visual", "vibe-code a visual", "build a pbiviz", "scaffold a custom visual project", "import a custom visual into the report", "iterate on visual.ts"…
powerbi-report-authoring
General report authoring patterns. Use when the user mentions: report, page, visual, chart, bar chart, line chart, matrix, table, slicer, filter, bookmark, tooltip, drill-through, navigation, layout, canvas, report design, visual formatting, conditional formatting, KPI, card, decomposition tree.
powerbi-report-theming
Power BI report theming via pbir.tools - color palettes, typography, text classes, theme templates, visual formatting, icons, background images, and conditional formatting rules. Use when the user mentions: theme, theming, color palette, brand colors, fonts, typography, text class, formatting, conditional formatting…