skills/power-bi-pages/SKILL.md
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.
npx skillsauth add julianobarbosa/claude-code-skills power-bi-pagesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
# 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 pageis_hidden -- whether the page is hidden in the navigation panepage_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)# 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:
# Delete a page and all its visuals
pbi report delete-page page_abc123
This removes the entire page folder including all visual subdirectories.
# Set a solid background colour
pbi report set-background page_abc123 --color "#F5F5F5"
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 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 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).
# 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
Page commands inherit the report path from the parent pbi report group:
pbi report --path ./MyReport.Report list-pages*.Report/definition/.pbip: finds sibling .Report folder from .pbip fileBy 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
pbi --json report list-pages
pbi --json report get-page page_abc123
pbi --json bookmarks list
delete-page is irreversible and removes the entire folder including visuals: No trash, no undo. If the page has unique visuals not duplicated elsewhere, they're gone. Always pbi report export-tmdl or git-commit before deleting.set-visibility --hidden does not hide a page from a published report URL: Anyone with the deep link /reports/{id}/{pageId} still loads it. For sensitive draft pages, also restrict the workspace role — visibility is a UX flag, not a security boundary.pageBinding shown by get-page cannot yet be created by the CLI: You can read/list them but must configure the binding in Desktop. Round-tripping through Desktop sometimes reformats unrelated page settings — diff before commit.add-page ordinals are auto-assigned from the next-highest value, not appended at the end visually: If a previous page was deleted, the new ordinal can collide with what users perceive as the order. Use pbi report list-pages to confirm visible order.testing
Brief description of what this skill does. Include specific triggers - when should Claude use this skill? Example triggers, file types, or keywords that indicate this skill applies.
tools
Manage and troubleshoot PATH configuration in zsh. Use when adding tools to PATH (bun, nvm, Python venv, cargo, go), diagnosing "command not found" errors, validating PATH entries, or organizing shell configuration in .zshrc and .zshrc.local files.
tools
Zabbix monitoring system automation via API and Python. Use when: (1) Managing hosts, templates, items, triggers, or host groups, (2) Automating monitoring configuration, (3) Sending data via Zabbix trapper/sender, (4) Querying historical data or events, (5) Bulk operations on Zabbix objects, (6) Maintenance window management, (7) User/permission management
development
Operate YouTube Music via natural language. Search songs, artists, albums, playlists, lyrics, charts, recommendations, and control playback. Browse personal library, manage playlists, rate tracks, and inspect account info. Use this skill whenever the user asks about YouTube Music, wants to play music, manage playlists, search by song or artist name, inspect lyrics, or control playback.