Build Power BI Reports with Claude Code

Use Claude Code to create, validate, and publish a Power BI report.

Introduction

30 Second Summary

Dashboards often begin with the first chart that seems useful. Without a clear decision question, that chart can leave the audience guessing.

In this project, you will use Claude Code with Power BI Agentic skills to turn an existing semantic model into a decision-ready report. You will validate the finished page before testing its interactions in the Power BI service.

What You'll Build

You will open Claude Agentic Report and see a polished page of model-backed visuals answer a real decision question.

By the end of this project, you'll have:

  • A model-aware design brief you can review before Claude authors the report files.
  • A published baseline report where one populated chart proves that your existing semantic model can feed a new report.
  • A validated interactive report where clear visuals answer your decision question and respond to selections.
  • Secret Mission: Add a model-backed slicer that updates at least two visuals.

Are there any prerequisites?

You need a Mac running macOS 14 or later plus Claude Pro and an active Power BI Individual Trial, Pro, or PPU license.

Your existing semantic model must sit in a named Fabric workspace with at least Contributor access, read and write permission, and no encrypted sensitivity label that blocks definition retrieval.

Before We Start

A clear purpose keeps the report focused once the hands-on work begins. You are committing to create a new report while leaving the existing semantic model unchanged.

A complete commitment records the exact Fabric workspace name. It also records the existing semantic model name, intended audience, and one decision the report should support.

Set Up Claude Code and Power BI Agentic

Claude Pro alone cannot author PBIR files or publish a Microsoft Fabric report definition. Those jobs need a local toolchain that can validate report files before sending the finished definition to your workspace.

Claude Code coordinates this workflow. The Power BI Authoring plugin adds the powerbi-report-cli skill that later inspects the model before authoring your report.

This setup changes no report content. Your existing semantic model remains unchanged.

In this step, get ready to:
  • Install Homebrew plus the required command-line dependencies.
  • Install the pinned Claude Code and report authoring tools.
  • Connect the Power BI Authoring skill to an authenticated Claude Code session.
Install Homebrew and the core tools

Homebrew manages the local packages used by this workflow. Node.js runs the report authoring package.

The Azure CLI handles Microsoft account authentication later in this step. The jq command provides JSON processing for command-line workflows.

  • Use Spotlight search on your Mac to open the terminal app.

✔️ Homebrew is available

Your package manager is ready. Continue to the core tool checks below.

ⓧ Homebrew is not installed

  • Install Homebrew by running this command:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

What does this command do?

The command downloads the official Homebrew installer. The installer prepares your Mac to install the remaining command-line tools.

Homebrew installation stopped?

Read the final terminal lines for the step that needs attention. Complete any macOS permission request before trying the installer again.

Help me complete the Homebrew installation.

Each core tool exposes a version command. These checks reveal whether the tool is ready, outdated, or missing.

  • Check the installed Node.js, Azure CLI, and jq versions by running:
node --version
az version
jq --version

What do these checks prove?

  • The first command confirms that the Node.js runtime is available.
  • The second command reports the installed Azure CLI version.
  • The third command confirms that jq can process JSON from the terminal.

✔️ All three commands return versions

Continue when Node.js reports 26.9.0 or the current Homebrew version. Azure CLI should report 2.90.0 or the current Homebrew version. jq should report 1.8.2 or the current Homebrew version.

ⓧ One or more versions are older

  • Refresh Homebrew before upgrading the three tools by running this command:
brew update && brew upgrade node azure-cli jq

What does this command do?

Homebrew refreshes its package definitions first. It then upgrades the named packages to the versions currently available through Homebrew.

  • Run the version checks again with these commands:
node --version
az version
jq --version

What should you confirm?

Each command should now return a version. This confirms that your shell can find all three upgraded tools.

ⓧ A command is missing

  • Install the three core tools by running these commands:
brew install node
brew update && brew install azure-cli
brew install jq

What did Homebrew install?

  • Node.js provides the runtime needed by the report authoring package.
  • Azure CLI provides the Microsoft account sign-in flow used later.
  • jq provides JSON processing from the terminal.
  • Confirm all three installations by running the version checks again:
node --version
az version
jq --version

What should you confirm?

Each command should return a version. A successful result proves that Homebrew installed the package and exposed its command to your shell.

