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 HamadYMarafi/powerbi-agent-mcp --skill powerbi-dashboard-verifygit clone --depth 1 https://github.com/HamadYMarafi/powerbi-agent-mcpWrote 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/hamadymarafi/powerbi-agent-mcp/powerbi-dashboard-verify)<a href="https://agentmods.dev/skills/hamadymarafi/powerbi-agent-mcp/powerbi-dashboard-verify"><img src="https://agentmods.dev/badge/skills/hamadymarafi/powerbi-agent-mcp/powerbi-dashboard-verify/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/hamadymarafi/powerbi-agent-mcp/powerbi-dashboard-verify"><img src="https://agentmods.dev/badge/skills/hamadymarafi/powerbi-agent-mcp/powerbi-dashboard-verify.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.00094 | $0.01421 |
| Opus 5 | $0.00047 | $0.00711 |
| Sonnet 5 | $0.00019 | $0.00284 |
| Haiku 4.5 | $0.00009 | $0.00142 |
Grade A, and why
powerbi-dashboard-verify 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 — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Power BI dashboard verify
A report that deploys cleanly and renders blank looks identical from the API.
This skill is the post-deploy check that catches what structural validation
cannot see — docs/reference/PLAYBOOK.md 1.3. Run it after every deploy, not
just the first one: any deploy re-opens the loop.
The four verification levels
Each level catches what the one before it cannot
(docs/reference/PLAYBOOK_PART3.md Step 10):
| Level | Tool | Catches | Cannot see |
|---|---|---|---|
| 1 Offline JSON | validate_report |
schema errors, overlaps, out-of-canvas, missing date pins, theme drift, banned filter kinds, saved slicer picks | field errors the service only resolves at render time |
| 2 DAX tie-out | run_dax |
wrong numbers, a broken last-year basis, measure bugs | layout, formats, labels |
| 3 Screenshots | capture_pages |
clipping, label truncation, wrong sort, error tiles, wrong series, a weekly value on a daily axis | slicer behaviour |
| 4 Slicer-state capture | capture_pages, one state per pass |
blank pages, filters that ignore context, broken sync, a reset that does not reset, persisted state | — |
Run them in order — levels 1 and 2 are free (no render, no capacity cost). Never jump to level 3 or 4 to save time: a page can fail level 1 or 2 in a way that makes the screenshot round pointless.
Procedure
validate_report(folder, baseline)— do not continue past a nonzero error count. Read the warnings too; a warning outside the two known kinds (duplicate filter names by design, an unreachable offline schema URL) means look closer before dismissing it.- Structural diff:
get_report_definition(report, out_dir, workspace)on the just-deployed item, then compare its JSON against the local folder that was deployed. They should match part for part — a difference here is a deploy problem, not a design problem, and it is cheaper to catch here than in a wrong screenshot. run_dax(query, ...)— one batched query — only if no tie-out table already exists from the build; otherwise reuse it rather than re-deriving it.capture_pages(target, out_dir, headless=True, settle_seconds=60)for every page, in every state a user can put it in:
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 · 100 lines · 94 tokens per session scan A 625282110e85
powerbi-dashboard-verify is a skill published in the GitHub repository HamadYMarafi/powerbi-agent-mcp (1 stars, last pushed 13d ago), licensed MIT. It adds 94 tokens to every session and 1,421 once invoked, about $0.0005 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-design
Use this skill first when the user wants to design or plan a dashboard, especially Vizro dashboards. Enforces a 3-step workflow (requirements, layout, visualization) before implementation. Activate when the user asks to create, design, or plan a dashboard. For implementation, use the dashboard-build skill after…
wiring-vizro-actions
Use this skill when adding cross-filter, cross-highlight, drill-through, or data export interactions to a Vizro dashboard — both for choosing the right interaction pattern during design and for implementing actions in code. Activate when the user wants clicks on a chart or table to filter or highlight other charts…
writing-vizro-yaml
Use this skill when writing or debugging Vizro YAML dashboard configurations — component syntax, datamanager registration, custom function wiring, filter/parameter setup, or AG Grid tables. Activate when the user is building a Vizro app, encountering YAML or runtime errors, or asking about Vizro component patterns.
selecting-vizro-charts
Use this skill when choosing chart types, applying Plotly Express conventions, configuring colors, building KPI cards, or adding tables (AG Grid) to Vizro dashboards. Activate when the user asks which chart fits their data, needs custom chart functions, wants to set colors or palettes, is creating KPI metric cards, or…
designing-vizro-layouts
Use this skill when designing or building Vizro dashboard layouts — grid configuration, component sizing, filter/parameter placement, selector types, or container patterns. Activate when the user is creating wireframes, defining page structure, placing controls, or sizing charts.
dashboard-build
Use this skill to build, implement, and test Vizro dashboards (Phase 2). Activate when the user wants to create a working app, says "just build it", or has data ready for implementation. Requires spec files from the dashboard-design skill (Phase 1), or user confirmation to skip design.