Power BI AI skills and Power BI agents for Claude Code and GitHub Copilot: a plugin marketplace of Power BI skills, subagents, and hooks for semantic models, DAX, TMDL, reports, and AI dashboards. Includes Microsoft Fabric skills and Fabric agents. Weekly updates.
> /plugin marketplace add data-goblin/power-bi-agentic-development
Repo: data-goblin/power-bi-agentic-development
What's inside
[!WARNING] These skills are under active development with a weekly release cadence, so expect regular renaming and restructuring.
Versions 26.26 through 26.38 are a deliberate breaking transition. Skills may be consolidated, renamed, removed, or made less automatic between weekly releases in this range. Pin 26.25 or earlier if you need the pre-transition skill structure and behavior; do not assume compatibility from one transition release to the next.
Here's how you get started in Claude Code; run this in the terminal to get the marketplace:
claude plugin marketplace add data-goblin/power-bi-agentic-development
Click here for a YouTube walkthrough
Add the marketplace, then install plugins via /plugin and navigating to the installed marketplace.
Alternative; add plugins via command line:
claude plugin install goblin-mode@power-bi-agentic-development
claude plugin install tabular-editor@power-bi-agentic-development
claude plugin install pbi-desktop@power-bi-agentic-development
claude plugin install pbip@power-bi-agentic-development
claude plugin install semantic-models@power-bi-agentic-development
claude plugin install reports@power-bi-agentic-development
claude plugin install paginated-reports@power-bi-agentic-development
claude plugin install custom-visuals@power-bi-agentic-development
claude plugin install fabric-cli@power-bi-agentic-development
claude plugin install fabric-admin@power-bi-agentic-development
claude plugin install etl@power-bi-agentic-development
The standalone Copilot CLI supports plugin installation from GitHub repos. Copilot CLI reads the same .claude-plugin/marketplace.json manifest this repo uses, so the marketplace and child-plugin layout works without modification.
TMDL files have a problem with repository-relative paths over 260 characters. Windows' legacy MAX_PATH blocks git clone from writing them unless long path support is enabled at both the OS and git level. Without this, copilot plugin install aborts with Filename too long.
Check useful-stuff/agent-scripts/enable-windows-longpaths.ps1 as an example of a script you can run from an elevated ps environment to enable long paths; there are other routes to do this that you can find online, too... just ask Copilot. A reboot is recommended after the registry change. This is a Windows OS limitation, documented at Maximum Path Length Limitation.
See also the below git config command:
git config --system core.longpaths true
This repository is an Anthropic-format plugin marketplace (a set of plugins), not a single distributable plugin, so the root .claude-plugin/ contains only marketplace.json. Two documented install paths work:
1. Register the marketplace once, then install named child plugins. Example:
copilot plugin marketplace add data-goblin/power-bi-agentic-development
copilot plugin install tabular-editor@power-bi-agentic-development
2. Or install a single plugin directly from its subdirectory, no marketplace registration needed. Example:
copilot plugin install data-goblin/power-bi-agentic-development:plugins/pbip
Both forms are documented in the Copilot CLI plugin reference and the plugins how-to. Inside an interactive Copilot session, /plugin install PLUGIN-NAME@MARKETPLACE-NAME is the equivalent of (1). The bare copilot plugin install data-goblin/power-bi-agentic-development (no qualifier) will not install anything useful, because the root is a marketplace catalog, not a plugin.
Inside Copilot CLI:
/env # Loaded instructions, MCP servers, skills, agents, plugins, LSPs, extensions
/plugin list # Installed plugins
/skills list # Available skills
/skills info pbip # Details for a specific skill
/agent # Browse installed agents
skills/<name>/SKILL.md.*.agent.md extension required by Copilot CLI's documented convention. Claude Code matches any *.md file in agents/, so the dual extension works in both tools..mcp.json (plugin root) or .github/mcp.json. The plugins in this repo do not currently ship MCP servers.hooks.json and reference scripts using ${CLAUDE_PLUGIN_ROOT}. Copilot CLI โฅ 1.0.26 (2026-04-14) sets CLAUDE_PLUGIN_ROOT for plugin hooks (changelog); older builds do not, which causes hook commands to resolve to broken paths. Run copilot update if hooks fail to fire. Native Windows bash users may also hit a separate path-format bug tracked upstream at claude-code#11984.The repo contains skills, agents, and hooks.
/skill-name. In Claude Code, skills and commands have coalesced; commands are simply more prescriptive skill workflows.Hook checks can be individually toggled via config files. Set any check to false to disable it:
plugins/pbip/hooks/config.yaml -- PBIR, TMDL, and report binding validationplugins/pbi-desktop/hooks/config.yaml -- DAX references, measure metadata, referential integrity, metadata cache[!WARNING] Don't install every plugin. Each skill competes for the agent's attention and context window, so install a plugin only when you need it and remove it when you don't. Prefer installing plugins scoped to a project rather than to your user, so each project carries only the skills it actually uses.
| Type | Name | Description |
|---|---|---|
| Skill | help-me-get-started | A slow, friendly, jargon-free guide to agentic development for people new to agents; talks through what you want to do, feels out your role and access, teaches the five pillars (model, context, prompt, tools, environment) with local interactive explainers, and checks and installs what you need (Windows/macOS commands). Adapts pace: full tutorial or a fast install run |
| Skill | improve-my-agent-setup | Setup-wide health check with modes (shallow/deep/ultra/yolo): skills, memory, tools, STT, model independence, other clients, harness config, git, permission/isolation, network and autonomous-agent exposure, safety enforcement, secrets and PII hygiene, and workflow habits; then offers to fix what's weak. Absorbs the old /audit-context |
| Type | Name | Description |
|---|---|---|
| Skill | bpa-rules | Create and improve Best Practice Analyzer rules for models |
| Skill | c-sharp-scripting | C# scripting and macros for TE |
| Skill | te-cli | Cross-platform Tabular Editor CLI (te, preview) for semantic models from the terminal |
| Skill | te2-cli | Tabular Editor 2 CLI usage and automation (not TE3) |
| Skill | te-docs | Tabular Editor documentation search, TE3 config files. Uses pbi-search CLI |
| Command | /suggest-rule | Generate BPA rules from descriptions |
| Agent | bpa-expression-helper | Debug and improve BPA rule expressions |
| Type | Name | Description |
|---|---|---|
| Skill | connect-pbid | Explore, query, and modify a model in Power BI Desktop, and reload/screenshot the report canvas via the Desktop Bridge |
| Agent | query-listener | Capture DAX queries from Power BI Desktop visuals in real time |
| Hook | DAX reference validation | Validates table, column, and measure references against the connected model; suggests corrections |
| Hook | Measure metadata enforcement | Blocks adding measures without DisplayFolder, Description, and FormatString |
| Hook | Referential integrity check | Reports unmatched many-side keys after relationship or column changes |
| Hook | Metadata cache refresh | Auto-snapshots model metadata on TOM connect or model modification |
| Hook | Compatibility level check | Reports features available by upgrading; optional auto-upgrade |
| Type | Name | Description |
|---|---|---|
| Skill | pbip | Power BI Project (PBIP) format, structure, and file types |
| Skill | tmdl | Author and edit TMDL files directly |
| Skill | pbir-format | Author and edit PBIR metadata files directly (visual.json, report.json, themes, filters, report extensions, visual calculations) |
| Agent | pbip-validator | Validate PBIP project structure, TMDL syntax, and PBIR schemas |
| Hook | PBIR validation | Validates PBIR structure, required fields, naming conventions, and schema URLs |
| Hook | Report binding validation | Validates semantic model binding (byPath directory exists; byConnection model exists via fab exists) |
| Hook | TMDL validation | Validates TMDL structural syntax |
| Type | Name | Description |
|---|---|---|
| Skill | create-pbi-report | Step-by-step workflow for building a complete report from scratch via the pbir CLI: model discovery, pages, theme, visuals, field binding, filtering, formatting, validation, publishing |
| Skill | pbi-report-design | The Power BI report design canon: design identity, visual hierarchy, layout, color discipline, chart selection, KPI/table design, accessibility. Shared reference used by the other report skills |
| Skill | modifying-theme-json | Design, enforce, audit, and validate report themes through the pbir CLI |
| Skill | review-report | Actionable feedback on report quality, usage, and effectiveness; usage analysis, health checks |
| Skill | pbir-cli | Programmatic report manipulation via the pbir CLI, including live Power BI Desktop refresh and page screenshots |
| Agent | deneb-reviewer | Review Deneb visual specs for Vega/Vega-Lite syntax and conventions |
| Agent | svg-reviewer | Review SVG DAX measures for syntax and design quality |
| Agent | r-reviewer | Review R visual scripts (ggplot2) for Power BI conventions |
| Agent | python-reviewer | Review Python visual scripts (matplotlib/seaborn) for Power BI conventions |
| Type | Name | Description |
|---|---|---|
| Skill | paginated-report | Author, validate, publish, and test Power BI paginated reports in RDL format (Report Builder, PBIRS/SSRS-compatible); connect to a semantic model, render to PDF/Excel |
| Hook | RDL validation | Validates .rdl structure after Write/Edit and on Bash commands touching .rdl files; blocks on structural errors only |
| Type | Name | Description |
|---|---|---|
| Skill | deneb-visuals | Deneb visual creation, Vega/Vega-Lite spec authoring, Deneb best practices for PBIR reports |
| Skill | r-visuals | Custom R visuals (ggplot2) for Power BI reports |
| Skill | python-visuals | Custom Python visuals (matplotlib/seaborn) for Power BI reports |
| Skill | svg-visuals | SVG generation via DAX measures and extension measures for inline chart visualizations (sparklines, bullet charts, KPI indicators, and more) |
| Skill | powerbi-custom-visuals | Power BI developer custom visual (.pbiviz) development with the pbiviz toolchain and its MCP server: scaffold, build, debug, package, certify, publish to AppSource |
Reviewer agents for these visual types (deneb-reviewer, svg-reviewer, r-reviewer, python-reviewer) ship in the reports plugin above.
| Type | Name | Description |
|---|---|---|
| Skill | semantic-model | Design, build, refresh, and review semantic models through a te-first tool cascade |
| Skill | standardize-naming-conventions | Audit and standardize naming conventions in semantic models |
| Skill | refresh-semantic-model | Trigger or troubleshoot refreshes |
| Skill | lineage-analysis | Trace downstream reports from a semantic model across workspaces |
| Skill | power-query | Write M expressions, debug query folding, execute M locally or via Fabric API |
| Skill | dax | Write, debug, and optimize DAX in semantic models. Contributed by Justin Martin |
| Agent | semantic-model-auditor | Audit semantic models for quality, memory, DAX, and design issues |
| Type | Name | Description |
|---|---|---|
| Skill | fabric-cli | Fabric CLI (fab) for any remote operation in Power BI or Fabric (works fully on Pro, PPU; Fabric not required) |
| Command | /migrating-fabric-trial-capacities | Migrate workspaces from trial to production capacity |
| Type | Name | Description |
|---|---|---|
| Skill | audit-tenant-settings | Audit Fabric and Power BI tenant settings, delegated overrides, and Entra security group membership |
| Type | Name | Description |
|---|---|---|
| Skill | executing-spark | Execute arbitrary Python or PySpark code on Fabric Spark compute without creating a notebook artifact; ephemeral Livy sessions with full Delta table access |
| Skill | using-duckdb | Query Fabric lakehouse and warehouse data with DuckDB, locally or inside a Fabric notebook; data freshness and quality checks |
General-purpose agent resources that don't fit into a plugin: defensive hooks, patterns, and tools. See useful-stuff/.
These plugins are intended for free community use.
You do not have the license to copy and incorporate them into your own products, trainings, courses, or tools. If you copy these skills - manually or by using an agent to rewrite them - you must include attribution and a link to this original project. That includes you, Microsoft.
.claude-plugin/
marketplace.json
.gitattributes
.github/
ISSUE_TEMPLATE/
bug_report.yml
config.yml
feature_request.yml
general_feedback.yml
workflows/
validate-plugins.yml
.gitignore
ATTRIBUTIONS.md
CONTRIBUTING.md
LICENSE
media/
bg22-06-2.png
bg42-11-4.png
icons/
fabric-cli.svg
pbi-desktop.svg
pbip.svg
reports.svg
semantic-models.svg
tabular-editor.svg
marketplace-auto-update.png
marketplace-ui.png
plugins/
custom-visuals/
.claude-plugin/
plugin.json
.mcp.json
skills/
deneb-visuals/
examples/
spec/
vega/
vega-lite/
bullet-chart.json
kpi-card.json
bar-chart.json
line-chart.json
standard-config.json
visual/
bullet-chart.json
kpi-card.json
trend-line.json
ytd-comparison.json
ytd-line-chart.json
references/
advanced-patterns.md
capabilities.md
community-examples.md
pbir-structure.md
vega-lite-patterns.md
vega-patterns.md
SKILL.md
powerbi-custom-visuals/
examples/
capabilities-objects.json
vscode-mcp.json
references/
certification-publishing.md
community-examples.md
mcp-server.md
pbiviz-toolchain.md
SKILL.md
python-visuals/
examples/
script/
bar-chart.py
trend-line.py
visual/
bar-chart.json
kpi-card.json
trend-line.json
ytd-line-chart.json
references/
chart-patterns.md
community-examples.md
data-model.md
SKILL.md
r-visuals/
examples/
script/
bar-chart.R
trend-line.R
visual/
bar-chart.json
bullet-chart.json
trend-line.json
ytd-line-chart.json
references/
community-examples.md
data-model.md
ggplot2-patterns.md
SKILL.md
svg-visuals/
examples/
boxplot-measure.dax
bullet-chart-measure.dax
dumbbell-chart-measure.dax
ibcs-bar-measure.dax
jitter-plot-measure.dax
lollipop-conditional-measure.dax
overlapping-bars-measure.dax
overlapping-bars-with-variance-measure.dax
progress-bar-measure.dax
sparkline-measure.dax
status-pill-measure.dax
waterfall-measure.dax
references/
community-examples.md
svg-accessibility.md
svg-card-slicer.md
svg-elements.md
svg-image-visual.md
svg-table-matrix.md
SKILL.md
etl/
.claude-plugin/
plugin.json
skills/
executing-spark/
references/
example-script.md
livy-api.md
SKILL.md
using-duckdb/
references/
common-patterns.md
in-notebook-setup.md
SKILL.md
fabric-admin/
.claude-plugin/
plugin.json
skills/
audit-tenant-settings/
references/
delegated-overrides.md
security-groups.md
tenant-settings-metadata.yaml
scripts/
audit-tenant-settings.py
generate_audit_pdf.py
SKILL.md
fabric-cli/
.claude-plugin/
plugin.json
.mcp.json
commands/
migrating-fabric-trial-capacities.md
skills/
fabric-cli/
examples/
pyspark-notebook.ipynb
python-notebook.ipynb
references/
admin.md
connections.md
dashboards.md
dataflows.md
deployment-pipelines.md
fab-api.md
fab-vs-az-cli.md
folders.md
gateways.md
import-download-deploy.md
lakehouses.md
notebooks.md
org-apps.md
paginated-reports.md
permissions.md
querying-data.md
reference.md
reports.md
scorecards.md
semantic-models.md
service-principals.md
sql-databases.md
tags.md
warehouses.md
workspaces.md
scripts/
create_direct_lake_model.py
deploy_notebook.py
download_workspace.py
execute_dax.py
get_semantic_model_ai_metadata.py
get-downstream-reports.py
query_lakehouse_duckdb.py
query_sql_endpoint.py
query_sql_mcp.py
README.md
run_notebook_checked.py
search_across_workspaces.py
SKILL.md
goblin-mode/
.claude-plugin/
plugin.json
skills/
help-me-get-started/
references/
discovery.md
fabric.md
foundation.md
install.md
models.md
pillars.md
reports-and-visuals.md
scripts/
show_explainer.py
SKILL.md
improve-my-agent-setup/
improve-workspace/
trigger-evals.json
references/
context-review.md
dimensions.md
fix-catalog.md
modes.md
scripts/
scan_setup.py
SKILL.md
paginated-reports/
.claude-plugin/
plugin.json
hooks/
config.yaml
hooks.json
README.md
validate-rdl.sh
skills/
paginated-report/
assets/
enter-data-starter.rdl
platform-template.json
semantic-model-starter.rdl
sql-starter.rdl
references/
data-sources.md
dev-loop.md
differences-with-ssrs.md
example-reports.md
questionnaire.md
rdl-format.md
renderers.md
report-structure.md
scripts/
export_rdl.ps1
export_rdl.sh
publish_rdl.ps1
publish_rdl.sh
validate_rdl.py
SKILL.md
pbi-desktop/
.claude-plugin/
plugin.json
agents/
query-listener.agent.md
hooks/
check-referential-integrity.ps1
config.yaml
hooks.json
pbi-hooks.sh
README.md
snapshot-model.ps1
skills/
connect-pbid/
daxlib.sh
references/
annotations.md
calendar-column-groups.md
dax-expressions.md
dax-pitfalls.md
daxlib.md
desktop-bridge.md
evaluateandlog-debugging.md
export-model.md
load-tmdl-files.md
parallels-macos.md
performance-profiling.md
query-listener.md
refresh-model.md
tom-object-types.md
vertipaq-stats.md
scripts/
connect-and-enumerate.ps1
connect-from-mac.sh
create-field-parameter.ps1
daxlib-tom/
.gitignore
daxlib-tom.csproj
Program.cs
debug-dax.ps1
explore-model.ps1
load-tmdl.ps1
modify-tom-objects.ps1
query-dax.ps1
refresh-table.ps1
SKILL.md
pbip/
.claude-plugin/
plugin.json
agents/
pbip-validator.agent.md
hooks/
bin/
tmdl-validate-darwin-arm64
tmdl-validate-darwin-x64
tmdl-validate-linux-x64
tmdl-validate-windows-x64.exe
config.yaml
core-visual-catalog.json
hooks.json
README.md
validate-pbir.sh
validate-report-binding.sh
validate-tmdl.sh
skills/
pbip/
references/
copilot-folder.md
pbip-file-types.md
rename-cascade.md
scripts/
validate_pbip.py
SKILL.md
pbir-format/
examples/
K201-MonthSlicer.Report/
.platform
definition/
definition.pbir
bookmarks/
54698b9cd0a0c57906b7.bookmark.json
71abeb475381792b035d.bookmark.json
82ce9a7f49847d03190a.bookmark.json
8f5a4883bde0d3bd075d.bookmark.json
958f29ad733c047ee0b8.bookmark.json
bookmarks.json
e5b8aa0b8e0565be9ce0.bookmark.json
pages/
AfterReport.Page/
page.json
visuals/
ButtonSlicer_TopCenter_2.Visual/
visual.json
ButtonSlicer_TopCenter.Visual/
visual.json
KPI_TopLeft.Visual/
visual.json
LineChart_TopLeft.Visual/
visual.json
ScatterChart_MiddleLeft.Visual/
visual.json
Table_TopCenter.Visual/
visual.json
Textbox_TopLeft.Visual/
visual.json
Before Report.Page/
page.json
visuals/
KPI_TopLeft.Visual/
visual.json
Line Chart_TopLeft.Visual/
visual.json
Scatter Chart_MiddleLeft.Visual/
visual.json
Slicer_TopCenter.Visual/
visual.json
Table_TopCenter.Visual/
visual.json
Textbox_TopLeft.Visual/
visual.json
pages.json
report.json
reportExtensions.json
version.json
StaticResources/
RegisteredResources/
SqlbiDataGoblinTheme.json
SharedResources/
BaseThemes/
CY24SU10.json
visuals/
__index.md
default/
advancedSlicer.json
areaChart.json
barChart.json
card.json
cardVisual.json
columnChart.json
comboChart.json
donutChart.json
gauge.json
image.json
kpi.json
lineChart.json
... 990 moreFAQ
power-bi-agentic-development is a Claude Code plugin with 32 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes deneb-visuals, powerbi-custom-visuals, python-visuals. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.