A core tool still missing?

Close the terminal after the installation completes. Open a new terminal session before repeating the checks so your shell reloads its command paths.

Help me fix a missing Homebrew tool.

Install the pinned authoring tools

The authoring workflow depends on two pinned tools. Claude Code must use version 2.1.278. The Power BI Report Authoring CLI must use version 0.1.4.

Pinned versions keep the available commands aligned with this project. The initial checks may return versions or report that a command is missing.

  • Check both authoring tools by running:
claude --version
powerbi-report-author --version

What do these checks prove?

The first command checks Claude Code. The second command checks the validator used for Power BI report definitions.

✔️ Both pinned versions are installed

Continue when Claude Code reports 2.1.278 and Power BI Report Authoring CLI reports 0.1.4.

ⓧ I see an older version

  • Install the required pinned versions by running these commands:
curl -fsSL https://claude.ai/install.sh | bash -s 2.1.278
npm install -g @microsoft/powerbi-report-authoring-cli@0.1.4

What did you install?

The first installer sets Claude Code to version 2.1.278. The npm command installs Power BI Report Authoring CLI version 0.1.4 globally.

  • Confirm the pinned versions by running the checks again:
claude --version
powerbi-report-author --version

What should you confirm?

Claude Code should report 2.1.278. Power BI Report Authoring CLI should report 0.1.4.

ⓧ A command is missing

  • Install both authoring tools by running these commands:
curl -fsSL https://claude.ai/install.sh | bash -s 2.1.278
npm install -g @microsoft/powerbi-report-authoring-cli@0.1.4

What did you install?

The first command installs the pinned Claude Code release. The second command installs the pinned report validator as a global Node.js package.

  • Confirm both installations by running the version checks again:
claude --version
powerbi-report-author --version

What should you confirm?

Both commands should now return their pinned versions. This proves that your shell can find each authoring tool.

An authoring command still missing?

Open a new terminal session after both installers finish. This reloads the command paths used by your shell.

Help me fix the authoring tool installation.

Authenticate and load the Power BI skill

Azure CLI authentication connects your local session to the Microsoft account with access to the target workspace. The command uses the permissions already assigned to that account.

The browser sign-in touches your account credentials, so it can feel sensitive. Your password stays in the Microsoft sign-in flow and does not belong in the terminal.

  • Start Azure CLI sign-in by running this command:
az login

What happens during sign-in?

Azure CLI starts a browser authentication flow. The terminal receives account details after Microsoft completes the sign-in.

  • Complete the browser sign-in with the Microsoft account that owns or can edit the target Fabric workspace.
  • Return to the terminal after the browser confirms the sign-in.

You should see account information in the terminal. This confirms that Azure CLI has an authenticated session with the workspace account.

Browser sign-in did not complete?

Confirm that you selected the Microsoft account with access to the target workspace. Repeat the sign-in after closing any browser session that used a different account.

Help me troubleshoot Azure CLI sign-in.

Claude Code loads Power BI Agentic capabilities through its plugin system. Installing the first-party marketplace bundle makes the report authoring skill available inside an interactive Claude Code session.

  • Start an interactive Claude Code session by running:
claude

What just started?

Claude Code now controls the terminal session. Commands beginning with a forward slash are handled by Claude Code inside this interactive prompt.

  • Add the Microsoft skill marketplace by entering these commands in the Claude Code session:
/plugin marketplace add microsoft/skills-for-fabric
/plugin install powerbi-authoring@fabric-collection
/quit

What do these plugin commands do?

  • The first command adds the Microsoft Fabric skill marketplace.
  • The second command installs the Power BI Authoring plugin from the Fabric collection.
  • The final command closes the session so Claude Code can restart with the plugin loaded.
  • This project uses Power BI Authoring plugin version 0.3.17.

You should return to your normal terminal prompt after the plugin installation completes.

  • Restart Claude Code by running:
claude

Why restart Claude Code?

The new session loads the plugin installed in the previous session. This makes its skills available to Claude before report work begins.

Before you check, do you expect the new Power BI report skill to appear in Claude Code?

  • Open the installed skill list by entering:
/skills

What should the skill list prove?

The list shows which skills Claude Code can use in this session. Finding powerbi-report-cli proves that the Power BI Authoring plugin loaded successfully.

