deneb-visuals
Deneb visual creation, Vega/Vega-Lite spec authoring, and Deneb best practices for PBIR reports. Automatically invoke whenever the user mentions "Deneb" in any…
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
$ npx -y skills add data-goblin/power-bi-agentic-development --skill review-report --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/review-reportContext preview
The summary Claude sees to decide when to auto-load this skill.
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
name: review-report description: 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:
1. Report under development: In this scenario, the focus is more on the report content, structure, organization, and performance based on accurately gathered requirements. 2. Report in testing: In this scenario, the focus might incorporate user feedback or check basic information about the deployed report in Power BI / Fabric. 3. Report in use: This is the ideal scenario, where the focus is usage; the ultimate definition of success is whether the report is being used; what percentage of the people who have access to the report have accessed it in the last 28 days, and how much? Bad reports aren't used, or have declining usage.
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:**
Do 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
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, and AI dashboards. Includes Microsoft Fabric skills and Fabric agents. Weekly updates.
Repo: data-goblin/power-bi-agentic-development
Deneb visual creation, Vega/Vega-Lite spec authoring, and Deneb best practices for PBIR reports. Automatically invoke whenever the user mentions "Deneb" in any…
Power BI custom visual (.pbiviz) development with the pbiviz toolchain and its MCP server. Automatically invoke when the user mentions "custom visual",…
Python visual creation and matplotlib/seaborn patterns for PBIR reports. Automatically invoke when the user mentions "Python visual", "matplotlib in Power BI",…
R visual creation and ggplot2 patterns for PBIR reports. Automatically invoke when the user mentions "R visual", "ggplot2", "ggplot in Power BI", or asks to…
SVG generation via DAX measures and extension measures with ImageUrl data category for inline visualizations in PBIR reports. Automatically invoke when the…
Execute arbitrary Python or PySpark code on Fabric Spark compute without creating a notebook artifact; ephemeral Livy sessions with full Delta table access.…