| name | fabric-powerbi-branded-dashboard |
| description | Create branded Microsoft Fabric Power BI reports from a prompt, company palette, logo, KPI recipe, and an existing PBIR report definition. Use when asked to generate, customize, theme, brand, validate, package, create, or update Power BI dashboards/reports in Fabric without Copilot/manual UI work. |
Fabric Power BI Branded Dashboard
Use this skill to turn a plain PBIR report into a client-branded Power BI dashboard, then validate and publish it to Microsoft Fabric through APIs.
This skill is designed for Claude Code and other coding agents. It should not use Copilot or manual Power BI UI editing.
Inputs To Collect
Required:
- Fabric workspace ID
- Existing PBIR report folder, or a downloaded report definition
- Target report display name
- Company config JSON with palette, brand name, logo text, KPI labels, and page copy
Optional:
- Existing Fabric report ID to update
- Semantic model ID when creating a new report
- SVG/logo asset path
- Report description
If the user only gives a vague prompt, create a reasonable executive dashboard recipe and use references/company-config.example.json as the starting point.
Workflow
- Confirm dependencies:
node --version
az account show
powerbi-report-author --version
- If there is no PBIR folder, download or create one using the Microsoft Fabric report authoring workflow.
- Create or update a company config JSON.
- Run:
node scripts/brand-report.mjs <ReportFolder> <company-config.json>
- Validate:
powerbi-report-author validate <ReportFolder> --pretty
Continue only if errorCount is 0. Schema URL warnings can be acceptable when the report renders and the warning is only PBIR_SCHEMA_UNREACHABLE.
- Package:
node scripts/pack-report-definition.mjs <ReportFolder> "<Display Name>" > report-definition.json
- Publish:
- Open the returned Fabric report URL and visually inspect it. Fix overlap, clipped text, unreadable contrast, or raw field labels before calling the task done.
Official Microsoft Icons
Use assets/official-icons/ only for documentation, architecture, or explanatory visuals. Read references/official-brand-assets.md before adding Microsoft Fabric or Power BI icons to generated artifacts.
Do not use Microsoft product icons as the client's company logo or dashboard brand. Client branding must come from the user's own logoSvg, brand text, and palette.
Design Rules
- Apply the company palette in the report theme and per-visual chrome.
- Use a strong branded header with logo, title, subtitle, KPI period badge, and optional slicer.
- Prefer executive KPI cards, one ranking chart, one mix/distribution visual, and one clean detail table.
- Replace raw technical labels with business labels wherever possible.
- Keep cards dense and boardroom-style; avoid generic “sample dashboard” styling.
- Use actual logo/image resources when available. If not, generate an SVG wordmark from the company config.
- Keep Power BI visual IDs stable when updating existing reports.
- Do not manually edit in Power BI unless the user explicitly asks.
Company Config Shape
Use references/company-config.example.json as a template. Important fields:
brand.name
brand.logoText
brand.subtitle
palette
page.title
page.subtitle
page.period
kpis
visualTitles
tableHeaders
Notes For Claude Code
Install by copying this folder to:
.claude/skills/fabric-powerbi-branded-dashboard/
Then invoke with:
/fabric-powerbi-branded-dashboard create a Fabric Power BI dashboard using this company palette...
Claude Code skills are folders with a SKILL.md and optional bundled scripts/resources. This skill keeps the fragile PBIR edits in executable scripts so the agent can run deterministic transformations instead of rewriting report JSON from memory.
Quality Gate
Before publishing or handing off:
- Run
node --check on modified scripts.
- Run
powerbi-report-author validate <ReportFolder> --pretty.
- Confirm
errorCount is 0.
- Visually inspect the live report after publishing.
- Mention any remaining semantic-model caveat if raw model field names still appear in field wells, accessibility labels, or tooltips.