You should see powerbi-report-cli in the skill list. That completes the local Power BI Agentic toolchain.

Power BI skill missing?

Confirm that the plugin installation completed before the previous session closed. Quit Claude Code before starting a fresh session and checking the skill list again.

Help me load the Power BI skill.

You have cleared the setup hurdle. Claude Code can now reach the report authoring workflow through the installed Power BI skill.

Your Mac now has the authenticated authoring toolchain. Next, you will use it to publish a one-visual baseline in the Power BI service.

Publish a One-Visual Baseline

Your local Power BI Agentic toolchain is ready. A small baseline now proves that the path from your Mac to Fabric can publish a real report.

Claude Code inspects the existing semantic model before it chooses a category or measure. Keeping the page to one chart makes every part of the publishing path easier to verify.

In this step, get ready to:
  • Start Claude Code inside a new empty local project folder.
  • Approve a locked one-chart specification based on the existing semantic model.
  • Publish the baseline report to confirm the chart renders from the model.
Create the baseline project

Claude Code treats its current folder as the project workspace. A dedicated empty folder keeps the generated specification separate from your other files.

  • Press Command-Space bar to open Spotlight.
  • Type Terminal in the search field.
  • Press Return to open Terminal.
  • Create the claude-agentic-report folder on your Desktop by running this command:
mkdir ~/Desktop/claude-agentic-report

What did this command do?

The mkdir command creates an empty claude-agentic-report folder on your Desktop. Claude stores the report specification and generated report definition inside this folder.

  • Click the Finder icon in the Dock.
  • Select Desktop in the Finder sidebar.

You should see the empty claude-agentic-report folder on your Desktop.

Folder already exists?

The folder must be empty so Claude does not mix this report with an earlier project. Remove any old test files from the folder before continuing.

Help me prepare an empty project folder

  • Return to Terminal.
  • Move into the new folder and start Claude Code by running these commands:
cd ~/Desktop/claude-agentic-report
claude

Why start Claude here?

  • The cd command makes claude-agentic-report the current project folder.
  • The claude command starts the interactive Claude Code session in that folder.

Good, Claude Code is now anchored to the folder that will hold your baseline report files.

Claude did not start?

Return to the Terminal session from earlier and confirm that the toolchain is still available. Restart Terminal if the installation updated your shell configuration.

Help me start Claude Code in the project folder

The first request places powerbi-report-cli in planning mode. Claude must resolve the named workspace and inspect the model before it chooses the chart fields.

  • Prepare the baseline request by replacing the three highlighted values below with your Step 0 notes:
Use powerbi-report-cli in planning mode. Target workspace: [[FABRIC_WORKSPACE_NAME="exact workspace name"]]. Existing semantic model: [[SEMANTIC_MODEL_NAME="exact semantic model name"]]. Create a new one-page report named Claude Agentic Report for [[REPORT_AUDIENCE="audience"]]. The first version must contain only one data-bound bar chart using a useful category and an existing measure or safe aggregation discovered from the model. Do not modify the semantic model. I am on macOS, so mark Power BI Desktop preview as unavailable and use Fabric REST definition inspection plus manual service verification. Publish only after I approve the locked report spec.

What does this prompt control?

  • Planning mode makes Claude inspect the existing model before selecting fields.
  • The one-chart limit creates a controlled baseline with a small number of moving parts.
  • The macOS instruction uses REST definition inspection without claiming a Power BI Desktop preview.
  • The approval gate prevents Claude from publishing before you review the specification.
  • Paste the completed prompt into Claude Code.
  • Press Return to send the request.
  • Review each permission request before granting it.

Claude should begin resolving the named workspace and semantic model. It should inspect the model before proposing a chart.

Claude skipped planning mode?

Check that the first sentence of your prompt names powerbi-report-cli and planning mode. Send the complete prompt again if either part was omitted.

Help me correct the baseline planning request

Review and approve the locked specification

The access check is a fail-fast gate. It protects the existing semantic model from an authoring attempt that cannot be completed safely.

  • Confirm that Claude resolved exact workspace name as the target workspace.
  • Confirm that Claude resolved the semantic model recorded in Step 0.
  • Stop if Claude reports missing read/write access.
  • Stop if Claude reports a workspace role below Contributor.
  • Stop if Claude reports an encrypted sensitivity label.
  • Stop if Claude reports that the model is outside the named workspace.

