{"id":38914952,"url":"https://github.com/data-goblin/power-bi-agentic-development","last_synced_at":"2026-04-20T12:05:20.840Z","repository":{"id":332793982,"uuid":"1134840817","full_name":"data-goblin/power-bi-agentic-development","owner":"data-goblin","description":"Skills, subagents, hooks, and other stuff for agents to work well with Power BI. WIP; daily updates.","archived":false,"fork":false,"pushed_at":"2026-04-06T12:19:11.000Z","size":6088,"stargazers_count":344,"open_issues_count":0,"forks_count":54,"subscribers_count":17,"default_branch":"main","last_synced_at":"2026-04-06T13:02:49.636Z","etag":null,"topics":["microsoft-fabric","power-bi","reporting","semantic-model"],"latest_commit_sha":null,"homepage":"https://blog.tabulareditor.com","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/data-goblin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-15T09:26:29.000Z","updated_at":"2026-04-06T12:19:16.000Z","dependencies_parsed_at":"2026-04-13T08:00:31.477Z","dependency_job_id":null,"html_url":"https://github.com/data-goblin/power-bi-agentic-development","commit_stats":null,"previous_names":["data-goblin/power-bi-agentic-development"],"tags_count":53,"template":false,"template_full_name":null,"purl":"pkg:github/data-goblin/power-bi-agentic-development","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/data-goblin%2Fpower-bi-agentic-development","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/data-goblin%2Fpower-bi-agentic-development/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/data-goblin%2Fpower-bi-agentic-development/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/data-goblin%2Fpower-bi-agentic-development/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/data-goblin","download_url":"https://codeload.github.com/data-goblin/power-bi-agentic-development/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/data-goblin%2Fpower-bi-agentic-development/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31744404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T06:26:45.479Z","status":"ssl_error","status_checked_at":"2026-04-13T06:26:44.645Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["microsoft-fabric","power-bi","reporting","semantic-model"],"created_at":"2026-01-17T15:25:17.149Z","updated_at":"2026-04-20T12:05:20.833Z","avatar_url":"https://github.com/data-goblin.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"media/bg42-11-3.png\" alt=\"\" width=\"800\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003epower-bi-agentic-development\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  The best source for agentic development resources for Power BI in one marketplace \u003cbr/\u003e\n  \u003ci\u003e Teach agents like Claude Code or GitHub Copilot to do literally anything in Power BI \u003c/i\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/version-0.26.1-blue\" alt=\"Version\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Power_BI-F2C811?logo=powerbi\u0026logoColor=000\" alt=\"Power BI\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Microsoft_Fabric-008272\" alt=\"Microsoft Fabric\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Tabular_Editor-2E7D32\" alt=\"Tabular Editor\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/license-GPL--3.0-green\" alt=\"License\"\u003e\n\u003c/p\u003e\n\n\u003e [!WARNING]\n\u003e Under active development with a weekly release cadence; regular renaming or restructuring.\n\n---\n\n### What is agentic development?\n\n- *Agentic development* is when you use agents to help you build, manage, and optimize artifacts and software. This includes semantic models, reports, and the things around them, like workspaces, deployment pipelines, and also processes.\n- A *marketplace* hosts *plugins* that you can install. Plugins are a collection of resources that help coding agents perform better. They are typically special instruction files and scripts. Plugins can contain skills, subagents, hooks, and MCP servers focused on special topics or tasks.\n- This marketplace is focused on everything to help your agent work well with Power BI and Fabric! Read further for more information.\n\n## Installation\n\nHere's how you get started in Claude Code; run this in the terminal to get the marketplace: \n\n```bash\nclaude plugin marketplace add data-goblin/power-bi-agentic-development\n```\n\n### Example: Using the pbir-cli with the skills\n\n[Click here for a YouTube walkthrough](https://www.youtube.com/watch?v=acHDorTi62U)\n\n[![pbir-cli demo](https://img.youtube.com/vi/acHDorTi62U/maxresdefault.jpg)](https://www.youtube.com/watch?v=acHDorTi62U)\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eClaude Code\u003c/strong\u003e\u003c/summary\u003e\n\nAdd the marketplace, then install plugins via `/plugin` and navigating to the installed marketplace.\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003e\u003cimg src=\"media/marketplace-ui.png\" alt=\"Marketplace UI\" width=\"400\"\u003e\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\u003cimg src=\"media/marketplace-auto-update.png\" alt=\"Marketplace auto-update\" width=\"400\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003e\u003cem\u003eInstall plugins from the marketplace\u003c/em\u003e\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\u003cem\u003eEnable marketplace auto-update\u003c/em\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\nAlternative; add plugins via command line:\n\n```bash\nclaude plugin install tabular-editor@power-bi-agentic-development\nclaude plugin install pbi-desktop@power-bi-agentic-development\nclaude plugin install semantic-models@power-bi-agentic-development\nclaude plugin install reports@power-bi-agentic-development\nclaude plugin install pbip@power-bi-agentic-development\nclaude plugin install fabric-cli@power-bi-agentic-development\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eGitHub Copilot\u003c/strong\u003e\u003c/summary\u003e\n\nThe standalone [Copilot CLI](https://docs.github.com/en/copilot/how-tos/copilot-cli) supports plugin installation from GitHub repos. Consult the Copilot documentation for specifics, or open an issue in this repo.\n\n```bash\ncopilot plugin install data-goblin/power-bi-agentic-development\n```\n\nSome plugin features like agents and hooks may behave differently across tools. The core knowledge in the skill files is tool-agnostic.\n\n\u003c/details\u003e\n\n\n## Overview\n\nThe repo contains skills, agents, and hooks.\n\n- **Skills** teach agents domain knowledge and workflows. They activate automatically based on task context, or can be invoked manually with `/skill-name`. In Claude Code, skills and commands have coalesced; commands are simply more prescriptive skill workflows.\n- **Agents** are autonomous subprocesses that handle complex, multi-step tasks independently; typically used for review and validation.\n- **Hooks** run automatically after tool use to validate files and catch errors early. They are deterministic; they fire when a specific pattern is matched, not by LLM judgment.\n\nHook checks can be individually toggled via config files. Set any check to `false` to disable it:\n- `plugins/pbip/hooks/config.yaml` -- PBIR, TMDL, and report binding validation\n- `plugins/pbi-desktop/hooks/config.yaml` -- DAX references, measure metadata, referential integrity, metadata cache\n\n### Available plugins for Power BI and Fabric\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cimg src=\"media/icons/tabular-editor.svg\" alt=\"\" height=\"20\"\u003e \u003cstrong\u003etabular-editor\u003c/strong\u003e \u0026ensp; BPA rules, C# scripting, and CLI automation for Tabular Editor\u003c/summary\u003e\n\n| Type | Name | Description |\n|------|------|-------------|\n| Skill | [`bpa-rules`](plugins/tabular-editor/skills/bpa-rules/) | Create and improve Best Practice Analyzer rules for models |\n| Skill | [`c-sharp-scripting`](plugins/tabular-editor/skills/c-sharp-scripting/) | C# scripting and macros for TE |\n| Skill | [`te2-cli`](plugins/tabular-editor/skills/te2-cli/) | Tabular Editor 2 CLI usage and automation (not TE3) |\n| Skill | [`te-docs`](plugins/tabular-editor/skills/te-docs/) | Tabular Editor documentation search, TE3 config files. Uses [`pbi-search`](https://github.com/data-goblin/pbi-search) CLI |\n| Command | [`/suggest-rule`](plugins/tabular-editor/commands/suggest-rule.md) | Generate BPA rules from descriptions |\n| Agent | [`bpa-expression-helper`](plugins/tabular-editor/agents/bpa-expression-helper.md) | Debug and improve BPA rule expressions |\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cimg src=\"media/icons/pbi-desktop.svg\" alt=\"\" height=\"20\"\u003e \u003cstrong\u003epbi-desktop\u003c/strong\u003e \u0026ensp; Connect to, query, and modify models in Power BI Desktop\u003c/summary\u003e\n\n| Type | Name | Description |\n|------|------|-------------|\n| Skill | [`connect-pbid`](plugins/pbi-desktop/skills/connect-pbid/) | Explore, query, and modify a model in Power BI Desktop |\n| Agent | [`query-listener`](plugins/pbi-desktop/agents/query-listener.md) | Capture DAX queries from Power BI Desktop visuals in real time |\n| Hook | DAX reference validation | Validates table, column, and measure references against the connected model; suggests corrections |\n| Hook | Measure metadata enforcement | Blocks adding measures without DisplayFolder, Description, and FormatString |\n| Hook | Referential integrity check | Reports unmatched many-side keys after relationship or column changes |\n| Hook | Metadata cache refresh | Auto-snapshots model metadata on TOM connect or model modification |\n| Hook | Compatibility level check | Reports features available by upgrading; optional auto-upgrade |\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cimg src=\"media/icons/pbip.svg\" alt=\"\" height=\"20\"\u003e \u003cstrong\u003epbip\u003c/strong\u003e \u0026ensp; Author and validate TMDL, PBIR, and PBIP project files\u003c/summary\u003e\n\n| Type | Name | Description |\n|------|------|-------------|\n| Skill | [`pbip`](plugins/pbip/skills/pbip/) | Power BI Project (PBIP) format, structure, and file types |\n| Skill | [`tmdl`](plugins/pbip/skills/tmdl/) | Author and edit TMDL files directly |\n| Skill | [`pbir-format`](plugins/pbip/skills/pbir-format/) | Author and edit PBIR metadata files directly (visual.json, report.json, themes, filters, report extensions, visual calculations) |\n| Agent | [`pbip-validator`](plugins/pbip/agents/pbip-validator.md) | Validate PBIP project structure, TMDL syntax, and PBIR schemas |\n| Hook | PBIR validation | Validates PBIR structure, required fields, naming conventions, and schema URLs |\n| Hook | Report binding validation | Validates semantic model binding (byPath directory exists; byConnection model exists via `fab exists`) |\n| Hook | TMDL validation | Validates TMDL structural syntax |\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cimg src=\"media/icons/reports.svg\" alt=\"\" height=\"20\"\u003e \u003cstrong\u003ereports\u003c/strong\u003e \u0026ensp; Deneb, R, Python, SVG visuals; themes; report design and review\u003c/summary\u003e\n\n| Type | Name | Description |\n|------|------|-------------|\n| Skill | [`pbi-report-design`](plugins/reports/skills/pbi-report-design/) (Very WIP) | Power BI report best practices, design and style |\n| Skill | [`modifying-theme-json`](plugins/reports/skills/modifying-theme-json/) (WIP) | Working with theme files |\n| Skill | [`deneb-visuals`](plugins/reports/skills/deneb-visuals/) | Deneb visuals with Vega and Vega-Lite specs |\n| Skill | [`r-visuals`](plugins/reports/skills/r-visuals/) | Custom R visuals in Power BI reports |\n| Skill | [`python-visuals`](plugins/reports/skills/python-visuals/) | Custom Python visuals in Power BI reports |\n| Skill | [`svg-visuals`](plugins/reports/skills/svg-visuals/) | SVG visuals via DAX measures in Power BI reports |\n| Skill | [`review-report`](plugins/reports/skills/review-report/) (WIP) | Review Power BI reports for usage metrics and best practices |\n| Skill | [`pbir-cli`](plugins/reports/skills/pbir-cli/) | Programmatic report manipulation via the [`pbir` CLI](https://github.com/maxanatsko/pbir.tools) |\n| Agent | [`deneb-reviewer`](plugins/reports/agents/deneb-reviewer.md) | Review Deneb visual specs for Vega/Vega-Lite syntax and conventions |\n| Agent | [`svg-reviewer`](plugins/reports/agents/svg-reviewer.md) | Review SVG DAX measures for syntax and design quality |\n| Agent | [`r-reviewer`](plugins/reports/agents/r-reviewer.md) | Review R visual scripts (ggplot2) for Power BI conventions |\n| Agent | [`python-reviewer`](plugins/reports/agents/python-reviewer.md) | Review Python visual scripts (matplotlib/seaborn) for Power BI conventions |\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cimg src=\"media/icons/semantic-models.svg\" alt=\"\" height=\"20\"\u003e \u003cstrong\u003esemantic-models\u003c/strong\u003e \u0026ensp; DAX, Power Query, naming, lineage, refresh, and model auditing\u003c/summary\u003e\n\n| Type | Name | Description |\n|------|------|-------------|\n| Skill | [`standardize-naming-conventions`](plugins/semantic-models/skills/standardize-naming-conventions/) | Audit and standardize naming conventions in semantic models |\n| Skill | [`review-semantic-model`](plugins/semantic-models/skills/review-semantic-model/) (Very WIP) | Review semantic models for quality, performance, AI readiness, and best practices |\n| Skill | [`refreshing-semantic-model`](plugins/semantic-models/skills/refreshing-semantic-model/) | Trigger or troubleshoot refreshes |\n| Skill | [`lineage-analysis`](plugins/semantic-models/skills/lineage-analysis/) | Trace downstream reports from a semantic model across workspaces |\n| Skill | [`power-query`](plugins/semantic-models/skills/power-query/) | Write M expressions, debug query folding, execute M locally or via Fabric API |\n| Skill | [`dax`](plugins/semantic-models/skills/dax/) | Write, debug, and optimize DAX in semantic models. Contributed by [Justin Martin](https://daxnoob.blog) |\n| Agent | [`semantic-model-auditor`](plugins/semantic-models/agents/semantic-model-auditor.md) | Audit semantic models for quality, memory, DAX, and design issues |\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cimg src=\"media/icons/fabric-cli.svg\" alt=\"\" height=\"20\"\u003e \u003cstrong\u003efabric-cli\u003c/strong\u003e \u0026ensp; Remote operations via Fabric CLI; works on Pro, PPU, or Fabric\u003c/summary\u003e\n\n| Type | Name | Description |\n|------|------|-------------|\n| Skill | [`fabric-cli`](plugins/fabric-cli/skills/fabric-cli/) | Fabric CLI (fab) for any remote operation in Power BI or Fabric (works fully on Pro, PPU; Fabric not required) |\n| Command | [`/audit-context`](plugins/fabric-cli/commands/audit-context.md) | Review project context files (CLAUDE.md, agents.md, memory files) |\n| Command | [`/migrating-fabric-trial-capacities`](plugins/fabric-cli/commands/migrating-fabric-trial-capacities.md) | Migrate workspaces from trial to production capacity |\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cimg src=\"media/icons/fabric-cli.svg\" alt=\"\" height=\"20\"\u003e \u003cstrong\u003efabric-admin\u003c/strong\u003e \u0026ensp; Tenant settings audits, governance, delegated overrides; requires fabric-cli\u003c/summary\u003e\n\n| Type | Name | Description |\n|------|------|-------------|\n| Skill | [`audit-tenant-settings`](plugins/fabric-admin/skills/audit-tenant-settings/) | Audit Fabric and Power BI tenant settings, delegated overrides, and Entra security group membership |\n\n\u003c/details\u003e\n\n\n## Useful stuff\n\nGeneral-purpose agent resources that don't fit into a plugin: defensive hooks, patterns, and tools. See [`useful-stuff/`](useful-stuff/).\n\n## Use or re-use of these skills\n\nThese plugins are intended for free community use.\n\nYou 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.\n\n\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"media/bg22-06-2.png\" alt=\"\" width=\"800\"\u003e\n\u003c/p\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cem\u003eBuilt with assistance from \u003ca href=\"https://claude.ai/claude-code\"\u003eClaude Code\u003c/a\u003e. AI-generated code has been reviewed but may contain errors. Use at your own risk.\u003c/em\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cem\u003eContext files are human-written and revised by Claude Code after iterative use.\u003c/em\u003e\n\u003c/p\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/data-goblin\"\u003eKurt Buhler\u003c/a\u003e · \u003ca href=\"https://data-goblins.com\"\u003eData Goblins\u003c/a\u003e · part of \u003ca href=\"https://tabulareditor.com\"\u003eTabular Editor\u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdata-goblin%2Fpower-bi-agentic-development","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdata-goblin%2Fpower-bi-agentic-development","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdata-goblin%2Fpower-bi-agentic-development/lists"}