Automatically invoke this skill whenever the user asks about Fabric tenant settings or Power BI tenant settings or auditing tenant settings. You can use this skill if the user mentions "Fabric administration".
日本語の概要は準備中です。原文の説明を表示しています。
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".
インストールする前に、エージェントに与えられる指示の中身を確認できます。
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 hyphens
Before 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)まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Automatically invoke this skill whenever the user asks about Fabric tenant settings or Power BI tenant settings or auditing tenant settings. You can use this skill if the user mentions "Fabric administration".
日本語の概要は準備中です。原文の説明を表示しています。
Interactive BPA rule generation for Power BI semantic models; guided discovery, model investigation, and expert rule authoring. Automatically invoke when the user mentions "BPA rule", "Best Practice Analyzer", or asks to "create a BPA rule", "audit BPA rules", "recommend BPA rules", "set up BPA for my team", "check model for best practices", "validate BPA rules", "improve a BPA expression".
日本語の概要は準備中です。原文の説明を表示しています。
Writing and executing C# scripts and macros against Power BI semantic models using Tabular Editor 2/3. Automatically invoke when the user mentions "C# script", "Tabular Editor script", "TOM scripting", "MacroActions.json", "XMLA", or asks to "automate model changes", "bulk update measures", "create calculation groups", "write a macro", "format DAX expressions", "manage model metadata".
日本語の概要は準備中です。原文の説明を表示しています。
TOM and ADOMD.NET guidance via PowerShell for connecting to Power BI Desktop's local Analysis Services instance. Covers model enumeration, DAX queries, metadata modification, annotations, calendar definitions, field parameters, query tracing, DAX library package management (daxlib.org), and the Desktop Bridge for reloading and screenshotting the report canvas. Automatically invoke when the user mentions "Power BI Desktop", "Analysis Services port", "TOM", "ADOMD", "daxlib", "DAX library", "DAX UDF package", or asks to "connect to PBI Desktop", "query PBI Desktop with DAX", "modify PBI Desktop model", "add a measure to PBI", "capture visual queries", "create a field parameter", "validate DAX", "intercept DAX queries", "install daxlib", "add DAX SVG", "add IBCS", "reload the report canvas", "screenshot a report page", "Desktop Bridge", or to work with the model and report in Power BI Desktop together.
日本語の概要は準備中です。原文の説明を表示しています。
Step-by-step workflow for creating complete Power BI reports from scratch using pbir CLI. Covers model discovery, report creation, page layout, theme setup, visual placement, field binding, filtering, formatting, validation, and publishing. Automatically invoke when the user asks to "create a new report", "build a report from scratch", "make a dashboard", "set up a report with KPIs", "create an executive dashboard", "add pages and visuals to a new report".
日本語の概要は準備中です。原文の説明を表示しています。
DAX performance optimization for semantic models. Automatically invoke when the user asks to "optimize DAX", "fix slow DAX", "DAX performance", "tune a measure", "debug a measure", "DAX anti-patterns", or mentions slow queries, server timings, or DAX authoring.
日本語の概要は準備中です。原文の説明を表示しています。