One of the access checks failed?

  • Verify that Azure CLI is using the Microsoft account with access to the target workspace.
  • Ask the workspace owner to confirm the required role and model permissions.
  • Resolve the reported access or sensitivity-label condition before continuing.

Help me understand the failed access check

Once the access gate passes, Claude writes the canonical plan to ./_brief/report-spec.md. This file becomes the contract for the baseline build.

  • Read the specification Claude presents from ./_brief/report-spec.md.
  • Confirm that it names the recorded audience.
  • Confirm that it defines exactly one data-bound bar chart.
  • Confirm that the chart uses an existing category plus an existing measure or safe aggregation.
  • Confirm that the specification prohibits semantic-model changes.
  • Confirm that Power BI Desktop preview is marked unavailable on macOS.

Approval locks the reviewed scope before Claude creates any report-definition files. The exact reply below gives Claude permission to start the baseline build.

  • Approve the locked specification by sending this reply in Claude Code:
Approve - start building.

What does this approval do?

This reply closes the planning gate. Claude can now switch into authoring mode using the reviewed one-chart specification.

Claude should begin creating the local report definition from the approved specification.

Claude remains in planning mode?

Confirm that Claude presented a locked specification before you sent the approval reply. Ask it to show the current status of ./_brief/report-spec.md if the workflow does not advance.

Help me move from planning to authoring

Publish and inspect the baseline

The approved specification is now the source for the generated PBIR and PBIP files. Validation checks their structure before Claude publishes them over the Fabric workflow.

  • Allow Claude to switch into authoring mode.
  • Review each requested local file write.
  • Allow the report-definition writes that match the approved specification.
  • Confirm that Claude reports a successful PBIR validation.
  • Confirm that the report is bound to the resolved existing semantic model.
  • Allow Claude to switch into management mode.
  • Keep the Claude Code session running until the Fabric operation succeeds.

What has Claude created?

  • The locked ./_brief/report-spec.md records the resolved workspace and model.
  • The local PBIR/PBIP definition contains one validated data-bound bar chart.
  • The published Claude Agentic Report remains bound to the existing semantic model.

Claude should report that validation passed and the Fabric publish operation completed successfully.

Validation or publishing failed?

Keep the report unpublished if validation fails. Ask Claude to correct the generated definition without expanding the approved one-chart scope.

If publishing fails after validation passes, confirm that Claude is using the resolved workspace and semantic model from the locked specification.

Help me diagnose the baseline publish failure

The final proof comes from the Power BI service. Before you open the report, do you expect a populated chart to prove that both publication and semantic-model binding worked?

  • Open the Power BI service in your browser.
  • Sign in with the Microsoft account from the Azure CLI step if prompted.
  • Select Workspaces.
  • Choose exact workspace name.
  • Open Reports.
  • Select Claude Agentic Report.

You should see one populated data-bound bar chart. The rendered data proves that the report reached Fabric with a working semantic-model binding.

That is the full Mac-to-Fabric path working. Your local definition now produces a live report in the Power BI service.

  • Compare the lone chart with the decision question recorded in Step 0.

The chart answers one narrow comparison. It lacks the wider context needed to support the full decision.

Why keep the baseline so small?

The narrow report isolates the publishing path from design complexity. Its limitation is intentional because one chart exposes how little decision context an unplanned report can provide.

Chart missing or empty?

Confirm that you opened Claude Agentic Report from the same workspace resolved in the specification. Check Claude's final output for a successful binding to the intended semantic model.

Return to Claude Code with the visible symptom if the chart frame is empty or broken. Keep the approved one-chart scope unchanged while Claude validates the binding.

Help me troubleshoot the rendered baseline

Your Mac-to-Fabric publishing path works with the existing semantic model unchanged. Next up, you'll replace the one-chart guess with a model-aware design brief.

Create the Design Brief

Your one-chart Power BI baseline proves that the publishing path works. The chart still answers only one narrow question.

Claude Code now inspects the existing semantic model through the lens of your decision question. It turns verified model fields into a design contract for a richer report.

