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 santoshkanthety/powerbi-agent --skill powerbi-custom-visualsgit clone --depth 1 https://github.com/santoshkanthety/powerbi-agentWrote 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/santoshkanthety/powerbi-agent/powerbi-custom-visuals)<a href="https://agentmods.dev/skills/santoshkanthety/powerbi-agent/powerbi-custom-visuals"><img src="https://agentmods.dev/badge/skills/santoshkanthety/powerbi-agent/powerbi-custom-visuals/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/santoshkanthety/powerbi-agent/powerbi-custom-visuals"><img src="https://agentmods.dev/badge/skills/santoshkanthety/powerbi-agent/powerbi-custom-visuals.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.00113 | $0.01418 |
| Opus 5 | $0.00056 | $0.00709 |
| Sonnet 5 | $0.00023 | $0.00284 |
| Haiku 4.5 | $0.00011 | $0.00142 |
Grade A, and why
powerbi-custom-visuals 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 — 126 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Authoring Power BI custom visuals end-to-end
Author a TypeScript Power BI custom visual, package it as .pbiviz, and embed it in a PBIR report so Power BI Desktop loads it on open. Three CLI commands plus the powerbi-visuals-tools SDK do the work; this skill drives Claude through the iteration loop.
Toolchain
| Tool | Role |
|---|---|
pbiviz (powerbi-visuals-tools) |
Scaffolds, type-checks, packages |
pbi-agent visual import-custom |
Copies .pbiviz into RegisteredResources/, registers in report.json |
pbi-agent visual list-custom |
Shows what's currently registered (embedded + public) |
pbi-agent visual remove-custom |
Removes registration + on-disk .pbiviz |
First-run setup (with user consent)
Confirm the user is on a machine that can run Node before installing anything.
node --version # need 18+ ; if missing, ask before installing
npm --version
npm install -g powerbi-visuals-tools
pbiviz --version
Pin SDK packages to known-good versions inside the visual project:
powerbi-visuals-toolsmatching the global pbivizpowerbi-visuals-apimatching theapiVersioninpbiviz.json
Scaffold
Always create the visual project as a sibling of the .pbip, never inside the .Report or .SemanticModel folders — Power BI Desktop will reject contaminated PBIR folders.
MyProject.pbip
MyProject.Report/
MyProject.SemanticModel/
mygaugevisual/ ← scaffolded here
pbiviz new mygaugevisual
cd mygaugevisual
npm install
Naming constraint: pbiviz new rejects names with anything other than letters and digits. Strip hyphens and underscores from any user-provided name before running it (my-gauge-v1 → mygaugev1).
Fill required pbiviz.json metadata
pbiviz package strict-validates author.name, author.email, visual.description, and visual.supportUrl. The fresh scaffold leaves them blank, so the first package call will fail on metadata before any code runs. Populate them up-front:
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 · 126 lines · 113 tokens per session scan A 50f08200625d
powerbi-custom-visuals is a skill published in the GitHub repository santoshkanthety/powerbi-agent (2 stars, last pushed 12d ago), licensed MIT. It adds 113 tokens to every session and 1,418 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-31.
Other skills, from other repositories
dashboard_composer
Skill "dashboard_composer" from G-Schumacher44/strata-oss, covering skill: dashboardcomposer, trigger, inputs, allowed tools and forbidden.
baoyu-diagram
Create professional, dark-themed SVG diagrams of any type — architecture diagrams, flowcharts, sequence diagrams, structural diagrams, mind maps, timelines, illustrative/conceptual diagrams, and more. Use this skill whenever the user asks for any kind of technical or conceptual diagram, visualization of a system…
sxo
Search Experience Optimization (SXO) — the bridge between SEO and UX/CRO. Audits the full journey from the SERP click to the on-page goal: SERP click-through factors (title/meta/rich results that win the click), then post-click experience signals that keep users and drive conversions — above-the-fold relevance and…
create-chatgpt-mockup
Render pixel-accurate ChatGPT mobile (iOS) screen mockups in light mode from a thread JSON. Supports user text bubbles, user image attachments, assistant markdown prose, citation chips, the OpenAI spiral logo, the Apps-SDK GPT chip in the composer, and three header styles (model-tag, plain title, "Get Plus"). Fixed…
journey-mapping
Build customer journey maps and service blueprints that visualize the end-to-end user experience including touchpoints, emotions, friction, and underlying systems. Use this skill whenever the user wants to map a customer journey, build a service blueprint, identify friction across an experience, align teams on the…
shiny-bslib
Build modern Shiny dashboards and applications using bslib (Bootstrap 5). Use when creating new Shiny apps, modernizing legacy apps (fluidPage, fluidRow/column, tabsetPanel, wellPanel, shinythemes), or working with bslib page layouts, grid systems, cards, value boxes, navigation, sidebars, filling layouts, theming…