Powerbi Report CLI
MicrosoftOfficialPublished by Microsoft
- Skill
- Tool integration
- Data and AI
- MIT
- Low risk
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The powerbi-report-cli skill provides a structured, mode-based framework for managing the entire Power BI report lifecycle. It acts as a dispatcher across four distinct phases: planning (requirements and scope), design (visual and layout strategy), authoring (local PBIR/PBIP file manipulation and validation), and management (Fabric item transport and rebinding). The skill enforces strict boundaries between these modes to ensure quality, requiring explicit approval for new reports and utilizing a dedicated CLI for metadata-driven validation and authoring tasks.
What it does
- Guides users through report requirements, scope, and page planning.
- Provides design contracts for visual archetypes, layouts, and branding.
- Enables local editing, validation, and previewing of PBIR and PBIP files.
- Handles report item transport to and from Microsoft Fabric.
- Supports re-theming, conditional formatting, and visual configuration.
- Enforces a mandatory approval gate for greenfield report development.
When to use it
- When planning a new Power BI report from a semantic model.
- When you need to define a professional design brief or layout strategy.
- When editing local PBIR/PBIP files, including visuals, filters, and themes.
- When validating report structure and formatting before deployment.
- When publishing or managing report items within a Fabric workspace.
Advantages
- Ensures consistent report quality through a structured, multi-mode workflow.
- Prevents premature publishing by enforcing a mandatory approval barrier.
- Uses a dedicated CLI to eliminate guesswork in PBIR schema and property editing.
- Maintains clear separation between design intent and technical implementation.
- Provides robust validation tools to catch errors before Fabric deployment.
Usage examples
- “Create a new executive report from this semantic model.”
- The agent enters planning mode, inspects the model, generates a report spec, and requests user approval before proceeding.
- “Design an operational page and choose the right charts.”
- The agent enters design mode, produces a design brief with page archetypes and chart recommendations.
- “Add a KPI page to this PBIP, validate it, and take screenshots.”
- The agent enters authoring mode, modifies the local PBIP files, runs validation, and captures screenshots for review.
- “Publish this local PBIP to my Fabric workspace and rebind it.”
- The agent enters management mode, performs the upload to Fabric, and completes the rebind operation.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/microsoft/powerbi-report-cli/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip powerbi-report-cli.zip -d .agents/skills
Documentation by Microsoft
Telemetry — MANDATORY. Every
api.fabric.microsoft.comcall must carryx-ms-fabric-skill: powerbi-report-cli(az rest:--headers "x-ms-fabric-skill=powerbi-report-cli"), including every LRO poll,fabric_lroand retry. Snippets omit it — add it anyway.
CRITICAL NOTES
To find workspace details, including its ID, from a workspace name: list all workspaces, then use JMESPath filtering.
To find item details, including its ID, from a workspace ID, item type, and item name: list all items of that type in that workspace, then use JMESPath filtering.
Use
powerbi-report-clifor the report artifact: requirements, design, PBIR/PBIP page and visual edits, preview, and publishing. Semantic model, measure, and DAX work belongs to a semantic-model skill. Natural-language questions about report data belong tofabriciq.
Power BI Reports - CLI Skill
This skill owns the Power BI report lifecycle end to end: requirements and scope, visual design, local PBIR/PBIP authoring and preview, and report-item transport to and from Microsoft Fabric.
It is a mode dispatcher and intentionally contains no detailed procedures. Select the mode that matches the request, then read the matching mode reference end to end before acting. The mode file holds the required workflow, commands, payloads, templates, and failure rules.
Mode Selection
| Mode | Use when the request... | Existing route examples | Read first |
|---|---|---|---|
planning | creates a new report/dashboard and needs requirements, model/dependency inspection, scope, a page plan, and approval before implementation | create a report, build a dashboard, create from a semantic model, plan then implement, walk me through creating a report | references/planning.md, then references/planning-part-02.md |
design | decides what a report should look like: tone, signature, page archetype, chart type, layout, color, typography, theme direction, accessibility, brand application, redesign, or critique | design a Power BI report, make the dashboard professional, choose a chart, apply a brand, redesign the report, create a design brief | references/design.md |
authoring | reads or edits local PBIR/PBIP files, validates them, previews the report, or captures screenshots | edit PBIR, create/add a report page or visual, format a visual, add filters/slicers/bookmarks/themes, validate PBIR, preview/reload/screenshot in Desktop or service | references/authoring.md |
management | moves a report definition to or from Fabric or manages the workspace report item | publish/upload/download PBIR or PBIP, list reports, get/update/delete a report, rebind a report | references/management.md |
Mode Boundary Rules
Classify by intent, not by which file or tool is already open.
designdecides what the report should look like;authoringwrites the PBIR that realizes it. Choosing a chart type isdesign; encoding it intovisual.jsonisauthoring.Restyling or reformatting an existing local report is
authoring, even when the request uses design language. Usedesignwhen the user wants advice or a design contract rather than a file change.authoringchanges local files and performs preview/validation. It does not publish to Fabric.managementtransports definitions and manages Fabric report items. It does not invent or directly author PBIR content.planningowns the guided requirements-to-approval flow for a new report. A focused edit to an existing report goes directly toauthoring.
A greenfield request can span modes in this order:
planning -> design -> authoring -> managementHandle one mode at a time. Announce each switch and read the new mode reference
before starting that part. The planning approval gate is a turn boundary:
never build or publish until the user explicitly approves the locked spec in a
later reply.
GREENFIELD APPROVAL BARRIER — MANDATORY. When a new-report request asks to plan, build, and/or publish but the user has not approved a locked spec in a prior reply, set the current phase to
approval_pendingand keepplanningas the only active mode. In this phase, do not loadauthoringormanagement, edit/scaffold PBIR or semantic-model files, generate synthetic data, call Fabric write APIs, or publish. Persist_brief/report-spec.md, ask for explicit approval, and end the turn. The build/publish wording in the original request is desired future scope, not approval to cross this barrier.
Required Deliverable by Mode
| Mode | Completion requirement |
|---|---|
planning | Persist _brief/report-spec.md or the user-named equivalent, ask for explicit approval, and stop before implementation. |
design | Produce the complete Design Brief: contract, including design_identity and a page archetype/layout contract for every page. Do not edit PBIR or call Fabric APIs. |
authoring | Persist the requested PBIR/PBIP changes, validate each logical batch, then complete the selected preview and screenshot-review workflow required by the authoring reference. Do not publish. |
management | Complete the requested Fabric report operation, including LRO polling and documented readback verification. |
Rules
MUST
Select the narrowest mode that fully covers the current request.
Read
references/<mode>.mdend to end before the first command or file edit in that mode. When an already-loaded mode explicitly routes one narrow cross-mode operation to a named topic reference, treat that topic reference as the complete handoff; do not load the target mode's umbrella file unless the work expands beyond that operation.In
planningmode, also readreferences/planning-part-02.mdbefore producing_brief/report-spec.md; it contains the required canonical design contract and approval checks.Across a multi-turn task, retain a compact working state containing resolved workspace/item/model IDs, local and downloaded paths, and references already read. Reuse it in later turns unless the user explicitly requests a fresh query or the preceding operation invalidated a value.
Preserve every argument and safety boundary documented by the selected mode.
Announce and perform an explicit mode switch when the request crosses a boundary.
Use the
powerbi-report-authorCLI metadata and validation surfaces instead of guessing PBIR schemas, roles, formatting properties, selectors, or enum values.Keep local edits local unless the user explicitly requests publishing.
Resolve Fabric workspace and item IDs by listing and filtering rather than guessing identifiers.
Produce the artifact the user requested; reading or summarizing a reference is not task completion.
PREFER
Infer facts already present in the prompt, semantic model, existing PBIP, or prior approved spec instead of asking again.
Load only the selected mode and its directly relevant topic references.
Reuse reference guidance already loaded in the current task. Open a new reference only when the requested operation or an observed mismatch requires it.
Preserve the user's existing project structure, schemas, host, operation, binding, and delivery target unless the selected mode explicitly requires a change.
AVOID
Acting from this dispatcher without reading the selected mode reference.
Reloading this dispatcher, a mode file, or a topic reference already read in the current task solely because the conversation advanced to a later turn.
Loading a retired sibling skill name; planning, design, authoring, and management are modes of this skill.
Editing PBIR or calling Fabric APIs in
planningordesign.Publishing from
authoring, or authoring PBIR content frommanagement.Bypassing the planning approval gate because the original request also asked to build or publish.
<!-- BEGIN GENERATED REFERENCE INDEX -->
Complete Reference Index
Open every relevant reference directly from this index. Files named part-XX continue the named topic.
Authoring
Design
Mode Guides
<!-- END GENERATED REFERENCE INDEX -->
Examples
| User request | Mode |
|---|---|
| "Create a new executive report from this semantic model." | planning |
| "Design an operational page and choose the right charts." | design |
| "Add a KPI page to this PBIP, validate it, and take screenshots." | authoring |
| "Publish this local PBIP to my Fabric workspace and rebind it." | management |
Route Compatibility
The merged skill preserves the four previous route surfaces. Treat the following phrases as explicit aliases for the corresponding mode:
| Mode | Preserved route phrases |
|---|---|
planning | create a report; build a report; create a dashboard; create a new report from scratch; create a report from a semantic model or dataset link; build a report for this model; make me a dashboard; plan then implement; walk me through creating a report |
design | design Power BI report; make dashboard look professional; choose chart type; apply brand to report; redesign report; create design brief; Power BI report design archetype |
authoring | edit PBIR; create Power BI report page; add visual to PBIP; format report visual; validate Power BI report; preview Power BI report; Power BI Desktop preview status; preview report in service; preview report in browser; screenshot report page; screenshot all report pages; list preview hosts; implement dashboard in PBIP; add dashboard visuals to report; implement an approved PBIP report spec; edit PBIR pages/visuals; edit a Power BI report |
management | upload PBIR report definition; upload Power BI report; download PBIR definition; publish PBIR definition; publish Power BI report to Fabric; manage Power BI reports; list workspace reports |
Files
- ATTRIBUTION.mdAdded by AutoGineer881 B
- LICENSELicence file added by AutoGineer1.1 KiB
- SKILL.md16.1 KiB
- apm.yml642 B
- references/authoring-part-02.md14.6 KiB
- references/authoring-part-03.md16.0 KiB
- references/authoring-part-04.md15.9 KiB
- references/authoring.md16.8 KiB
- references/authoring/authoring-workflows.md11.7 KiB
- references/authoring/bookmark.md14.3 KiB
- references/authoring/button-part-02.md16.1 KiB
- references/authoring/button-part-03.md7.7 KiB
- references/authoring/button.md15.7 KiB
- references/authoring/card-part-02.md16.1 KiB
- references/authoring/card-part-03.md8.6 KiB
- references/authoring/card.md6.4 KiB
- references/authoring/cartesian-part-02.md17.7 KiB
- references/authoring/cartesian-part-03.md12.3 KiB
- references/authoring/cartesian-part-04.md15.8 KiB
- references/authoring/cartesian.md18.0 KiB
- references/authoring/color-strategy.md8.4 KiB
- references/authoring/conditional-formatting-part-02.md13.5 KiB
- references/authoring/conditional-formatting-part-03.md16.0 KiB
- references/authoring/conditional-formatting-part-04.md14.0 KiB
- references/authoring/conditional-formatting-part-05.md16.9 KiB
- references/authoring/conditional-formatting-part-06.md14.7 KiB
- references/authoring/conditional-formatting-part-07.md14.5 KiB
- references/authoring/conditional-formatting.md18.2 KiB
- references/authoring/custom-visuals.md13.9 KiB
- references/authoring/expressions.md11.9 KiB
- references/authoring/field-parameters.md5.1 KiB
- references/authoring/filter-pane.md5.0 KiB
- references/authoring/filters.md9.3 KiB
- references/authoring/formatting-overview.md4.8 KiB
- references/authoring/formatting-part-02.md3.3 KiB
- references/authoring/formatting.md17.0 KiB
- references/authoring/image.md12.6 KiB
- references/authoring/kpi.md2.5 KiB
- references/authoring/map.md13.4 KiB
- references/authoring/model-binding.md7.7 KiB
- references/authoring/page-formatting.md4.5 KiB
- references/authoring/powerbi-desktop.md2.4 KiB
- references/authoring/powerbi-report-author-cli-part-02.md3.2 KiB
- references/authoring/powerbi-report-author-cli.md17.7 KiB
- references/authoring/preview-part-02.md16.9 KiB
- references/authoring/preview-part-03.md4.0 KiB
- references/authoring/preview-part-04.md2.5 KiB
- references/authoring/preview.md16.1 KiB
- references/authoring/re-theming-part-02.md16.8 KiB
- references/authoring/re-theming-part-03.md4.9 KiB
- references/authoring/re-theming.md1.5 KiB
- references/authoring/screenshot-review.md5.0 KiB
- references/authoring/shape.md13.6 KiB
- references/authoring/slicers-part-02.md16.3 KiB
- references/authoring/slicers.md15.6 KiB
- references/authoring/table.md17.5 KiB
- references/authoring/textbox.md5.6 KiB
- references/authoring/theming-part-02.md6.7 KiB
- references/authoring/theming.md16.4 KiB
- references/authoring/version-control.md6.6 KiB
- references/design.md17.3 KiB
- references/design/accessibility.md11.4 KiB
- references/design/anti-patterns.md18.5 KiB
- references/design/archetype-composition.md3.4 KiB
- references/design/archetypes/analytical-canvas.md17.7 KiB
- references/design/archetypes/comparative-benchmark-part-02.md5.7 KiB
- references/design/archetypes/comparative-benchmark.md15.8 KiB
- references/design/archetypes/executive-summary.md14.7 KiB
- references/design/archetypes/narrative-story.md18.1 KiB
- references/design/archetypes/operational-monitor.md17.0 KiB
- references/design/assets/base.json7.5 KiB
- references/design/brownfield.md5.7 KiB
- references/design/chart-selection.md9.8 KiB
- references/design/color.md10.5 KiB
- references/design/design-brief-part-02.md13.7 KiB
- references/design/design-brief.md8.8 KiB
- references/design/interactivity.md9.2 KiB
- references/design/layout.md11.3 KiB
- references/design/pre-flight-checklist.md10.8 KiB
- references/design/signatures.md12.3 KiB
- references/design/tone-catalog.md14.4 KiB
- references/design/typography.md9.2 KiB
- references/design/visual-cookbook-part-02.md11.0 KiB
- references/design/visual-cookbook.md16.7 KiB
- references/management-part-02.md17.2 KiB
- references/management-part-03.md7.5 KiB
- references/management-part-04.md16.7 KiB
- references/management.md10.1 KiB
- references/planning-part-02.md11.2 KiB
- references/planning.md19.5 KiB
references/design/accessibility.md
Accessibility for Data Visualization
Contents
Core Principles
WCAG 2.1 / 2.2 Checklist for Dashboards
Alt Text Patterns
1. Headline + Trend
2. Chart Structure + Notable Finding
3. Comparison Framing
4. Data-as-Table Fallback
Keyboard Navigation Reference
WCAG Contrast Requirements
Ratio Formula
Thresholds
Worked Examples
Contrast Checking Workflow
Tools
Worked Examples
Color Vision Deficiency (CVD) Section
Power BI Accessibility Grounding
Archetype Accessibility Priorities
Accessibility Testing Checklist
DAX-Driven Alt Text
Core Principles
Color is never the sole signal (WCAG 1.4.1) — always pair color with shape, label, icon, or pattern.
Contrast floors are non-negotiable — 4.5:1 for body text, 3:1 for large text and non-text elements.
Alt text describes the insight, not the chart type — "Revenue rose 12% QoQ" not "This is a bar chart."
Keyboard navigable — every interactive element reachable without a mouse.
Reading order matches visual hierarchy — tab order follows the logical story, not the creation order.
Minimum 24×24px touch/click targets — slicers, buttons, and interactive elements must be large enough.
Design for 200% zoom — layouts should not break or clip when zoomed.
WCAG 2.1 / 2.2 Checklist for Dashboards
| SC | Title | Dashboard Implication | How to Satisfy |
|---|---|---|---|
| 1.1.1 | Non-text Content | Every chart needs alt text | Write insight-driven alt text in the visual's accessibility pane |
| 1.3.1 | Info and Relationships | Visual grouping must be programmatic | Use tab order and heading hierarchy, not just spatial proximity |
| 1.3.2 | Meaningful Sequence | Screen reader order matches visual layout | Set tab order in Selection pane to follow reading flow |
| 1.4.1 | Use of Color | Color must not be only differentiator | Add labels, icons, or patterns alongside color |
| 1.4.3 | Contrast (Minimum) | Body text ≥4.5:1 on background | Check every text/background pair; use WebAIM tool |
| 1.4.11 | Non-text Contrast | Chart bars, lines, icons ≥3:1 on background | Verify data marks against canvas color |
| 1.4.4 | Resize Text | Text readable at 200% zoom | Avoid fixed pixel sizes that clip on zoom |
| 2.1.1 | Keyboard | All functions keyboard-operable | Test full report with Tab, Enter, Escape only |
| 2.4.3 | Focus Order | Focus sequence is logical | Tab order in Selection pane matches reading order |
| 2.4.7 | Focus Visible | Focused element has visible indicator | PBI provides default focus ring; don't override with custom CSS |
| 2.5.8 | Target Size (Minimum) | Interactive targets ≥24×24px | Ensure slicer items, buttons, headers meet minimum |
| 4.1.2 | Name, Role, Value | Interactive elements have accessible names | Use visual titles and alt text; avoid decorative-only visuals |
Alt Text Patterns
Four reusable templates for writing effective alt text:
1. Headline + Trend
"[Measure] [direction] [amount] over [period].
Currently at [value], compared to [reference]."
Example: "Monthly revenue increased 12% over Q3.
Currently at $4.2M, compared to $3.8M target."2. Chart Structure + Notable Finding
"[Chart type] showing [measure] by [dimension].
[Key finding]: [specific data point or pattern]."
Example: "Bar chart showing sales by region.
Western region leads at $2.1M, 35% above the next closest."3. Comparison Framing
"Comparing [measure] across [N] [dimension items].
[Winner/loser]: [value]. [Runner-up]: [value]."
Example: "Comparing conversion rates across 4 channels.
Email leads at 4.2%. Social trails at 1.8%."4. Data-as-Table Fallback
"Data table: [column headers].
Row 1: [values]. Row 2: [values]. ..."
Use only when the above patterns don't apply or for
complex multi-measure visuals.Rules:
Lead with the insight, not the chart type.
Include actual numbers when available.
Keep under 150 characters for cards; under 300 for complex visuals.
Update alt text when filters change the visual's story (use DAX-driven alt text).
Keyboard Navigation Reference
| Key | Action in PBI Report |
|---|---|
Tab | Move to next visual in tab order |
Shift+Tab | Move to previous visual in tab order |
Enter / Space | Activate / select focused element |
Escape | Exit current visual / deselect |
Ctrl+Right/Left | Move between data points within a visual |
Alt+Shift+F10 | Open visual header menu |
Alt+Shift+F11 | Open filter pane |
Ctrl+F6 | Move focus between report sections |
Shift+? | Show keyboard shortcuts dialog |
Arrow keys | Navigate within slicers, matrices, tables |
Test protocol: Navigate the entire report using only the keys above. Every visual, slicer, and button must be reachable and operable.
WCAG Contrast Requirements
Ratio Formula
L = 0.2126·R + 0.7152·G + 0.0722·B (relative luminance, linearized sRGB)
Ratio = (L_lighter + 0.05) / (L_darker + 0.05)Thresholds
| Element | Minimum Ratio | WCAG Level |
|---|---|---|
| Body text (<18pt regular, <14pt bold) | 4.5 : 1 | AA |
| Large text (≥18pt regular, ≥14pt bold) | 3.0 : 1 | AA |
| Non-text (icons, chart elements, borders) | 3.0 : 1 | AA |
| Enhanced body text | 7.0 : 1 | AAA |
Worked Examples
| Foreground | Background | Ratio | AA Body | AA Large | AA Non-Text |
|---|---|---|---|---|---|
#333333 | #FFFFFF | 12.6 : 1 | ✅ | ✅ | ✅ |
#3182BD | #FFFFFF | 4.2 : 1 | ❌ | ✅ | ✅ |
#6BAED6 | #FFFFFF | 2.4 : 1 | ❌ | ❌ | ❌ |
#E15759 | #FFFFFF | 3.7 : 1 | ❌ | ✅ | ✅ |
#FFFFFF | #08519C | 7.9 : 1 | ✅ | ✅ | ✅ |
Rule of thumb: mid-range hues on white often fail body-text contrast. Test every pair.
Contrast Checking Workflow
Tools
| Tool | Type | URL / Access |
|---|---|---|
| WebAIM Contrast Checker | Web | webaim.org/resources/contrastchecker |
| TPGi Colour Contrast Analyser | Desktop | Free download; includes eyedropper |
| Stark | Figma/Sketch plugin | For design-phase checking |
| Browser DevTools | Built-in | F12 → Elements → color picker shows ratio |
Worked Examples
| Element | Foreground | Background | Ratio | Verdict |
|---|---|---|---|---|
| Axis label | #767676 | #FFFFFF | 4.5:1 | ✅ AA body |
| Subtitle text | #AAAAAA | #FFFFFF | 2.3:1 | ❌ Fails all |
| Chart bar fill | #4E79A7 | #FFFFFF | 4.6:1 | ✅ AA non-text |
| Card value | #333333 | #F2F2F2 | 11.3:1 | ✅ AAA |
Process: For every foreground/background pair in the design, compute or measure the ratio. Fix any pair below 3:1 for non-text, 4.5:1 for body text.
Color Vision Deficiency (CVD) Section
Prevalence: ~8% of males, ~0.5% of females have some form of color vision deficiency.
Most common: Deuteranopia (red-green), followed by protanopia (red-green), then tritanopia (blue-yellow).
Safe palettes: Okabe-Ito (8 colors), viridis, cividis — all pass all three CVD types.
Simulation: Use Coblis, Viz Palette, or Chrome DevTools (Rendering → Emulate vision deficiencies) to preview before shipping.
Rule: If any two colors in your palette become indistinguishable under simulation, add a secondary channel (label, shape, pattern).
Power BI Accessibility Grounding
| Feature | Purpose | How to Configure |
|---|---|---|
| Alt text field | Describes visual to screen readers | Visual → Format → General → Alt text (static or DAX expression) |
| Tab order | Controls keyboard navigation sequence | View → Selection pane → drag visuals into logical reading order |
| Visual headers | Provide interactive menu access | Enabled by default; don't disable unless decorative visual |
| Theme contrast | Global text/background contrast | Set foreground and background in theme JSON with ≥4.5:1 |
| High-contrast mode | OS-level high contrast support | PBI respects Windows High Contrast; test with it enabled |
| Show as table | Exposes underlying data in tabular form | Enabled by default; provides data fallback for screen readers |
| Bookmarks as a11y escape | Lets users jump to an accessible layout | Create a "data table view" bookmark as an alternative |
| Focus mode | Enlarges a single visual to full screen | Keyboard: Enter on visual → focus mode available |
Archetype Accessibility Priorities
| Archetype | Priority A11y Concern | Rationale |
|---|---|---|
| Executive | Alt text quality | Often consumed via email or read aloud by assistants; alt text IS the content |
| Operational | Keyboard + target size | Used in control rooms / kiosks; mouse may not be available |
| Analytical | Show as table | Power users need raw data access; screen readers can navigate tables |
| Narrative | Reading order | Story depends on sequence; wrong tab order breaks the narrative |
| Comparative | CVD-safe color + non-text contrast | Color carries the comparison signal; must survive CVD simulation |
Anti-patterns: see references/design/anti-patterns.md
Accessibility Testing Checklist
Run through this before publishing any report:
| # | Test | Method | Pass Criteria |
|---|---|---|---|
| 1 | Keyboard-only navigation | Unplug mouse; Tab through entire report | Every visual, slicer, and button reachable |
| 2 | Screen reader | NVDA or Narrator on Windows | All visuals announced with alt text; reading order logical |
| 3 | Zoom 200% | Ctrl+= in browser / PBI Service | No clipping, overlapping, or text truncation |
| 4 | High contrast mode | Windows Settings → High Contrast | All visuals remain legible; no invisible elements |
| 5 | CVD simulation | Chrome DevTools → Emulate vision deficiency | All color-coded information distinguishable |
| 6 | Contrast ratios | WebAIM Contrast Checker on all text pairs | Body ≥4.5:1; large ≥3:1; non-text ≥3:1 |
| 7 | Tab order audit | View → Selection pane | Order matches visual reading flow (top-left → bottom-right) |
| 8 | Alt text review | Check every visual's accessibility pane | Insight-driven text present; no "chart" or "image" |
| 9 | Touch target size | Measure slicer items, buttons | All ≥24×24px |
| 10 | Data table fallback | Right-click → Show as table on each visual | Table renders with correct headers and values |
DAX-Driven Alt Text
For visuals where the insight changes with filters, use a DAX measure for dynamic alt text:
Alt Text =
VAR _revenue = FORMAT([Total Revenue], "$#,##0.0,,M")
VAR _change = FORMAT([Revenue YoY %], "+0.0%;-0.0%")
VAR _period = SELECTEDVALUE(Calendar[Quarter])
RETURN
"Revenue is " & _revenue & " in " & _period & ", " & _change & " year over year."Rules for DAX alt text:
Keep under 300 characters after evaluation.
Always include the key measure value and its context (period, filter).
State direction: "up", "down", "flat" — not just the number.
Test with actual slicer selections to verify sensible output in all states.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
What our scanner noticed· Low risk
- Phrasing that asks for actions without confirmation
- Instructions that use the network
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Microsoft
- Publisher
- Microsoft (Official)
- Source
- microsoft/skills-for-fabric · skills/powerbi-report-cli · commit f8fac11
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
- Also distributed in
- microsoft/skills-for-fabric
AutoGineer is not affiliated with or endorsed by Microsoft or Microsoft.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download powerbi-report-cli.zip