This step updates only ./_brief/report-spec.md. The published baseline stays unchanged.

Your local PBIR/PBIP definition also stays unchanged. The approved brief becomes its blueprint in the next step.

In this step, get ready to:
  • Record a decision question the baseline cannot answer.
  • Generate a model-aware design brief from the existing semantic model.
  • Approve a complete design contract for the redesigned report.
Record the baseline's decision gap

A single chart answers one narrow comparison. Your audience still lacks the context needed for the recorded decision.

Before you inspect the chart, consider whether one bar chart can answer the full decision question.

  • Return to Claude Agentic Report in the target workspace from earlier.
  • Study the populated bar chart through the lens of the decision your report should support.
  • Record one unanswered decision question here: your decision question.

The baseline gives you one useful comparison. It leaves your broader decision question unanswered.

What Makes a Strong Decision Question?

A useful question identifies the context missing from the baseline. For example, you could ask whether the leading category is improving over time or how it compares with the overall total.

Generate the model-aware design brief

Design mode makes Claude justify each visual against fields that exist in the model. This keeps guesses out of the report plan.

  • Send Claude the design request by pasting this prompt into the same Claude Code project:
Switch powerbi-report-cli to design mode. Inspect the existing semantic model and redesign Claude Agentic Report as one decision-ready page that answers the decision question I recorded. Use three or four complementary visuals chosen from fields and measures that actually exist. Include headline context, comparison, and a trend only if the model has a valid time dimension. Keep the semantic model unchanged, use human-readable labels, accessible contrast, and predictable interactions. Update the canonical Design Brief in ./_brief/report-spec.md, but do not author files yet.

What Does This Prompt Change?

  • Design mode connects every proposed visual to the decision question.
  • Model inspection limits the plan to supported fields plus measures.
  • The time-dimension rule prevents Claude from inventing a trend when the model cannot support one.
  • The instruction updates ./_brief/report-spec.md without changing the semantic model or authoring the redesigned report.
  • Wait for Claude to finish inspecting the model.
  • Review the proposed visual plan in Claude's response.

You should see a one-page proposal with three or four data-bound visuals. Each visual should have a distinct purpose tied to the recorded decision question.

Does the Proposal Still Contain Guesses?

  • Ask Claude to re-inspect the semantic model when a proposed field lacks an exact binding.
  • Ask Claude to replace any placeholder with a supported field or measure.

Use Help me remove unsupported fields from my design brief if you need help framing the revision.

Review and approve the contract

The design brief becomes the source of truth for authoring. Every visual needs a model-backed purpose before you lock the plan.

  • Compare each proposed visual purpose with your recorded decision question.
  • Check every field binding against the inspected semantic model.
  • Inspect layout_contract for one-page placement details.
  • Inspect space_audit for unused or overcrowded regions.
  • Confirm every label uses business-friendly language.
  • Confirm the planned contrast remains accessible.
  • Confirm each interaction has a predictable effect.
  • Confirm a trend appears only when the model has a valid time dimension.

What Blocks Approval?

An unsupported field would leave a visual empty. A redundant visual would use page space without adding a new decision angle.

  • Send Claude a revision request for each unsupported field you found.
  • Send Claude a revision request for each redundant visual you found.
  • Repeat the contract review after Claude updates the canonical brief.
  • Approve the revised design brief explicitly in Claude Code.

Before the final check, consider whether any unresolved field placeholders should remain after your review.

  • Review the opening lines of the updated ./_brief/report-spec.md in Claude's output.

You should see the contract begin with Design Brief:. You should also see generated_by: powerbi-report-cli with no unresolved field placeholders.

The contract should define one page with three or four model-backed visual placements. The published report should still contain the one-chart baseline.

✔️ My design brief matches

Your approved canonical design brief is ready to guide report authoring.

ⓧ I'd like to double check

  • The document begins with Design Brief: and includes generated_by: powerbi-report-cli.
  • The contract identifies the resolved workspace plus the existing semantic model.
  • The contract records the decision question the baseline cannot answer.
  • The plan contains three or four complementary model-backed visual placements.
  • Every placement has an exact supported field binding plus a distinct purpose.
  • The contract includes layout_contract plus space_audit.
  • The formatting plan covers human-readable labels plus accessible contrast.
  • The interaction plan defines predictable responses between visuals.
  • The contract prohibits changes to the existing semantic model.
  • The contract contains no unresolved field placeholders.

