Power Bi AI Readiness
DKH-DK/Self-Service-Power-BI-Fabric
Score and prepare Power BI semantic models for AI (Fabric Data Agent / Copilot).
Actionable feedback on the quality, usage, and effectiveness of Power BI reports.
$ npx skills add data-goblin/power-bi-agentic-development --skill review-report -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install data-goblin/power-bi-agentic-development review-report --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/data-goblin/power-bi-agentic-development.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/reports/skills/review-report .claude/skills/review-report && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "review-report" agent skill from https://github.com/data-goblin/power-bi-agentic-development/tree/main/plugins/reports/skills/review-report into .claude/skills/review-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-report", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/data-goblin/power-bi-agentic-development/tree/main/plugins/reports/skills/review-reportType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add data-goblin/power-bi-agentic-development --skill review-report -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install data-goblin/power-bi-agentic-development review-report --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/data-goblin/power-bi-agentic-development.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/reports/skills/review-report .agents/skills/review-report && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "review-report" agent skill from https://github.com/data-goblin/power-bi-agentic-development/tree/main/plugins/reports/skills/review-report into .agents/skills/review-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-report", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add data-goblin/power-bi-agentic-development --skill review-report -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install data-goblin/power-bi-agentic-development review-report --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/data-goblin/power-bi-agentic-development.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/reports/skills/review-report .cursor/skills/review-report && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "review-report" agent skill from https://github.com/data-goblin/power-bi-agentic-development/tree/main/plugins/reports/skills/review-report into .cursor/skills/review-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-report", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/data-goblin/power-bi-agentic-development.git --path plugins/reports/skills/review-report--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add data-goblin/power-bi-agentic-development --skill review-report -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install data-goblin/power-bi-agentic-development review-report --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/data-goblin/power-bi-agentic-development.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/reports/skills/review-report .gemini/skills/review-report && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "review-report" agent skill from https://github.com/data-goblin/power-bi-agentic-development/tree/main/plugins/reports/skills/review-report into .gemini/skills/review-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-report", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install data-goblin/power-bi-agentic-development review-reportInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add data-goblin/power-bi-agentic-development --skill review-report -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/data-goblin/power-bi-agentic-development.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/reports/skills/review-report .github/skills/review-report && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "review-report" agent skill from https://github.com/data-goblin/power-bi-agentic-development/tree/main/plugins/reports/skills/review-report into .github/skills/review-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-report", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add data-goblin/power-bi-agentic-development --skill review-report -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install data-goblin/power-bi-agentic-development review-report --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/data-goblin/power-bi-agentic-development.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/reports/skills/review-report .opencode/skills/review-report && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "review-report" agent skill from https://github.com/data-goblin/power-bi-agentic-development/tree/main/plugins/reports/skills/review-report into .opencode/skills/review-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-report", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
review-reportActionable feedback on the quality, usage, and effectiveness of Power BI reports.
Review Report is an agent skill from data-goblin/power-bi-agentic-development. Actionable feedback on the quality, usage, and effectiveness of Power BI reports. Automatically invoke when the user asks to "review a report", "audit a report", "report usage analysis", "report health check", "find unused reports", "check if a report is being used", "assess report performance", "evaluate report quality".
Its SKILL.md is about 4.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 64 other files, including scripts and reference files (for example `references/accessibility-audit.md`, `references/best-practices.md` and `references/distribution.md`).
It sits in Data & Analytics. It works with Power BI. The repository describes itself as: Power BI AI skills and Power BI agents for Claude Code and GitHub Copilot: a plugin marketplace of Power BI skills, subagents, and hooks for semantic models, DAX, TMDL, reports… The licence is GPL-3.0.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit a301717. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 4 files in scripts/ (Python, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
python3azuvclaudeFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
data-goblins.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Review Report loads about 4.2k tokens when it runs, and up to ~25k if it reads all its reference files. Until then it costs about 84 tokens; SKILL.md has 1,903 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from data-goblin/power-bi-agentic-development at commit a301717, republished under its GPL-3.0 licence (© data-goblin). 1,903 words, ~4,229 tokens.
.claude/skills/review-report/SKILL.md (or your agent's skills folder). This skill also uses 60 other files; get the full folder from GitHub.Structured evaluation of Power BI reports to produce actionable feedback for developers and consultants. A report review assesses whether a report is effective, well-built, and actually being used. The output is a prioritized list of findings with concrete recommendations.
Note that the skill works on one of three scenarios:
In scenario 2-3 you may still provide feedback on the report content / structure, but prioritizing other things first.
Activate when conducting a report review, audit, or health check. Common triggers:
A comprehensive report review evaluates six dimensions. Not every review needs all six -- scope to what the user needs.
The most objective signal of report value. A report that nobody views is a maintenance liability regardless of its design quality.
Retrieve usage data with the scripts in scripts/:
# Workspace overview (views, rank, page views, load times)
python3 scripts/get_report_usage.py -w <workspace-id>
# Add Tier 3 cross-workspace last-visited timestamps via the undocumented DataHub V2 API
# Useful for the "is this report being used at all" question without tenant admin role
python3 scripts/get_report_usage.py -w <workspace-id> --include-datahub
# Single report deep-dive (daily views, per-viewer breakdown, page views by day)
python3 scripts/get_report_detail.py -w <workspace-id> -r <report-id>
# Distribution audit (who has access, through what channels)
python3 scripts/get_report_distribution.py -w <workspace-id> -r <report-id>Filtering viewers: Exclude non-consumer users from adoption metrics. Service principals (type App), report developers, and IT / support personnel inflate viewer counts and distort reach. See references/usage-metrics.md for identification heuristics and references/distribution.md for resolving security groups and distribution lists via the Microsoft Graph API.
Evaluate usage signals:
references/distribution.md for how to calculate reach and what the numbers meanreferences/usage-metrics.md)pbir pages listlastVisitedTimeUTC field (--include-datahub) is the non-admin cross-workspace fallback; flag to the user it's undocumented and can breakreferences/performance.md for interpretationDo not use arbitrary thresholds for what constitutes "healthy" or "concerning"; these depend entirely on the report's audience, purpose, and lifecycle stage. A report for 3 analysts has different expectations than one for 300 executives. Match the review window to the report's cadence before drawing conclusions; see references/usage-interpretation.md for common misreads of the modern Usage Metrics report and the retire/keep/redesign decision framework.
Subscriptions are not views. Email subscriptions deliver report snapshots without generating view events. Check admin/reports/{id}/subscriptions (requires Fabric Admin) for active subscribers. A report with 0 views but active subscriptions is being consumed passively.
Use rolling 7-day averages for view trends. Raw daily counts are noisy. Compare the current 7D average to the prior 7D to identify trajectory. See references/usage-metrics.md for methodology.
Key insight: Reports with 0 views are not necessarily bad. They may be new, seasonal, consumed via subscriptions, or used via embedded scenarios not captured in telemetry. Cross-reference with last-visited timestamps. Prefer the Tier 1 admin Activity Events feed where admin access is available; fall back to the Tier 3 DataHub V2 path when it is not, while flagging that it is undocumented.
Permissions: Tier 1 (WABI) needs any workspace role. Tier 2 (model) needs workspace Contributor+. Distribution and subscription checks need Fabric Admin (tenant-level). See references/usage-metrics.md for the full permission matrix.
For additional context on the usage metrics dataset schema and available tables, see usage-metrics-dataset/.
Evaluate the visual design and information architecture. Consult the pbi-report-design skill for detailed guidelines. Reference: Data Goblins Report Checklist.
Checklist:
Evaluate the connection between the report and its underlying semantic model.
Checklist:
Assess report load time and visual complexity. Run the performance audit script:
python3 scripts/performance_audit.py -w <workspace-id> -r <report-id>See references/performance.md for percentile interpretation, DAX query inference from visual field bindings, and common anti-patterns.
Key indicators: P50 and P90 load times, visual count per page, extension measure count. Visual count is a proxy; query cost per visual is the real driver. See references/performance-audit.md for the full cost model, how to interpret a Performance Analyzer export, DirectQuery report-layer tuning levers, and the interaction/navigation audit. Do not apply rigid visual-count thresholds without reading the cost model first.
Assess the report's governance posture. See references/report-metadata.md.
Checklist:
references/export-to-excel.md)Evaluate whether the report meets accessibility, organizational standards, and documentation requirements.
Accessibility:
Most accessibility checks can be run statically against PBIR files; only focus traversal and screen-reader readout need a live report. See references/accessibility-audit.md for the full procedure: geometry/alignment audit, tab-order reconciliation, static pass (alt text, decorative items, color-only encoding), SVG-measure checks, script visual checks, and mobile readiness.
Summary checklist:
tabOrder = -1)Standards:
Documentation (for handover/production):
Clarify what the user wants reviewed. Ask:
Ask the user:
If the semantic model is in scope, use the semantic-model skill in parallel. Many report issues (slow visuals, (Blank) values, missing fields) originate in the model. See references/best-practices.md for model symptoms that surface in reports.
If the report is local-only or not yet published, ask the user:
"Is this a report in development which doesn't yet have users, a report in testing with a subset of the user audience, or a report that's already distributed and should be seeing active usage and value generation?"
This determines which dimensions are applicable:
| Stage | Usage data? | What to review |
|---|---|---|
| Development | No | Design, data model binding, performance, accessibility, structure |
| Testing | Partial | All of the above + verify testers are actually testing (views from test audience) |
| Production | Yes | All dimensions including full usage, distribution, and export analysis |
Remind the user: a report's success lives and dies on whether it is being used and delivering business value. Design, performance, and structure can be reviewed proactively, but usage data is the only objective measure of whether the report is working. Good requirements gathering helps achieve adoption, but it can never be guaranteed.
If the report is local-only, ask where the published version is (or will be). Usage metrics require a published report in the Power BI service.
Run the usage script for quantitative data. Export or inspect the report definition for qualitative assessment.
Walk through each relevant dimension using the checklists above. Score each finding by severity:
Present findings as a structured summary. Lead with the most impactful findings.
Format:
REPORT REVIEW: <Report Name>
===============================
USAGE SIGNAL
Views (30d): 47 | Viewers: 8 | Rank: #3/22
Top pages: Overview (60%), Detail (30%), Trends (10%)
Load time P50: 3.2s | P90: 7.1s
CRITICAL
- [Performance] P90 load time exceeds 7s due to 14 visuals on Overview page
HIGH
- [Design] No page titles on 2 of 3 pages
- [Binding] 3 visuals have broken field references
MEDIUM
- [Design] Inconsistent margins (24px left, 32px right)
- [Accessibility] Missing alt text on 5 data visuals
LOW
- [Design] Default theme applied; consider custom theme
- [Standards] Report name uses spaces instead of hyphensBefore running usage scripts, ensure:
- Azure CLI authenticated: run
az loginif neededfabCLI authenticated: runfab auth loginif needed (for distribution script)- Python
requestspackage:uv pip install requests
references/usage-metrics.md -- Full documentation of all usage data APIs (official and undocumented)references/usage-interpretation.md -- Reading modern Usage Metrics correctly; retire/keep/redesign decision frameworkreferences/distribution.md -- All report access paths and how to audit themscripts/get_report_usage.py -- Workspace-level usage overviewscripts/get_report_detail.py -- Single report deep-dive (daily, per-viewer, per-page)scripts/get_report_distribution.py -- Distribution audit (ACL, apps, publish-to-web)scripts/performance_audit.py -- Load times + visual complexity analysisreferences/performance.md -- Percentile interpretation, DAX query inference from visual metadatareferences/performance-audit.md -- Query cost model, Performance Analyzer export, DirectQuery tuning, interaction/navigation auditreferences/accessibility-audit.md -- Alignment/tab-order audit, static accessibility pass, SVG/script/mobile checksreferences/report-metadata.md -- Thick/thin, endorsement, sensitivity, pipeline, model propertiesreferences/export-to-excel.md -- Export activity analysis, data governance implicationsreferences/best-practices.md -- Data visualization principles, chart selection, color, interaction designusage-metrics-dataset/ -- Exported Usage Metrics dataset (TMDL schema + report definition)semantic-model -- Companion skill for semantic model design and review (run in parallel when model is in scope)pbi-report-design -- Detailed report design guidelines and layout rulesmodifying-theme-json -- Theme authoring, compliance auditing, formatting promotiondeneb-visuals, python-visuals, r-visuals, svg-visuals -- Visual-specific review criteria (now in the custom-visuals plugin; add with claude plugin install custom-visuals@power-bi-agentic-development)© data-goblin, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 60 other files (scripts, references) in plugins/reports/skills/review-report of data-goblin/power-bi-agentic-development.
Open the folder on GitHubat commit a301717
Review Report next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Review Report this skilldata-goblin/power-bi-agentic-development | 1k | — | ~4.2k | Automated safety check: Pass | GPL-3.0 | |
| Power Bi AI ReadinessDKH-DK/Self-Service-Power-BI-Fabric | 113 | — | ~2k | Automated safety check: Pass | None | |
| Pbi Report Builderlukasreese/powerbi-claude-skills | 128 | — | ~7.5k | Automated safety check: Pass | None | |
| Pbi Docxperiun/skills-xperiun-free | 116 | — | ~3k | Automated safety check: Pass | MIT | |
| Pbip Dependency Analyzerlukasreese/powerbi-claude-skills | 128 | — | ~3.2k | Automated safety check: Pass | None | |
| Pbi Modelo Reviewxperiun/skills-xperiun-free | 116 | — | ~2.9k | Automated safety check: Pass | MIT |
DKH-DK/Self-Service-Power-BI-Fabric
Score and prepare Power BI semantic models for AI (Fabric Data Agent / Copilot).
lukasreese/powerbi-claude-skills
[power-bi] Power BI PBIR Report Builder with IBCS Visuals. An agent skill from lukasreese/powerbi-claude-skills.
xperiun/skills-xperiun-free
Documenta projeto Power BI (PBIP) inteiro em markdown estruturado + HTML navegável (mini-site de doc).
lukasreese/powerbi-claude-skills
Power BI PBIP Dependency Analyzer. An agent skill from lukasreese/powerbi-claude-skills.
xperiun/skills-xperiun-free
Audita modelo Power BI (PBIP) e gera relatório priorizado com anti-patterns, score 0-100 e recomendações acionáveis.
xperiun/skills-xperiun-free
Cria medida DAX a partir de descrição em PT, respeitando o modelo Power BI existente (colunas reais, naming convention, padrões DAX).
data-goblin/power-bi-agentic-development
Author, validate, publish, and test Power BI paginated reports in the RDL format.
data-goblin/power-bi-agentic-development
Automatically invoke this skill whenever the user asks about Fabric tenant settings or Power BI tenant settings or auditing tenant settings.
data-goblin/power-bi-agentic-development
Interactive BPA rule generation for Power BI semantic models; guided discovery, model investigation, and expert rule authoring.
data-goblin/power-bi-agentic-development
Guidance for Power BI Project (PBIP) structure, thick and thin reports, project renames, forks, and validation.
data-goblin/power-bi-agentic-development
This skill should be used whenever the user mentions a "semantic model", "data model", or "dataset", or asks to "build", "model", "design", "optimize", "review", or "audit" one, or to "add a…
data-goblin/power-bi-agentic-development
Tabular Editor documentation search and configuration file guidance (.tmuo, Preferences.json, UiPreferences.json, Layouts.json).
Works with
Categories
Actionable feedback on the quality, usage, and effectiveness of Power BI reports. Review Report is an agent skill from data-goblin/power-bi-agentic-development. Actionable feedback on the quality, usage, and effectiveness of Power BI reports.
Review Report fits situations like: asks to review a report; report usage analysis; report health check; find unused reports.
Run `npx skills add data-goblin/power-bi-agentic-development --skill review-report -a claude-code`. Or copy the skill folder (plugins/reports/skills/review-report in data-goblin/power-bi-agentic-development) into .claude/skills/review-report in your project. Claude Code loads it when a task matches its description.
Run `npx skills add data-goblin/power-bi-agentic-development --skill review-report -a codex`. Or copy the skill folder (plugins/reports/skills/review-report in data-goblin/power-bi-agentic-development) into .agents/skills/review-report in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add data-goblin/power-bi-agentic-development --skill review-report -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/review-report, .gemini/skills/review-report, .github/skills/review-report and .opencode/skills/review-report in your project.
Going by SKILL.md and its folder, Review Report needs Python for the scripts in its folder and the command-line tools its instructions call (python3, az, uv and claude). Our summary lists: Python 3.
SKILL.md names 1 domain. As links in the text: data-goblins.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Review Report is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.2k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 21k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Review Report: Power Bi AI Readiness (DKH-DK/Self-Service-Power-BI-Fabric, 113 stars), Pbi Report Builder (lukasreese/powerbi-claude-skills, 128 stars), Pbi Doc (xperiun/skills-xperiun-free, 116 stars) and Pbip Dependency Analyzer (lukasreese/powerbi-claude-skills, 128 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
data-goblin (a GitHub user) maintains it in data-goblin/power-bi-agentic-development, which has 1,031 GitHub stars. The repository holds 33 skills in this directory. The repository was last updated on October 7, 2026.
Source: data-goblin/power-bi-agentic-development on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.