Skip to content
Data
Skill

/power-bi-pages

Manage Power BI report pages and bookmarks -- add, remove, configure, and lay out pages in PBIR reports using pbi-cli. Invoke this skill whenever the user mentions "add page", "new page", "delete page", "page layout", "page size", "page background", "hide page", "show page",

From plugin
pbi-cli
49113 skills

Claude Code

$ npx -y skills add MinaSaad1/pbi-cli --skill power-bi-pages --agent claude-code

SKILL.md

power-bi-pages.SKILL.md
name: Power BI Pages
description: >
  Manage Power BI report pages and bookmarks -- add, remove, configure, and lay
  out pages in PBIR reports using pbi-cli. Invoke this skill whenever the user
  mentions "add page", "new page", "delete page", "page layout", "page size",
  "page background", "hide page", "show page", "drillthrough", "page order",
  "page visibility", "page settings", "page navigation", "bookmark", "create
  bookmark", "save bookmark", "delete bookmark", or wants to manage bookmarks
  that capture page-level state. Also invoke when the user asks about drillthrough
  configuration or pageBinding.
tools: pbi-cli

Power BI Pages Skill

Manage pages in PBIR reports. Pages are folders inside `definition/pages/` containing a `page.json` file and a `visuals/` directory. No Power BI Desktop connection is needed.

Listing and Inspecting Pages

# List all pages with display names, order, and visibility
pbi report list-pages

# Get full details of a specific page
pbi report get-page page_abc123

`get-page` returns:

  • `name`, `display_name`, `ordinal` (sort order)
  • `width`, `height` (canvas size in pixels)
  • `display_option` (e.g. `"FitToPage"`)
  • `visual_count` -- how many visuals on the page
  • `is_hidden` -- whether the page is hidden in the navigation pane
  • `page_type` -- `"Default"` or `"Drillthrough"`
  • `filter_config` -- page-level filter configuration (if any)
  • `visual_interactions` -- custom visual interaction rules (if any)
  • `page_binding` -- drillthrough parameter definition (if drillthrough page)

Adding Pages

# Add with display name (folder name auto-generated)
pbi report add-page --display-name "Executive Overview"

# Custom folder name and canvas size
pbi report add-page --display-name "Details" --name detail_page \
    --width 1920 --height 1080

Default canvas size is 1280x720 (standard 16:9). Common alternatives:

  • 1920x1080 -- Full HD
  • 1280x960 -- 4:3
  • Custom dimensions for mobile or dashboard layouts

Deleting Pages

# Delete a page and all its visuals
pbi report delete-page page_abc123

This removes the entire page folder including all visual subdirectories.

Page Background

# Set a solid background colour
pbi report set-background page_abc123 --color "#F5F5F5"

Page Visibility

Control whether a page appears in the report navigation pane:

# Hide a page (useful for drillthrough or tooltip pages)
pbi report set-visibility page_abc123 --hidden

# Show a hidden page
pbi report set-visibility page_abc123 --visible

Bookmarks

Bookmarks capture page-level state (filters, visibility, scroll position). They live in `definition/bookmarks/`:

# List all bookmarks in the report
pbi bookmarks list

# Get details of a specific bookmark
pbi bookmarks get "My Bookmark"

# Add a new bookmark
pbi bookmarks add "Executive View"

# Delete a bookmark
pbi bookmarks delete "Old Bookmark"

# Toggle bookmark visibility
pbi bookmarks set-visibility "Draft View" --hidden

Drillthrough Pages

Drillthrough pages have a `pageBinding` field in `page.json` that defines the drillthrough parameter. When you call `get-page` on a drillthrough page, the `page_binding` field returns the full binding definition including parameter name, bound filter, and field expression. Regular pages return `null`.

To create a drillthrough page, add a page and then configure it as drillthrough in Power BI Desktop (PBIR drillthrough configuration is not yet supported via CLI -- the CLI can read and report on drillthrough configuration).

Workflow: Set Up Report Pages

# 1. Add pages in order
pbi report add-page --display-name "Overview" --name overview
pbi report add-page --display-name "Sales Detail" --name sales_detail
pbi report add-page --display-name "Regional Drillthrough" --name region_drill

# 2. Hide the drillthrough page from navigation
pbi report set-visibility region_drill --hidden

# 3. Set backgrounds
pbi report set-background overview --color "#FAFAFA"

# 4. Verify the setup
pbi report list-pages

Path Resolution

Page commands inherit the report path from the parent `pbi report` group:

1. Explicit: `pbi report --path ./MyReport.Report list-pages` 2. Auto-detect: walks up from CWD looking for `*.Report/definition/` 3. From `.pbip`: finds sibling `.Report` folder from `.pbip` file

Suppressing Auto-Sync (--no-sync)

By default, every write command automatically syncs Power BI Desktop. When setting up multiple pages in sequence, Desktop reloads after each one.

Use `--no-sync` on the `report` command group to batch all page changes, then call `pbi report reload` once at the end:

# Suppress sync while setting up pages
pbi report --no-sync add-page --display-name "Overview" --name overview
pbi report --no-sync add-page --display-name "Details" --name details
pbi report --no-sync set-background overview --color "#F2F2F2"
pbi report --no-sync set-background details --color "#F2F2F2"

# Single reload when all page setup is done
pbi report reload

JSON Output

pbi --json report list-pages
pbi --json report get-page page_abc123
pbi --json bookmarks list
Read more
@minasaad1
Ships withpbi-cli

Power BI CLI - semantic models (.NET TOM) and PBIR reports for token-efficient AI agent usage, built for Claude Code

Stars on GitHub

Momentum

stars in total
491
Star history of MinaSaad1/pbi-cli on GitHub, a chart by star-history.com

Other skills on pbi-cli.

power-bi-custom-visuals

power-bi-custom-visual…

Vibe-code Power BI custom visuals end-to-end: scaffold a TypeScript project, iterate on src/visual.ts and capabilities.json,…

@minasaad1@minasaad1Install Skill
power-bi-dax

power-bi-dax

Write, execute, and optimize DAX queries and measures for Power BI semantic models using pbi-cli. Invoke this skill whenever the…

@minasaad1@minasaad1Install Skill
power-bi-deployment

power-bi-deployment

Import and export TMDL/TMSL formats, manage model lifecycle with transactions, and version-control Power BI semantic models using…

@minasaad1@minasaad1Install Skill
power-bi-diagnostics

power-bi-diagnostics

Troubleshoot Power BI model performance, trace query execution, manage caches, and verify the pbi-cli environment using pbi-cli.…

@minasaad1@minasaad1Install Skill
power-bi-docs

power-bi-docs

Auto-document Power BI semantic models by extracting metadata, generating documentation, and cataloging all model objects using…

@minasaad1@minasaad1Install Skill
power-bi-filters

power-bi-filters

Add, remove, and manage page-level and visual-level filters on Power BI PBIR reports using pbi-cli. Invoke this skill whenever…

@minasaad1@minasaad1Install Skill

More skills from other plugins.

context-loader
Auto-invoked

context-loader

Search memories from earlier Pi sessions in this repository. Use it when earlier work may already explain the code, error,…

mem06d69k
@mem0ai@mem0aiInstall Skill
analyzing-ai-citations

analyzing-ai-citations

Answer AI citation and answer engine optimization (AEO) questions in PostHog: whether AI answer engines (ChatGPT, Claude, and an…

posthog13d41k
@posthog@posthogInstall Skill

Questions about power-bi-pages.

Which coding agents can use power-bi-pages?
power-bi-pages installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.