That planning gap is closed. Next, you will turn the approved contract into a validated redesign for the published report.

Author and Publish the Redesigned Report

Your approved design brief gives Claude Code a model-aware plan. The report still exists only as a contract, so your Fabric workspace still shows the one-chart baseline.

This step turns the approved contract into a complete PBIR definition. The Power BI Report Authoring CLI checks the local structure before Claude updates the existing report.

In this step, get ready to:
  • Author the approved redesign as complete local PBIR files.
  • Clear validation errors plus blocking warnings.
  • Update the existing report through Fabric management mode.
Author the approved design

Authoring mode translates each approved visual placement into report definition parts. Its capabilities lookup keeps the implementation within supported visual properties.

  • Return to the Claude Code session for your local project folder.
  • Send the approved implementation instructions by pasting this prompt:
Implement the approved Design Brief in powerbi-report-cli authoring mode. Use the Power BI report authoring CLI to look up visual capabilities and validate the complete .Report directory. Fix every validation error and review warnings. Do not claim Power BI Desktop or screenshot verification because this project is running on macOS.

What does this prompt control?

  • The powerbi-report-cli authoring mode turns the approved design into local report definition parts.
  • The capabilities lookup checks visual properties against supported definitions.
  • Validation checks the complete .Report directory for structural problems.
  • The macOS instruction prevents unsupported Power BI Desktop verification claims.
  • Let Claude create the model-specific PBIR/PBIP definition files.
  • Let Claude run validation against the complete .Report directory.

Claude's response now gives you a concrete validation result for the redesigned report definition.

Authoring stopped or produced invalid files?

  • Confirm that Claude is using the approved ./_brief/report-spec.md from the current project.
  • Ask Claude to use capabilities lookup again for any visual it cannot author.
  • Keep the existing semantic model unchanged while Claude repairs the report definition.

Get help diagnosing the authoring result with Claude produced invalid PBIR files from my approved Design Brief. Help me identify which report definition part needs to be corrected without changing the semantic model..

Clear the validation gate

Structural validation catches report problems before they reach the published workspace. A successful result is required before management mode can replace the baseline safely.

  • Review Claude's reported validation result.
  • Ask Claude to fix every validation error if the result failed.
  • Review each validation warning.
  • Ask Claude to replace any unknown visual type with a supported choice from capabilities lookup.
  • Ask Claude to correct every invalid binding against the approved field names.
  • Ask Claude to restore any missing page required by the Design Brief:.
  • Ask Claude to correct any invalid formatting.

Before Claude validates again, do you expect the revised definition to pass cleanly or expose another unsupported report part?

  • Ask Claude to run powerbi-report-author validate against the complete .Report directory again.

You should see confirmation that powerbi-report-author validate succeeded. The result should have no unresolved warnings for unknown visual types, invalid bindings, missing pages, or invalid formatting.

That is the local quality gate cleared. Your redesigned PBIR definition is now structurally ready for publication.

Validation still not clean?

  • Keep the report unpublished while the validation result is failed.
  • Give Claude the exact failing report part from its validation output.
  • Ask Claude to revalidate the complete definition after each repair.

Get help interpreting the remaining issue with My redesigned PBIR definition still does not pass powerbi-report-author validate. Help me use the validation output to identify the unsupported visual type, invalid binding, missing page, or formatting problem..

Update the published report

Management mode sends every validated PBIR definition part to the existing report. An update preserves the report identity while replacing the one-chart baseline.

  • Tell Claude to switch powerbi-report-cli to management mode.
  • Tell Claude to update the existing Claude Agentic Report with every PBIR definition part.
  • Tell Claude to verify the report binding against the target semantic model.

Before Claude submits the operation, do you expect Fabric to create another report or replace the existing baseline?

  • Tell Claude to submit an update for the existing Claude Agentic Report.

If Claude reports 202 Accepted, Fabric has accepted the update for processing. The publishing operation is still in progress.

  • Tell Claude to poll the Fabric operation to completion.

You should see the Fabric update operation reach Succeeded. Claude should also confirm that the report remains bound to the target semantic model.

The published definition is updated. The existing report now carries your approved redesign instead of the sparse baseline.

Fabric update did not succeed?

  • Confirm that Claude targeted the existing Claude Agentic Report.
  • Confirm that the signed-in Azure CLI account still has access to the recorded workspace.
  • Ask Claude to check that every validated definition part was included in the update.

Get help tracing the management operation with My Fabric update operation for Claude Agentic Report did not reach Succeeded. Help me check the update target, workspace access, semantic-model binding, and submitted PBIR definition parts without retrying a create operation..

The operation status proves that Fabric accepted the definition. A quick check in the Power BI service confirms that the published page has replaced the baseline.

  • Return to the Power BI service in your browser.
  • Select Workspaces.
  • Choose the recorded target workspace.
  • Open Reports.
  • Select Claude Agentic Report.

You should see the approved one-page redesign with three or four populated data-bound visuals instead of the single baseline chart.

The report remains bound to the existing semantic model. No semantic-model changes were made.

Your redesigned report is now live. Next up, you'll inspect every visual in the browser and test the report interactions.

Verify the Report in Power BI

Your approved redesign has replaced the one-chart baseline in the recorded Fabric workspace. Now you need to prove that the finished report works for the audience you named.

PBIR validation checks the report definition. The Power BI service reveals empty bindings, layout defects, or broken interactions.

In this step, get ready to:
  • Inspect the published page for every visual promised by the approved Design Brief.
  • Test the configured interaction from a comparison visual.
  • Resolve any visible defect before final confirmation.
Inspect the published page

The browser is the audience's view of your report. It exposes rendering problems that structural validation cannot see.

  • Open the Power BI service in your browser.
  • Sign in with the Microsoft account used earlier.
  • Select Workspaces in the left navigation.
  • Choose your recorded target workspace.
  • Open Reports in the workspace.
  • Select Claude Agentic Report.

You'll see the approved one-page redesign with three or four complementary visuals.

  • Compare the displayed page with the approved Design Brief in ./_brief/report-spec.md.
  • Confirm every promised visual is present.
  • Check that each visual contains data.
  • Read each visual title to confirm that it uses business-friendly text.
  • Check the visual edges for clipping.
  • Check the labels for overlap.

You have cleared the rendering check. The approved composition is now visible to your intended audience.

Test a report interaction

A cross-filter narrows the data shown in another visual. A cross-highlight keeps the full visual context while emphasizing the selected data.

Before you click anything, which visual do you expect to respond to a selection in the comparison visual?

  • Select a category or data point in a comparison visual.
  • Observe at least one other visual for a cross-filter or cross-highlight.

At least one other visual should respond according to the approved Design Brief. It should stay populated without showing an error.

How Do the Interaction Types Differ?

  • A cross-filter recalculates the affected visual for the selected category or data point.
  • A cross-highlight emphasizes the matching portion while preserving the surrounding context.
  • The approved Design Brief determines which response proves that the interaction works correctly.
  • Compare the observed response with the interaction described in the approved Design Brief.
  • Clear the selection in the comparison visual.

You'll see the full-page view return after the selection is cleared.

Close any visible gaps

A visible defect gives Claude a concrete symptom to investigate. The correction stays in the report definition while the existing semantic model remains unchanged.

✔️ Everything looks right

Your published definition already matches the approved design in the Power BI service.

  • Continue to the final interaction check below.

ⓧ I found a visible issue

Use the exact symptom as the starting point for a focused authoring correction.

  • Return to the Claude Code project from earlier.
  • Describe the exact visible symptom to Claude.
  • Ask Claude to enter authoring mode.
  • Ask Claude to correct the PBIR definition.
  • Ask Claude to validate the complete PBIR definition.
  • Ask Claude to enter management mode.
  • Ask Claude to update every definition part of the existing Claude Agentic Report.
  • Wait for the Fabric update operation to finish.

Claude should confirm successful validation before updating the published report. The service update should complete before you reload the page.

  • Return to Claude Agentic Report in your browser.
  • Reload the report page.

Still Seeing a Broken Visual?

  • For an empty visual, ask Claude to compare its binding with the approved Design Brief.
  • For clipped content, ask Claude to compare the visual region with layout_contract.
  • For a missing interaction, ask Claude to compare the visual interaction settings with the approved design.

Help me diagnose my Power BI report.

Before this final check, which visual should respond when you select a category in the comparison visual?

  • Reload Claude Agentic Report in your browser.
  • Confirm every promised visual is present.
  • Confirm that each visual contains data.
  • Confirm that each visual uses readable business-friendly labels.
  • Select a category or data point in the comparison visual.
  • Confirm that at least one other visual responds.
  • Check that the affected visual remains populated.
  • Check that the affected visual shows no error.

You'll see at least one other visual cross-filter or cross-highlight. The affected visual stays populated without an empty frame.

  • Clear the selection in the comparison visual.

You'll see the full-page view return after the selection is cleared. You have now proved that the redesigned report renders correctly and responds to its configured interaction.

Secret mission

Add a Model-Backed Slicer

Your report already responds to selections inside its visuals. Add a model-backed slicer for one meaningful business segment. Prove its reach across at least two visuals.

Clean Up Your Resources

Clean Up Your Resources

Keeping Claude Agentic Report or its local files creates no separate always-on compute resource. Continued publishing after your Power BI trial can require Power BI Pro, PPU, or paid capacity.

Resources you used:

  • The Claude Agentic Report report in your recorded target Fabric workspace.
  • The local Claude Code project folder containing ./_brief/report-spec.md plus the validated PBIR/PBIP definition files.
  • The Power BI Authoring plugin version 0.3.17 installed in Claude Code.

Protect the Existing Semantic Model

Only Claude Agentic Report belongs to this cleanup. Leave the existing semantic model untouched.

Keep everything running

No action needed. Choose this if you are still making model-aware edits to Claude Agentic Report.

  • Leave Claude Agentic Report in your recorded target Fabric workspace for future edits.
  • Keep the local project folder to preserve the approved design brief plus the validated PBIR/PBIP definition.
  • Keep the plugin installed to continue using powerbi-report-cli in Claude Code.

Pause - I'll come back to this later

Shut down the interactive Claude Code session to free your terminal. The published report stays available in the Power BI service.

  • Return to the Claude Code session for your existing local project folder.
  • Enter /quit to stop the interactive session.

Your normal terminal prompt returns. That is your safe pause point because no separate project compute keeps running.

Delete - I don't want to use this again

Deleting these resources can feel final. This path preserves the existing semantic model.

  • Return to the Claude Code session for your existing local project folder.
  • Ask powerbi-report-cli to switch to management mode.
  • Ask it to soft-delete only Claude Agentic Report from your recorded target Fabric workspace.
  • Wait until Claude confirms that the Fabric operation succeeded.
  • Return to Reports in your recorded target workspace in the Power BI service.
  • Confirm that Claude Agentic Report no longer appears.

The project-created report is now gone. Your existing semantic model remains untouched.

  • Remove the Power BI Authoring plugin from Claude Code by entering:
/plugin uninstall powerbi-authoring@fabric-collection

What Does This Command Do?

This removes the project plugin from Claude Code. It leaves the supporting command-line tools installed.

Plugin Command Not Working?

Make sure you enter the command inside Claude Code's interactive session. Help me remove the Power BI Authoring plugin.

  • Enter /quit after Claude Code confirms the removal.
  • Use Finder to locate the local Claude Code project folder containing ./_brief/report-spec.md.
  • Delete that project folder in Finder.
  • Confirm that the project folder no longer appears in Finder.

Cleanup is complete. Only the project-specific resources are gone.

Nice Work!

Nice Work!

You did it! Using Claude Code, you transformed an existing Power BI semantic model into a validated report without changing the model. Your published page now presents model-backed insights through readable visuals and responsive interactions.

You've learned how to:

  • Turn semantic-model inspection into an approved Design Brief with supported field bindings. The existing semantic model stays unchanged.
  • Publish a deliberately limited one-chart baseline to expose a decision-making gap. Replace it with a decision-ready report containing complementary visuals.
  • Author and validate a complete PBIR definition for Claude Agentic Report. Publish the redesign through a successful Fabric update. Prove the finished page responds to selections in the Power BI service.
  • Secret Mission: Add a model-backed slicer that updates at least two visuals while preserving the approved page layout.

Ready to quiz yourself?