bi-superpowers 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +31 -0
- package/.claude-plugin/plugin.json +34 -0
- package/.claude-plugin/skill-manifest.json +79 -0
- package/.mcp.json +13 -0
- package/.plugin/plugin.json +14 -0
- package/LICENSE +21 -0
- package/README.md +849 -0
- package/bin/build-plugin.js +97 -0
- package/bin/cli.js +891 -0
- package/bin/commands/autoupdate.js +128 -0
- package/bin/commands/build-desktop.js +368 -0
- package/bin/commands/create-from-template.js +165 -0
- package/bin/commands/diff.js +435 -0
- package/bin/commands/install.js +542 -0
- package/bin/commands/lint.js +441 -0
- package/bin/commands/mcp-setup.js +255 -0
- package/bin/commands/session-update.js +204 -0
- package/bin/commands/smoke-test.js +20 -0
- package/bin/commands/uninstall.js +611 -0
- package/bin/commands/update-check.js +427 -0
- package/bin/commands/validate-cases.js +264 -0
- package/bin/commands/validate-projects.js +426 -0
- package/bin/commands/watch.js +251 -0
- package/bin/lib/agents.js +62 -0
- package/bin/lib/base-template-smoke.js +299 -0
- package/bin/lib/claude-hooks.js +160 -0
- package/bin/lib/generators/claude-plugin.js +529 -0
- package/bin/lib/generators/index.js +116 -0
- package/bin/lib/generators/shared.js +257 -0
- package/bin/lib/mcp-config.js +835 -0
- package/bin/lib/microsoft-mcp.js +206 -0
- package/bin/lib/powerbi-mcp-session.js +140 -0
- package/bin/lib/skills.js +164 -0
- package/bin/lib/template-scaffold.js +366 -0
- package/bin/mcp/powerbi-modeling-launcher.js +42 -0
- package/bin/postinstall.js +50 -0
- package/bin/utils/mcp-detect.js +346 -0
- package/bin/utils/tui.js +314 -0
- package/commands/bi-connect.md +520 -0
- package/commands/bi-dax.md +464 -0
- package/commands/bi-kickoff.md +550 -0
- package/commands/bi-modeling.md +485 -0
- package/commands/bi-performance.md +521 -0
- package/commands/bi-powerquery.md +229 -0
- package/commands/bi-refactor.md +249 -0
- package/commands/bi-scorecard.md +268 -0
- package/commands/bi-start.md +272 -0
- package/config.example.json +23 -0
- package/config.json +23 -0
- package/desktop-extension/manifest.json +30 -0
- package/desktop-extension/package.json +10 -0
- package/desktop-extension/server.js +137 -0
- package/package.json +94 -0
- package/skills/bi-connect/SKILL.md +522 -0
- package/skills/bi-connect/scripts/update-check.js +427 -0
- package/skills/bi-dax/SKILL.md +466 -0
- package/skills/bi-dax/scripts/update-check.js +427 -0
- package/skills/bi-kickoff/SKILL.md +552 -0
- package/skills/bi-kickoff/references/flow.html +78 -0
- package/skills/bi-kickoff/references/flow.md +62 -0
- package/skills/bi-kickoff/scripts/update-check.js +427 -0
- package/skills/bi-modeling/SKILL.md +487 -0
- package/skills/bi-modeling/scripts/update-check.js +427 -0
- package/skills/bi-performance/SKILL.md +523 -0
- package/skills/bi-performance/scripts/install-tabular-editor.ps1 +159 -0
- package/skills/bi-performance/scripts/run-bpa.ps1 +265 -0
- package/skills/bi-performance/scripts/update-check.js +427 -0
- package/skills/bi-powerquery/SKILL.md +231 -0
- package/skills/bi-powerquery/references/base-template-data-contract.md +323 -0
- package/skills/bi-powerquery/references/power-query-standards.md +74 -0
- package/skills/bi-powerquery/scripts/new-powerquery-staging.ps1 +371 -0
- package/skills/bi-powerquery/scripts/test-powerquery-contract.ps1 +225 -0
- package/skills/bi-powerquery/scripts/update-check.js +427 -0
- package/skills/bi-refactor/SKILL.md +251 -0
- package/skills/bi-refactor/references/flow.md +27 -0
- package/skills/bi-refactor/scripts/update-check.js +427 -0
- package/skills/bi-scorecard/SKILL.md +270 -0
- package/skills/bi-scorecard/examples/base-template-scorecard-overlay.json +82 -0
- package/skills/bi-scorecard/scripts/new-scorecard-blueprint-from-base-template.ps1 +124 -0
- package/skills/bi-scorecard/scripts/powerbi-goal-status-rules-api.ps1 +39 -0
- package/skills/bi-scorecard/scripts/powerbi-goal-values-api.ps1 +48 -0
- package/skills/bi-scorecard/scripts/powerbi-goals-api.ps1 +68 -0
- package/skills/bi-scorecard/scripts/powerbi-rest-common.ps1 +197 -0
- package/skills/bi-scorecard/scripts/powerbi-scorecards-api.ps1 +53 -0
- package/skills/bi-scorecard/scripts/update-check.js +427 -0
- package/skills/bi-start/SKILL.md +274 -0
- package/skills/bi-start/scripts/update-check.js +427 -0
- package/src/content/base.md +197 -0
- package/src/content/mcp-requirements.json +57 -0
- package/src/content/routing.md +201 -0
- package/src/content/skills/bi-connect.md +493 -0
- package/src/content/skills/bi-dax.md +437 -0
- package/src/content/skills/bi-kickoff/SKILL.md +523 -0
- package/src/content/skills/bi-kickoff/references/flow.html +78 -0
- package/src/content/skills/bi-kickoff/references/flow.md +62 -0
- package/src/content/skills/bi-modeling.md +458 -0
- package/src/content/skills/bi-performance/SKILL.md +494 -0
- package/src/content/skills/bi-performance/scripts/install-tabular-editor.ps1 +159 -0
- package/src/content/skills/bi-performance/scripts/run-bpa.ps1 +265 -0
- package/src/content/skills/bi-powerquery/SKILL.md +202 -0
- package/src/content/skills/bi-powerquery/references/base-template-data-contract.md +323 -0
- package/src/content/skills/bi-powerquery/references/power-query-standards.md +74 -0
- package/src/content/skills/bi-powerquery/scripts/new-powerquery-staging.ps1 +371 -0
- package/src/content/skills/bi-powerquery/scripts/test-powerquery-contract.ps1 +225 -0
- package/src/content/skills/bi-refactor/SKILL.md +222 -0
- package/src/content/skills/bi-refactor/references/flow.md +27 -0
- package/src/content/skills/bi-scorecard/SKILL.md +241 -0
- package/src/content/skills/bi-scorecard/examples/base-template-scorecard-blueprint.expected.json +105 -0
- package/src/content/skills/bi-scorecard/examples/base-template-scorecard-overlay.json +82 -0
- package/src/content/skills/bi-scorecard/scripts/new-scorecard-blueprint-from-base-template.ps1 +124 -0
- package/src/content/skills/bi-scorecard/scripts/powerbi-goal-status-rules-api.ps1 +39 -0
- package/src/content/skills/bi-scorecard/scripts/powerbi-goal-values-api.ps1 +48 -0
- package/src/content/skills/bi-scorecard/scripts/powerbi-goals-api.ps1 +68 -0
- package/src/content/skills/bi-scorecard/scripts/powerbi-rest-common.ps1 +197 -0
- package/src/content/skills/bi-scorecard/scripts/powerbi-scorecards-api.ps1 +53 -0
- package/src/content/skills/bi-start.md +266 -0
- package/templates/base-template/AGENTS.md +33 -0
- package/templates/base-template/base-template.Report/.platform +11 -0
- package/templates/base-template/base-template.Report/StaticResources/RegisteredResources/BISuperpowers.json +3888 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BaseThemes/CY18SU07.json +177 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BaseThemes/Fluent2-CY26SU03.json +4104 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/AccessibleCityPark.json +26 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/AccessibleDefault.json +26 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/AccessibleNeutral.json +26 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/AccessibleOrchid.json +26 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/AccessibleTidal.json +26 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Bloom.json +139 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/CityPark.json +40 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Classroom.json +40 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/ColorblindSafe.json +48 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/CopilotDefault.json +1861 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Divergent.json +127 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Electric.json +48 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Frontier.json +136 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/HighContrast.json +40 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Highrise.json +41 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Innovate.json +227 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/NewExecutive.json +41 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Solar.json +33 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Storm.json +25 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Sunset.json +48 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Temperature.json +33 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Tidal.json +100 -0
- package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Twilight.json +40 -0
- package/templates/base-template/base-template.Report/definition/bookmarks/1d40d43c7ade66e8603c.bookmark.json +2297 -0
- package/templates/base-template/base-template.Report/definition/bookmarks/af068ff51c0ca3089ea7.bookmark.json +2300 -0
- package/templates/base-template/base-template.Report/definition/bookmarks/bookmarks.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/page.json +130 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/0352fd80d074693a65db/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/0352fd80d074693a65db/visual.json +669 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/1c5a14bf493697344b68/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/1c5a14bf493697344b68/visual.json +723 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/3486cf7624c5b109b4e5/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/3486cf7624c5b109b4e5/visual.json +333 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/4d8b989008edc0db28d1/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/4d8b989008edc0db28d1/visual.json +109 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/55e10ac7d76a1954f94f/mobile.json +31 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/55e10ac7d76a1954f94f/visual.json +378 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/57f52ecf4490f70e4da1/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/57f52ecf4490f70e4da1/visual.json +175 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/5f4d76bbc870118e9840/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/5f4d76bbc870118e9840/visual.json +468 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/73629e1abebb7a444b59/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/73629e1abebb7a444b59/visual.json +359 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/749cb1388c7e0a88161c/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/749cb1388c7e0a88161c/visual.json +690 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/90677f13cea5d1275990/visual.json +17 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/92cf92e3da10493adb78/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/92cf92e3da10493adb78/visual.json +468 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/9fe17b1971f68443fc15/mobile.json +10 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/9fe17b1971f68443fc15/visual.json +328 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/a30bd0950630ed94e8a3/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/a30bd0950630ed94e8a3/visual.json +578 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/a56e91d9400a835e4814/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/a56e91d9400a835e4814/visual.json +432 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/aded24cd205c0b528642/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/aded24cd205c0b528642/visual.json +801 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/af34b26f14a8a724c9a9/mobile.json +37 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/af34b26f14a8a724c9a9/visual.json +1318 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/b529688fe5a226643322/visual.json +209 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/c4c6f332d05e72e2eb06/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/c4c6f332d05e72e2eb06/visual.json +174 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/fa81f184e2cb0e8b087c/mobile.json +29 -0
- package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/fa81f184e2cb0e8b087c/visual.json +241 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/page.json +130 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/07e9c4302e29029c5462/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/07e9c4302e29029c5462/visual.json +690 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/109ceede4bc015b0c006/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/109ceede4bc015b0c006/visual.json +468 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/118257e006d472277e10/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/118257e006d472277e10/visual.json +359 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/2caf02e0137c4a1280cc/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/2caf02e0137c4a1280cc/visual.json +669 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/311e76fe3c9edad68204/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/311e76fe3c9edad68204/visual.json +109 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/31c21f8cbeb3b208940a/visual.json +209 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/3ab72c25062437149b03/visual.json +17 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/5959867442abcb0ce2b3/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/5959867442abcb0ce2b3/visual.json +788 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/5b96e0f88d192b044a13/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/5b96e0f88d192b044a13/visual.json +592 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/64e749a63d0786000e22/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/64e749a63d0786000e22/visual.json +468 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/7ae1ca604edac6586ad0/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/7ae1ca604edac6586ad0/visual.json +1310 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/840300733885141a6603/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/840300733885141a6603/visual.json +175 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/a38448cdb203279273d2/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/a38448cdb203279273d2/visual.json +516 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/d1e86f213a3841d12e20/visual.json +328 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/d4a484c1bcc8ee3075e2/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/d4a484c1bcc8ee3075e2/visual.json +432 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/d87cb5cf06acca19bbb5/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/d87cb5cf06acca19bbb5/visual.json +241 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/e243da2677209ed69408/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/e243da2677209ed69408/visual.json +174 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/f3aaf24f5b22b67573b0/mobile.json +11 -0
- package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/f3aaf24f5b22b67573b0/visual.json +333 -0
- package/templates/base-template/base-template.Report/definition/pages/pages.json +8 -0
- package/templates/base-template/base-template.Report/definition/report.json +89 -0
- package/templates/base-template/base-template.Report/definition/version.json +4 -0
- package/templates/base-template/base-template.Report/definition.pbir +9 -0
- package/templates/base-template/base-template.SemanticModel/.platform +11 -0
- package/templates/base-template/base-template.SemanticModel/definition/cultures/es-AR.tmdl +11185 -0
- package/templates/base-template/base-template.SemanticModel/definition/database.tmdl +3 -0
- package/templates/base-template/base-template.SemanticModel/definition/expressions.tmdl +234 -0
- package/templates/base-template/base-template.SemanticModel/definition/functions.tmdl +637 -0
- package/templates/base-template/base-template.SemanticModel/definition/model.tmdl +82 -0
- package/templates/base-template/base-template.SemanticModel/definition/relationships.tmdl +271 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Calendario.tmdl +200 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Campa/303/261as.tmdl +75 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Canales.tmdl +84 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Clientes.tmdl +143 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Devoluciones.tmdl +95 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Ejecuci/303/263n proyectos.tmdl" +130 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Entregas.tmdl +122 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Equipos m/303/251tricas.tmdl" +40 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Equipos.tmdl +73 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Horas.tmdl +122 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Interacciones clientes.tmdl +146 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Leads.tmdl +119 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Monedas.tmdl +44 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Movimientos financieros.tmdl +145 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/M/303/251tricas.tmdl +1294 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/N/303/263mina.tmdl +110 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Oportunidades.tmdl +135 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Presupuesto.tmdl +125 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Productos.tmdl +98 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Proyectos.tmdl +77 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Servicios.tmdl +75 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Tareas proyecto.tmdl +102 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Tipo de cambio.tmdl +67 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/Ventas.tmdl +180 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux An/303/241lisis dimensiones.tmdl" +38 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Comparaciones.tmdl +227 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Compatibilidad m/303/251trica-dimensi/303/263n.tmdl" +68 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Modelo configuraci/303/263n.tmdl" +44 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Modo fechas.tmdl +36 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux M/303/251trica-Equipo.tmdl" +102 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Overrides m/303/251trica-dimensi/303/263n.tmdl" +54 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Per/303/255odos.tmdl" +182 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Rango fechas modo.tmdl +36 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Rango fechas.tmdl +27 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Vista de calendario.tmdl +30 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_GC C/303/241lculo.tmdl" +70 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_GC Eje X.tmdl +63 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_GC M/303/251trica.tmdl" +374 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_GC Tipo c/303/241lculo.tmdl" +223 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_PC Dimensi/303/263n.tmdl" +98 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables/_PC Eje X.tmdl +68 -0
- package/templates/base-template/base-template.SemanticModel/definition/tables//303/223rdenes servicio.tmdl" +151 -0
- package/templates/base-template/base-template.SemanticModel/definition.pbism +5 -0
- package/templates/base-template/base-template.SemanticModel/diagramLayout.json +568 -0
- package/templates/base-template/base-template.pbip +14 -0
- package/templates/base-template/template.manifest.json +41 -0
- package/theme/BISuperpowers.json +3888 -0
package/README.md
ADDED
|
@@ -0,0 +1,849 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
<pre>
|
|
4
|
+
██████╗ ██╗
|
|
5
|
+
██╔══██╗██║
|
|
6
|
+
██████╔╝██║
|
|
7
|
+
██╔══██╗██║
|
|
8
|
+
██████╔╝██║
|
|
9
|
+
╚═════╝ ╚═╝
|
|
10
|
+
███████╗██╗ ██╗██████╗ ███████╗██████╗ ██████╗ ██████╗ ██╗ ██╗███████╗██████╗ ███████╗
|
|
11
|
+
██╔════╝██║ ██║██╔══██╗██╔════╝██╔══██╗██╔══██╗██╔═══██╗██║ ██║██╔════╝██╔══██╗██╔════╝
|
|
12
|
+
███████╗██║ ██║██████╔╝█████╗ ██████╔╝██████╔╝██║ ██║██║ █╗ ██║█████╗ ██████╔╝███████╗
|
|
13
|
+
╚════██║██║ ██║██╔═══╝ ██╔══╝ ██╔══██╗██╔═══╝ ██║ ██║██║███╗██║██╔══╝ ██╔══██╗╚════██║
|
|
14
|
+
███████║╚██████╔╝██║ ███████╗██║ ██║██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║███████║
|
|
15
|
+
╚══════╝ ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝╚══════╝
|
|
16
|
+
</pre>
|
|
17
|
+
|
|
18
|
+
**Power BI superpowers for AI agents**
|
|
19
|
+
|
|
20
|
+
[](https://www.npmjs.com/package/bi-superpowers)
|
|
21
|
+
[](https://opensource.org/licenses/MIT)
|
|
22
|
+
[](https://nodejs.org)
|
|
23
|
+
[](https://powerbi.microsoft.com)
|
|
24
|
+
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
> **Your AI assistant ships Power BI work that holds up in production.**
|
|
28
|
+
> 9 specialist skills, 2 official Microsoft MCP servers, one CLI.
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npm install -g bi-superpowers
|
|
32
|
+
super install --all --yes
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Restart your agent once after install. That's the whole setup.
|
|
36
|
+
|
|
37
|
+
Works with **Codex**, **Claude Code**, **GitHub Copilot**, **Gemini CLI**, and **Kilo Code** — same operating contract across every agent.
|
|
38
|
+
|
|
39
|
+
Fully open source under MIT. No account, no login, no license keys — every command works offline.
|
|
40
|
+
|
|
41
|
+
> Status: `v1.0.x` is the current stable release line. Every public slash command lives under the `/bi-*` namespace.
|
|
42
|
+
>
|
|
43
|
+
> Validation baseline: developed and stress-tested first in **Codex**. Other agents are shipped as compatibility targets unless a release note says otherwise.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Table of Contents
|
|
48
|
+
|
|
49
|
+
- [Fundamentals](#fundamentals)
|
|
50
|
+
- [Install From Terminal](#install-from-terminal)
|
|
51
|
+
- [Ask Your Agent To Install It](#ask-your-agent-to-install-it)
|
|
52
|
+
- [Skills Included](#skills-included)
|
|
53
|
+
- [Quick Demos](#quick-demos)
|
|
54
|
+
- [Supported Agents](#supported-agents)
|
|
55
|
+
- [MCP Servers & External Tools](#mcp-servers--external-tools)
|
|
56
|
+
- [CLI Reference](#cli-reference)
|
|
57
|
+
- [Plugin File Tree](#plugin-file-tree)
|
|
58
|
+
- [Requirements](#requirements)
|
|
59
|
+
- [Updates](#updates)
|
|
60
|
+
- [What Ships To npm](#what-ships-to-npm)
|
|
61
|
+
- [Development](#development)
|
|
62
|
+
- [Project Validation Harness](#project-validation-harness)
|
|
63
|
+
- [Troubleshooting](#troubleshooting)
|
|
64
|
+
- [FAQ](#faq)
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Fundamentals
|
|
69
|
+
|
|
70
|
+
If you're new to AI coding agents, four words you need to know:
|
|
71
|
+
|
|
72
|
+
- **Agent** — a conversational AI assistant that reads, writes, and modifies code in your project.
|
|
73
|
+
- **Plugin** — an installable package that gives an agent new capabilities: specialist skills, MCP connections, configuration.
|
|
74
|
+
- **Skill** — a focused expert inside a plugin. Each skill owns one thing (modeling, DAX, performance).
|
|
75
|
+
- **MCP** — Model Context Protocol. An open standard that lets an agent talk to external tools.
|
|
76
|
+
|
|
77
|
+
BI Agent Superpowers is a plugin: 9 skills, 2 MCPs, one CLI. The agent does the typing; the skills tell it which tools, files, prerequisites, and guardrails apply to Power BI work — so it ships work that holds up in production instead of inventing DAX, PBIR, or setup steps.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Install From Terminal
|
|
82
|
+
|
|
83
|
+
### All Supported Agents
|
|
84
|
+
|
|
85
|
+
Use this when you want one command path for Codex and the compatibility adapters for Claude Code, GitHub Copilot, Gemini CLI, and Kilo Code.
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
npm install -g bi-superpowers
|
|
89
|
+
super install --all --yes
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Restart your agent after installation so it reloads skills and MCP configuration.
|
|
93
|
+
|
|
94
|
+
### Interactive Install
|
|
95
|
+
|
|
96
|
+
Use this when you want the installer to detect agents and ask where to install.
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
npm install -g bi-superpowers
|
|
100
|
+
super install
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Install For One Agent Only
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# Claude Code user-level skills + MCP config
|
|
107
|
+
super install --agent claude-code --yes
|
|
108
|
+
|
|
109
|
+
# GitHub Copilot
|
|
110
|
+
super install --agent github-copilot --yes
|
|
111
|
+
|
|
112
|
+
# Codex
|
|
113
|
+
super install --agent codex --yes
|
|
114
|
+
|
|
115
|
+
# Gemini CLI
|
|
116
|
+
super install --agent gemini-cli --yes
|
|
117
|
+
|
|
118
|
+
# Kilo Code
|
|
119
|
+
super install --agent kilo --yes
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Claude Code Marketplace Install
|
|
123
|
+
|
|
124
|
+
If you use Claude Code, the marketplace path is the cleanest install experience for that agent. Claude Code is a compatibility target; Codex remains the primary end-to-end validation baseline.
|
|
125
|
+
|
|
126
|
+
```text
|
|
127
|
+
/plugin marketplace add luquimbo/bi-superpowers
|
|
128
|
+
/plugin install bi-superpowers
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
After that, start a new session and run:
|
|
132
|
+
|
|
133
|
+
```text
|
|
134
|
+
/bi-start
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Advanced: Optional Local Claude Code Plugin
|
|
138
|
+
|
|
139
|
+
This is only for Claude Code users who deliberately want repo-local slash-command plugin files. Codex, GitHub Copilot, Gemini CLI, and Kilo Code should use `super install` above; do not run `super kickoff` for those agents.
|
|
140
|
+
|
|
141
|
+
Inside a Power BI project repo:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
super kickoff
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
This generates project-local Claude Code plugin files:
|
|
148
|
+
|
|
149
|
+
- `.claude-plugin/`
|
|
150
|
+
- `.plugin/`
|
|
151
|
+
- `.mcp.json`
|
|
152
|
+
- `commands/`
|
|
153
|
+
- `skills/`
|
|
154
|
+
- `config.json`
|
|
155
|
+
|
|
156
|
+
Regenerate them later with:
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
super recharge
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Ask Your Agent To Install It
|
|
165
|
+
|
|
166
|
+
If your agent has terminal access, paste one of these prompts.
|
|
167
|
+
|
|
168
|
+
### Claude Code
|
|
169
|
+
|
|
170
|
+
Use the marketplace path first:
|
|
171
|
+
|
|
172
|
+
```text
|
|
173
|
+
Install BI Agent Superpowers from the Claude Code marketplace.
|
|
174
|
+
|
|
175
|
+
Run these Claude Code plugin commands:
|
|
176
|
+
|
|
177
|
+
/plugin marketplace add luquimbo/bi-superpowers
|
|
178
|
+
/plugin install bi-superpowers
|
|
179
|
+
|
|
180
|
+
After installation, start the plugin with /bi-start and tell me if any restart or reload is needed.
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
If you also want project-local plugin files in the current repo for Claude Code only:
|
|
184
|
+
|
|
185
|
+
```text
|
|
186
|
+
Set up BI Agent Superpowers for this project as a local Claude Code plugin.
|
|
187
|
+
|
|
188
|
+
In the terminal, run:
|
|
189
|
+
|
|
190
|
+
npm install -g bi-superpowers
|
|
191
|
+
super kickoff
|
|
192
|
+
|
|
193
|
+
Then verify that .claude-plugin/, .plugin/, .mcp.json, commands/, skills/, and config.json were created in this repo. Do not modify unrelated files.
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### GitHub Copilot
|
|
197
|
+
|
|
198
|
+
```text
|
|
199
|
+
Set up BI Agent Superpowers for GitHub Copilot on this machine.
|
|
200
|
+
|
|
201
|
+
In the terminal, run:
|
|
202
|
+
|
|
203
|
+
npm install -g bi-superpowers
|
|
204
|
+
super install --agent github-copilot --yes
|
|
205
|
+
|
|
206
|
+
After it finishes, verify that the GitHub Copilot skills directory and MCP config were updated. Then remind me to restart VS Code or reload Copilot so it picks up the new skills and MCP servers.
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Codex
|
|
210
|
+
|
|
211
|
+
```text
|
|
212
|
+
Set up BI Agent Superpowers for Codex on this machine.
|
|
213
|
+
|
|
214
|
+
In the terminal, run:
|
|
215
|
+
|
|
216
|
+
npm install -g bi-superpowers
|
|
217
|
+
super install --agent codex --yes
|
|
218
|
+
|
|
219
|
+
After it finishes, verify that the shared skills were installed under ~/.agents/skills and that the Codex MCP config was updated. Then summarize the installed skills and MCP servers.
|
|
220
|
+
|
|
221
|
+
Do not run super kickoff or super mcp-setup for Codex; those commands are only for optional repo-local Claude Code plugin files.
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### Gemini CLI
|
|
225
|
+
|
|
226
|
+
```text
|
|
227
|
+
Set up BI Agent Superpowers for Gemini CLI on this machine.
|
|
228
|
+
|
|
229
|
+
In the terminal, run:
|
|
230
|
+
|
|
231
|
+
npm install -g bi-superpowers
|
|
232
|
+
super install --agent gemini-cli --yes
|
|
233
|
+
|
|
234
|
+
After it finishes, verify that ~/.gemini/skills and the Gemini MCP settings were updated. Then tell me to restart Gemini CLI before using the skills.
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### Kilo Code
|
|
238
|
+
|
|
239
|
+
```text
|
|
240
|
+
Set up BI Agent Superpowers for Kilo Code on this machine.
|
|
241
|
+
|
|
242
|
+
In the terminal, run:
|
|
243
|
+
|
|
244
|
+
npm install -g bi-superpowers
|
|
245
|
+
super install --agent kilo --yes
|
|
246
|
+
|
|
247
|
+
After it finishes, verify that ~/.kilo/skills and ~/.config/kilo/kilo.jsonc were updated. Then tell me to restart Kilo Code before using the skills.
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### Multi-Agent Setup
|
|
251
|
+
|
|
252
|
+
```text
|
|
253
|
+
Set up BI Agent Superpowers for every supported agent installed on this machine.
|
|
254
|
+
|
|
255
|
+
In the terminal, run:
|
|
256
|
+
|
|
257
|
+
npm install -g bi-superpowers
|
|
258
|
+
super install --all --yes
|
|
259
|
+
|
|
260
|
+
After it finishes, summarize which agents were configured, which MCP files were written, and whether any Windows symlink fallback copied files instead of creating symlinks.
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## Skills Included
|
|
266
|
+
|
|
267
|
+
Nine specialist skills. Each owns one thing — and each teaches as it works: it asks in plain business language, explains the *why* before each step, defines terms on first use, and shows a worked example, so a non-technical user learns while the work gets done.
|
|
268
|
+
|
|
269
|
+
### `/bi-start` — Session Orchestrator
|
|
270
|
+
|
|
271
|
+
Opens a clean session, checks for plugin updates, shows the skill menu, and routes the conversation to the right specialist.
|
|
272
|
+
|
|
273
|
+
Use when starting a new session, when you don't know which skill to invoke, or when you want an update check before work begins.
|
|
274
|
+
|
|
275
|
+
### `/bi-kickoff` — Project Bootstrap
|
|
276
|
+
|
|
277
|
+
From zero to a working BI project. Bootstraps a fresh project from `base-template`, guides a short business intake, builds a domain semantic model with demo data through MCP, and keeps the project context Codex-first. For an existing PBIP/PBIX project, use `/bi-refactor` instead.
|
|
278
|
+
|
|
279
|
+
Use when starting a brand-new Power BI project or bootstrapping a model from `base-template`. For an existing project, use `/bi-refactor`.
|
|
280
|
+
|
|
281
|
+
### `/bi-refactor` — Refactor Specialist
|
|
282
|
+
|
|
283
|
+
Cleans up an existing project. Diagnoses an existing PBIP/PBIX, proposes template-assisted fixes, and applies semantic-model cleanup through MCP — preserving report topology, never rebuilding visuals, pages, or bookmarks.
|
|
284
|
+
|
|
285
|
+
Use when modernizing an existing model, migrating it toward `base-template` patterns, or repairing model issues without touching the report layout.
|
|
286
|
+
|
|
287
|
+
### `/bi-modeling` — Model Architect
|
|
288
|
+
|
|
289
|
+
Star schemas, relationships, TMDL. Designs and audits semantic models against a health checklist (date table, fact/dim split, relationship cardinality, hidden technical columns).
|
|
290
|
+
|
|
291
|
+
Use when designing a new model, refactoring an existing one, or running a health audit before shipping.
|
|
292
|
+
|
|
293
|
+
### `/bi-dax` — DAX Expert
|
|
294
|
+
|
|
295
|
+
Measures that compute the right thing. Authors, debugs, and optimizes DAX — measures, calculation groups, SE/FE timing, Sallieri patterns, calculation items.
|
|
296
|
+
|
|
297
|
+
Use when writing or fixing measures, untangling time-intelligence, or chasing a slow expression with DAX Studio timings.
|
|
298
|
+
|
|
299
|
+
### `/bi-performance` — Performance Engineer
|
|
300
|
+
|
|
301
|
+
Diagnose slow models. Fix them. Profiles refreshes and reports with Performance Analyzer, DAX Studio / VertiPaq Analyzer metrics, Tabular Editor 2, and Best Practice Analyzer.
|
|
302
|
+
|
|
303
|
+
Use when reports are slow, when refresh blows up, or when you need a defensible "this is the bottleneck" answer before optimizing.
|
|
304
|
+
|
|
305
|
+
### `/bi-connect` — MCP Connection Specialist
|
|
306
|
+
|
|
307
|
+
Wire your agent to Power BI Desktop. Connects through the Microsoft Power BI Modeling MCP so the agent can read tables, columns, measures, and relationships, run DAX, and write user-defined functions using current Microsoft Learn syntax and DAXLIB patterns.
|
|
308
|
+
|
|
309
|
+
Use when you need live model access, want to execute DAX queries, or are authoring DAX UDFs. Model writes go through MCP; PBIP files stay as saved/exported version-control snapshots.
|
|
310
|
+
|
|
311
|
+
### `/bi-powerquery` — Power Query Engineer
|
|
312
|
+
|
|
313
|
+
Connect real data without breaking the demo. Creates strict M staging queries for real business data and appends them to the current model's business tables using the `Data = "Demo"` / `Data = "Real"` contract.
|
|
314
|
+
|
|
315
|
+
Use when wiring real Excel/SQL/SharePoint/API data to a generated BI model, generating `*_Real` staging queries, or keeping demo rows while the report switches between demo and real data. The packaged example knows the full Andina Nexus product-and-services contract; generated projects discover destination tables from the current model instead of assuming a fixed commercial schema.
|
|
316
|
+
|
|
317
|
+
### `/bi-scorecard` — Scorecards Specialist
|
|
318
|
+
|
|
319
|
+
Targets, goals, and check-ins in Power BI Service. Builds scorecard blueprints from the `base-template` metrics catalog, including the Andina Nexus `Dirección` executive lens and multi-team metric ownership, creates and updates scorecards and goals through REST scripts, and manages check-ins and status rules.
|
|
320
|
+
|
|
321
|
+
Use when creating Power BI Scorecards/Goals from model metrics, defining owners, cadence, targets, and status rules, or refreshing connected goal values.
|
|
322
|
+
|
|
323
|
+
The skill follows Microsoft Learn scorecard limits: no BYOK/RLS, max four subgoal levels, no publish-to-web, no SharePoint scorecard visual embed, no cross-tenant B2B sharing, no Multi-Geo, and no embedded analytics.
|
|
324
|
+
|
|
325
|
+
## Quick Demos
|
|
326
|
+
|
|
327
|
+
### Start A Session
|
|
328
|
+
|
|
329
|
+
```text
|
|
330
|
+
/bi-start
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
Expected result:
|
|
334
|
+
|
|
335
|
+
- update check;
|
|
336
|
+
- menu of 9 skills;
|
|
337
|
+
- environment hints;
|
|
338
|
+
- next-step recommendation.
|
|
339
|
+
|
|
340
|
+
### Refactor An Existing Power BI Project
|
|
341
|
+
|
|
342
|
+
```text
|
|
343
|
+
/bi-refactor
|
|
344
|
+
Diagnose this existing PBIP/PBIX project. Tell me what exists, what is missing, and what to clean up.
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
Expected result:
|
|
348
|
+
|
|
349
|
+
- project map;
|
|
350
|
+
- risks and missing context;
|
|
351
|
+
- recommended cleanup path (model + measures);
|
|
352
|
+
- report topology preserved — no destructive rebuilds.
|
|
353
|
+
|
|
354
|
+
### Connect To Power BI Desktop
|
|
355
|
+
|
|
356
|
+
```text
|
|
357
|
+
/bi-connect
|
|
358
|
+
Connect to the model currently open in Power BI Desktop and list tables, measures, columns, and relationships.
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
Expected result:
|
|
362
|
+
|
|
363
|
+
- MCP connection check;
|
|
364
|
+
- semantic model snapshot;
|
|
365
|
+
- actionable diagnostics if Desktop or MCP wiring is not ready.
|
|
366
|
+
|
|
367
|
+
### Write A DAX UDF With DAXLIB As Reference
|
|
368
|
+
|
|
369
|
+
```text
|
|
370
|
+
/bi-connect
|
|
371
|
+
Write a reusable DAX UDF for gross margin percentage. Use Microsoft Learn for the current UDF syntax and consult DAXLIB patterns before proposing the function.
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
Expected result:
|
|
375
|
+
|
|
376
|
+
- current UDF syntax/preview check;
|
|
377
|
+
- existing function inspection when a model is connected;
|
|
378
|
+
- DAXLIB-aware pattern selection without vendoring external code by default;
|
|
379
|
+
- tested function draft and validation steps.
|
|
380
|
+
|
|
381
|
+
## Supported Agents
|
|
382
|
+
|
|
383
|
+
| Agent | Skill install path | MCP config path | Primary usage | Validation status |
|
|
384
|
+
|---|---|---|---|---|
|
|
385
|
+
| Codex | `~/.agents/skills/` | `~/.codex/config.toml` | Natural language with skills and MCPs | Primary end-to-end test baseline |
|
|
386
|
+
| Claude Code | `~/.claude/skills/` or marketplace plugin | `~/.claude.json` | Slash commands and natural language | Compatibility target; not the primary end-to-end QA baseline |
|
|
387
|
+
| GitHub Copilot | `~/.copilot/skills/` | `~/.copilot/mcp-config.json` | Natural language with skills and MCPs | Compatibility target; not the primary end-to-end QA baseline |
|
|
388
|
+
| Gemini CLI | `~/.gemini/skills/` | `~/.gemini/settings.json` | Natural language | Compatibility target; not the primary end-to-end QA baseline |
|
|
389
|
+
| Kilo Code | `~/.kilo/skills/` | `~/.config/kilo/kilo.jsonc` | Natural language | Compatibility target; not the primary end-to-end QA baseline |
|
|
390
|
+
|
|
391
|
+
The installer always writes the universal skill copy to `~/.agents/skills/`, then links or copies agent-specific skill directories as needed.
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
## MCP Servers & External Tools
|
|
396
|
+
|
|
397
|
+
Two official Microsoft MCPs ship pre-wired. One open-source CLI is invoked by `/bi-performance`.
|
|
398
|
+
|
|
399
|
+
| Tool | Owner | Transport | Purpose |
|
|
400
|
+
|---|---|---|---|
|
|
401
|
+
| `powerbi-modeling-mcp` | Microsoft (official) | local stdio | Connects to Power BI Desktop through XMLA for model inspection, DAX queries, and model operations. |
|
|
402
|
+
| `microsoft-learn` | Microsoft (official) | HTTP | Gives the agent access to Microsoft Learn documentation in context. |
|
|
403
|
+
| `Tabular Editor 2 CLI` | Open-source, MIT | local CLI | Best Practice Analyzer runs for diagnostic rule checks; `/bi-performance` does not perform semantic-model or report writes. |
|
|
404
|
+
|
|
405
|
+
You can install the MCPs manually, but `super install` writes the expected MCP config for each selected agent automatically.
|
|
406
|
+
For Codex installs, it also pins per-tool approval gates for sensitive Power BI Modeling MCP calls: semantic-model writes and `trace_operations`, because traces can include query text and write JSON files locally. Connection discovery and DAX query/validation remain ungated by default because they do not mutate the model and are needed for smoke tests; stricter teams can still add host-level approvals for those read/query tools. Other agents rely on their own MCP permission prompts or allowlists.
|
|
407
|
+
|
|
408
|
+
For DAX user-defined functions, `/bi-connect` also points agents at DAXLIB as an upstream reference:
|
|
409
|
+
|
|
410
|
+
- https://github.com/daxlib/daxlib
|
|
411
|
+
- https://docs.daxlib.org/
|
|
412
|
+
|
|
413
|
+
BI Agent Superpowers does not vendor DAXLIB source code. Agents consult it as a reference and only import/adapt specific MIT-licensed functions when the user explicitly requests that.
|
|
414
|
+
|
|
415
|
+
---
|
|
416
|
+
|
|
417
|
+
## CLI Reference
|
|
418
|
+
|
|
419
|
+
The package exposes both `super` and `bi-superpowers`:
|
|
420
|
+
|
|
421
|
+
```bash
|
|
422
|
+
super help
|
|
423
|
+
bi-superpowers help
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
Common commands:
|
|
427
|
+
|
|
428
|
+
```bash
|
|
429
|
+
super install # Install 9 skills + 2 MCPs for selected agents
|
|
430
|
+
super uninstall # Remove the skills + 2 MCPs (mirror of install)
|
|
431
|
+
super uninstall --dry-run # Preview what an uninstall would remove
|
|
432
|
+
super kickoff # Advanced: generate optional local Claude Code plugin files
|
|
433
|
+
super recharge # Regenerate optional local Claude Code plugin artifacts
|
|
434
|
+
super create-from-template # Scaffold a new PBIP project from templates/<name>/ into pbip-files/
|
|
435
|
+
super powers # List available skills
|
|
436
|
+
super scan # Compare source skills with generated artifacts
|
|
437
|
+
super checkup # Validate skill content
|
|
438
|
+
super validate-cases # List validation playbooks or print one
|
|
439
|
+
super smoke-test # Run the live base-template smoke test directly
|
|
440
|
+
super validate-projects # Validate repo fixtures + local private project refs
|
|
441
|
+
super build-desktop # Build the Claude Desktop .mcpb extension in the current dir
|
|
442
|
+
super build-desktop --output dist
|
|
443
|
+
super upgrade # Update the global CLI and print refresh steps
|
|
444
|
+
super autoupdate on # Opt-in: silent self-update on each Claude Code session
|
|
445
|
+
super autoupdate off # Turn the auto-update hook back off
|
|
446
|
+
super autoupdate status # Show whether auto-update is enabled
|
|
447
|
+
super help # Show full CLI help
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
### Auto-update (opt-in, Claude Code)
|
|
451
|
+
|
|
452
|
+
Off by default. Run `super autoupdate on` (or `super install --auto-update`) to
|
|
453
|
+
register a Claude Code `SessionStart` hook. From then on, each new Claude Code
|
|
454
|
+
session checks **at most once per hour** and, if a newer version exists, silently
|
|
455
|
+
upgrades via npm (`npm install -g bi-superpowers@latest`) and refreshes
|
|
456
|
+
your agents (`super install --all --yes`) in a detached background process — so you
|
|
457
|
+
never install by hand. It is npm-based, so it works even if the GitHub repo is
|
|
458
|
+
private. Turn it off anytime with `super autoupdate off`. Other agents (Codex,
|
|
459
|
+
Copilot, Gemini, Kilo) keep the notify-on-invocation flow plus manual `super upgrade`.
|
|
460
|
+
|
|
461
|
+
### `super create-from-template`
|
|
462
|
+
|
|
463
|
+
```bash
|
|
464
|
+
super create-from-template --list
|
|
465
|
+
super create-from-template --template base-template --name <projectName>
|
|
466
|
+
super create-from-template --template base-template --name <projectName> --target /path/to/project
|
|
467
|
+
super create-from-template --template base-template --name <projectName> --dry-run
|
|
468
|
+
super create-from-template --template base-template --name <projectName> --force
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
Used by the `bi-kickoff` skill PHASE 0 Option A (start from template) so agents do not have to copy files by hand. The command copies `templates/<name>/` into `<target>/pbip-files/<projectName>.*`, renames the PBIP descriptor and the `.SemanticModel/` / `.Report/` folders, rewrites internal cross-references (`.pbip → Report.path`, `definition.pbir → datasetReference.byPath.path`), and regenerates the Fabric `logicalId` in both `.platform` files. It refuses to overwrite an existing PBIP unless `--force` is passed, skips the template's own `AGENTS.md`, skips local Desktop/editor state such as `.pbi`, `localSettings.json`, `cache.abf`, and `DAXQueries`, and when forced cleans only the destination `<projectName>.pbip`, `<projectName>.SemanticModel`, and `<projectName>.Report` paths before copying again.
|
|
472
|
+
|
|
473
|
+
The packaged template is `base-template`, the canonical dynamic-first reference for new Power BI projects. Dynamic metric format strings stay safe and unscaled for numeric visuals; compact abbreviations live in dedicated text helper measures for KPI labels.
|
|
474
|
+
|
|
475
|
+
`super mcp-setup` is intentionally not part of normal setup. It only refreshes MCP config inside an existing local Claude Code plugin created by `super kickoff`; it refuses to write repo-local config in arbitrary projects. For Codex, GitHub Copilot, Gemini CLI, Kilo Code, and normal Claude Code user-level installs, use `super install --all --yes`.
|
|
476
|
+
|
|
477
|
+
---
|
|
478
|
+
|
|
479
|
+
## Plugin File Tree
|
|
480
|
+
|
|
481
|
+
### Local Claude Code Plugin
|
|
482
|
+
|
|
483
|
+
Generated by `super kickoff` or `super recharge`:
|
|
484
|
+
|
|
485
|
+
This tree is optional and Claude Code specific. It is not required for Codex, GitHub Copilot, Gemini CLI, or Kilo Code because those agents use the user-level install created by `super install`.
|
|
486
|
+
|
|
487
|
+
```text
|
|
488
|
+
project/
|
|
489
|
+
├─ .claude-plugin/
|
|
490
|
+
│ ├─ plugin.json
|
|
491
|
+
│ ├─ marketplace.json
|
|
492
|
+
│ └─ skill-manifest.json
|
|
493
|
+
├─ .plugin/
|
|
494
|
+
│ └─ plugin.json
|
|
495
|
+
├─ .mcp.json
|
|
496
|
+
├─ commands/
|
|
497
|
+
│ ├─ bi-start.md
|
|
498
|
+
│ ├─ bi-kickoff.md
|
|
499
|
+
│ ├─ bi-connect.md
|
|
500
|
+
│ ├─ bi-modeling.md
|
|
501
|
+
│ ├─ bi-dax.md
|
|
502
|
+
│ ├─ bi-performance.md
|
|
503
|
+
│ ├─ bi-powerquery.md
|
|
504
|
+
│ └─ bi-scorecard.md
|
|
505
|
+
├─ skills/
|
|
506
|
+
│ ├─ bi-start/
|
|
507
|
+
│ │ ├─ SKILL.md
|
|
508
|
+
│ │ └─ scripts/update-check.js
|
|
509
|
+
│ ├─ bi-kickoff/
|
|
510
|
+
│ │ ├─ SKILL.md
|
|
511
|
+
│ │ └─ scripts/update-check.js
|
|
512
|
+
│ ├─ bi-connect/
|
|
513
|
+
│ │ ├─ SKILL.md
|
|
514
|
+
│ │ └─ scripts/update-check.js
|
|
515
|
+
│ ├─ bi-powerquery/
|
|
516
|
+
│ │ ├─ SKILL.md
|
|
517
|
+
│ │ ├─ references/
|
|
518
|
+
│ │ └─ scripts/
|
|
519
|
+
│ │ ├─ update-check.js
|
|
520
|
+
│ │ ├─ new-powerquery-staging.ps1
|
|
521
|
+
│ │ └─ test-powerquery-contract.ps1
|
|
522
|
+
│ └─ bi-scorecard/
|
|
523
|
+
│ ├─ SKILL.md
|
|
524
|
+
│ └─ scripts/
|
|
525
|
+
│ ├─ update-check.js
|
|
526
|
+
│ ├─ powerbi-scorecards-api.ps1
|
|
527
|
+
│ ├─ powerbi-goals-api.ps1
|
|
528
|
+
│ ├─ powerbi-goal-values-api.ps1
|
|
529
|
+
│ ├─ powerbi-goal-status-rules-api.ps1
|
|
530
|
+
│ └─ new-scorecard-blueprint-from-base-template.ps1
|
|
531
|
+
└─ config.json
|
|
532
|
+
```
|
|
533
|
+
|
|
534
|
+
### Build Pipeline
|
|
535
|
+
|
|
536
|
+
```mermaid
|
|
537
|
+
flowchart TD
|
|
538
|
+
A["src/content/"] --> B["npm run build:plugin"]
|
|
539
|
+
B --> C["commands/*.md"]
|
|
540
|
+
B --> D["skills/*/SKILL.md"]
|
|
541
|
+
B --> E[".claude-plugin/"]
|
|
542
|
+
B --> F[".plugin/"]
|
|
543
|
+
B --> G[".mcp.json"]
|
|
544
|
+
C --> H["Claude Code slash commands"]
|
|
545
|
+
D --> I["Agent skills"]
|
|
546
|
+
G --> J["Power BI Modeling MCP + Microsoft Learn MCP"]
|
|
547
|
+
```
|
|
548
|
+
|
|
549
|
+
---
|
|
550
|
+
|
|
551
|
+
## Requirements
|
|
552
|
+
|
|
553
|
+
### Base Requirements
|
|
554
|
+
|
|
555
|
+
- Node.js 18 or newer.
|
|
556
|
+
- At least one supported AI agent.
|
|
557
|
+
|
|
558
|
+
### For `bi-connect`
|
|
559
|
+
|
|
560
|
+
- Windows.
|
|
561
|
+
- Power BI Desktop open.
|
|
562
|
+
- Power BI Modeling MCP available to the agent.
|
|
563
|
+
|
|
564
|
+
## Updates
|
|
565
|
+
|
|
566
|
+
### Claude Code Marketplace
|
|
567
|
+
|
|
568
|
+
```text
|
|
569
|
+
/plugin update bi-superpowers
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
### npm / CLI Installs
|
|
573
|
+
|
|
574
|
+
```bash
|
|
575
|
+
super upgrade
|
|
576
|
+
super install --all --yes
|
|
577
|
+
```
|
|
578
|
+
|
|
579
|
+
If you created a project-local plugin:
|
|
580
|
+
|
|
581
|
+
```bash
|
|
582
|
+
cd your-power-bi-project
|
|
583
|
+
super recharge
|
|
584
|
+
```
|
|
585
|
+
|
|
586
|
+
`super upgrade` intentionally does not run `super install` or `super recharge` automatically. User-profile installs and project-local plugins are separate refresh targets.
|
|
587
|
+
|
|
588
|
+
On Windows, if symlink creation is not available and the installer falls back to copying skills, each re-run mirrors the managed skill directories. Removed or renamed bundled scripts are deleted from the copied install during refresh.
|
|
589
|
+
|
|
590
|
+
---
|
|
591
|
+
|
|
592
|
+
## What Ships To npm
|
|
593
|
+
|
|
594
|
+
The npm package includes:
|
|
595
|
+
|
|
596
|
+
```text
|
|
597
|
+
bin/
|
|
598
|
+
.claude-plugin/
|
|
599
|
+
.plugin/
|
|
600
|
+
.mcp.json
|
|
601
|
+
commands/
|
|
602
|
+
skills/
|
|
603
|
+
src/content/
|
|
604
|
+
templates/
|
|
605
|
+
desktop-extension/
|
|
606
|
+
config.json
|
|
607
|
+
config.example.json
|
|
608
|
+
README.md
|
|
609
|
+
CHANGELOG.md
|
|
610
|
+
AGENTS.md
|
|
611
|
+
LICENSE
|
|
612
|
+
package.json
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
The npm package does not include:
|
|
616
|
+
|
|
617
|
+
```text
|
|
618
|
+
validation/
|
|
619
|
+
validation.local.example.json
|
|
620
|
+
validation.local.json
|
|
621
|
+
node_modules/
|
|
622
|
+
*.test.js
|
|
623
|
+
**/.pbi/localSettings.json
|
|
624
|
+
```
|
|
625
|
+
|
|
626
|
+
`templates/` ships the canonical `templates/base-template/` PBIP package with `AGENTS.md`, semantic model, and report definition. It is the "template-as-reference" used by all specialist skills and the source for the `bi-kickoff` "create from template" branch invoked via `super create-from-template`, which copies `templates/base-template/` into `<user-repo>/pbip-files/<projectName>.*` with renaming, cross-reference rewriting, and regenerated logicalIds. The base template includes Power Query pre-converted currency base columns, packaged sample queries grouped under `Sample Dataset\Dimensiones` and `Sample Dataset\Hechos`, `_GC Métrica` / `_GC Tipo cálculo` calculation groups, guarded metric dispatch, metric-aware dynamic dimensions through `_PC Dimensión`, a `Equipos métricas[Equipo]` slicer for filtering the metric selector by team, multi-team metric memberships through `_Aux Métrica-Equipo`, nine Equipos (eight operating teams plus `Dirección`) for the Andina Nexus product-and-services demo company, team-specific model-view diagrams, safe unscaled numeric model formats, compact KPI label helpers, cleaned key metadata, and a `Data = "Demo"` contract on appendable business tables. Demo IDs are entity-coded text values such as `ClienteA25D`, so relationships stay on the original ID columns while real rows can append with `Data = "Real"` and their own source IDs. `/bi-powerquery` creates the user-side real staging queries; the template itself does not ship unloaded `*_Real` queries. `/bi-scorecard` uses `base-template` as a metrics-catalog reference for Service scorecards; it does not add a universal targets model to the template.
|
|
627
|
+
`validation/` is repo-only. It stores sanitized validation descriptors and playbooks for project QA; private project paths live in `validation.local.json`, which must never be committed.
|
|
628
|
+
|
|
629
|
+
---
|
|
630
|
+
|
|
631
|
+
## Development
|
|
632
|
+
|
|
633
|
+
Install dependencies:
|
|
634
|
+
|
|
635
|
+
```bash
|
|
636
|
+
npm install
|
|
637
|
+
```
|
|
638
|
+
|
|
639
|
+
Regenerate plugin artifacts:
|
|
640
|
+
|
|
641
|
+
```bash
|
|
642
|
+
npm run build:plugin
|
|
643
|
+
```
|
|
644
|
+
|
|
645
|
+
Validate locally:
|
|
646
|
+
|
|
647
|
+
```bash
|
|
648
|
+
npm test
|
|
649
|
+
npm run lint
|
|
650
|
+
npm run format:check
|
|
651
|
+
npm pack --dry-run --ignore-scripts
|
|
652
|
+
```
|
|
653
|
+
|
|
654
|
+
Source of truth:
|
|
655
|
+
|
|
656
|
+
```text
|
|
657
|
+
src/content/
|
|
658
|
+
```
|
|
659
|
+
|
|
660
|
+
Generated artifacts:
|
|
661
|
+
|
|
662
|
+
```text
|
|
663
|
+
commands/
|
|
664
|
+
skills/
|
|
665
|
+
.claude-plugin/
|
|
666
|
+
.plugin/
|
|
667
|
+
.mcp.json
|
|
668
|
+
```
|
|
669
|
+
|
|
670
|
+
Edit source files first, then regenerate generated outputs.
|
|
671
|
+
|
|
672
|
+
---
|
|
673
|
+
|
|
674
|
+
## Project Validation Harness
|
|
675
|
+
|
|
676
|
+
In a source checkout, the repo can validate BI Agent Superpowers against real
|
|
677
|
+
Power BI work without committing customer repositories.
|
|
678
|
+
|
|
679
|
+
Public fixtures live in:
|
|
680
|
+
|
|
681
|
+
```text
|
|
682
|
+
templates/base-template/
|
|
683
|
+
```
|
|
684
|
+
|
|
685
|
+
Sanitized validation metadata lives in:
|
|
686
|
+
|
|
687
|
+
```text
|
|
688
|
+
validation/projects/
|
|
689
|
+
validation/cases/
|
|
690
|
+
```
|
|
691
|
+
|
|
692
|
+
Private local project paths live only in:
|
|
693
|
+
|
|
694
|
+
```text
|
|
695
|
+
validation.local.json
|
|
696
|
+
```
|
|
697
|
+
|
|
698
|
+
That file is gitignored. Copy `validation.local.example.json` when you want to
|
|
699
|
+
map client projects on your own machine.
|
|
700
|
+
Descriptors ending in `.example.json` are templates for humans and are ignored
|
|
701
|
+
by validation runs, including `--strict`.
|
|
702
|
+
|
|
703
|
+
Run the structural validation:
|
|
704
|
+
|
|
705
|
+
```bash
|
|
706
|
+
super validate-projects --project base-template
|
|
707
|
+
```
|
|
708
|
+
|
|
709
|
+
Run every descriptor, treating skipped private projects as failures:
|
|
710
|
+
|
|
711
|
+
```bash
|
|
712
|
+
super validate-projects --strict
|
|
713
|
+
```
|
|
714
|
+
|
|
715
|
+
For a live Power BI Desktop smoke test of the canonical template, use
|
|
716
|
+
`validation/cases/base-template-smoke-test.md` after the structural validation
|
|
717
|
+
passes. `super smoke-test` will probe the open Desktop sessions automatically
|
|
718
|
+
and keep the one that matches the expected evidence, including seven metrics per
|
|
719
|
+
team plus weekly fact, metric, and compatible dimension coverage for the last
|
|
720
|
+
720 days.
|
|
721
|
+
|
|
722
|
+
To discover the repo playbooks or print one in full:
|
|
723
|
+
|
|
724
|
+
```bash
|
|
725
|
+
super validate-cases
|
|
726
|
+
super validate-cases --case base-template-smoke-test
|
|
727
|
+
```
|
|
728
|
+
|
|
729
|
+
This command is non-destructive. It checks project paths and required files; it
|
|
730
|
+
does not open Power BI Desktop, edit PBIP files, or copy private repos.
|
|
731
|
+
|
|
732
|
+
---
|
|
733
|
+
|
|
734
|
+
## Publishing
|
|
735
|
+
|
|
736
|
+
Publishing is handled by GitHub Actions. Do not run `npm publish` locally.
|
|
737
|
+
|
|
738
|
+
Expected release flow:
|
|
739
|
+
|
|
740
|
+
```bash
|
|
741
|
+
npm version patch --no-git-tag-version
|
|
742
|
+
npm run build:plugin
|
|
743
|
+
npm test
|
|
744
|
+
npm run lint
|
|
745
|
+
npm run format:check
|
|
746
|
+
git add package.json package-lock.json commands/ skills/ .claude-plugin/ .plugin/ .mcp.json
|
|
747
|
+
git commit -m "chore: release vX.Y.Z"
|
|
748
|
+
git tag -a vX.Y.Z -m "vX.Y.Z"
|
|
749
|
+
git push origin main --follow-tags
|
|
750
|
+
```
|
|
751
|
+
|
|
752
|
+
The publish workflow runs on `v*` tag pushes. Manual dispatch is constrained to an already-tagged release commit on `main`.
|
|
753
|
+
|
|
754
|
+
---
|
|
755
|
+
|
|
756
|
+
## Troubleshooting
|
|
757
|
+
|
|
758
|
+
### `super` is not found after npm install
|
|
759
|
+
|
|
760
|
+
Check the global package:
|
|
761
|
+
|
|
762
|
+
```bash
|
|
763
|
+
npm list -g bi-superpowers
|
|
764
|
+
```
|
|
765
|
+
|
|
766
|
+
Try the long binary name:
|
|
767
|
+
|
|
768
|
+
```bash
|
|
769
|
+
bi-superpowers help
|
|
770
|
+
```
|
|
771
|
+
|
|
772
|
+
If npm's global bin directory is not in `PATH`, fix `PATH` or use your package manager's global binary setup instructions.
|
|
773
|
+
|
|
774
|
+
### The Agent Does Not See The Skills
|
|
775
|
+
|
|
776
|
+
1. Restart the agent.
|
|
777
|
+
2. Run `super install --all --yes` again.
|
|
778
|
+
3. Check the relevant skill directory.
|
|
779
|
+
4. If using a local Claude Code plugin, run `super recharge` inside that repo.
|
|
780
|
+
|
|
781
|
+
### Power BI Desktop Does Not Connect
|
|
782
|
+
|
|
783
|
+
1. Open Power BI Desktop.
|
|
784
|
+
2. Open the target `.pbix` or PBIP project.
|
|
785
|
+
3. Confirm the Power BI Modeling MCP is installed.
|
|
786
|
+
4. Restart the agent after MCP installation.
|
|
787
|
+
|
|
788
|
+
---
|
|
789
|
+
|
|
790
|
+
## FAQ
|
|
791
|
+
|
|
792
|
+
### Does This Replace Power BI Desktop?
|
|
793
|
+
|
|
794
|
+
No. Power BI Desktop remains the visual and report authoring tool. The plugin helps agents inspect project files and use MCPs for semantic-model work, but PBIP files are treated as version-control snapshots. Agents must not patch `.Report/**` PBIR JSON, `visual.json`, bookmarks, slicer/card settings, themes, or report resources directly.
|
|
795
|
+
|
|
796
|
+
Existing-visual dimension/measure binding changes are the only report-side exception: they may happen in Power BI Desktop manually, or through a future dedicated rebind command that proves a binding-only diff with dry-run, backup, validation, and an explicit source-to-target mapping. No safe report rebind command currently ships with this plugin, so agents must not patch PBIR JSON by hand, even for a "simple measure replacement."
|
|
797
|
+
|
|
798
|
+
Microsoft Learn's PBIP project guidance also marks `report.json`, `mobileState.json`, `semanticModelDiagramLayout.json`, and semantic-model `diagramLayout.json` as unsupported external-edit surfaces during preview. The plugin treats those files as diagnostic-only.
|
|
799
|
+
|
|
800
|
+
**Report topology is locked.** Agents must never delete, rename, move, or recreate report pages, visuals, mobile layouts, or bookmarks to make a broken report look "fixed." They must not rebuild a "minimal functional report." Any added, deleted, or renamed path under `.Report/**` is a hard stop for semantic-model skills; the correct action is to preserve the report shell and hand the visual repair back to Power BI Desktop.
|
|
801
|
+
|
|
802
|
+
### Does It Work Outside Windows?
|
|
803
|
+
|
|
804
|
+
The CLI and several skills can run outside Windows. Workflows that depend on Power BI Desktop, especially `bi-connect`, are Windows-first.
|
|
805
|
+
|
|
806
|
+
### Do I Need Claude Code?
|
|
807
|
+
|
|
808
|
+
No. Codex is the primary development and end-to-end validation baseline for this plugin. Claude Code has a useful compatibility path through marketplace/local plugin artifacts, but it is not the canonical test base unless a release note explicitly says that release was tested there.
|
|
809
|
+
|
|
810
|
+
### Can I Use Only The MCP Servers?
|
|
811
|
+
|
|
812
|
+
Yes. You can install Microsoft Learn MCP and Power BI Modeling MCP manually. This repo packages them with skills and operational workflows so agents know when and how to use them.
|
|
813
|
+
|
|
814
|
+
### Does This Send Data To A SaaS Backend?
|
|
815
|
+
|
|
816
|
+
No. The package installs local files, writes local agent config, and uses MCP servers configured on your machine. There is no BI Agent Superpowers SaaS backend.
|
|
817
|
+
|
|
818
|
+
---
|
|
819
|
+
|
|
820
|
+
## Contributing
|
|
821
|
+
|
|
822
|
+
Issues and pull requests are welcome:
|
|
823
|
+
|
|
824
|
+
- GitHub: https://github.com/luquimbo/bi-superpowers
|
|
825
|
+
- Issues: https://github.com/luquimbo/bi-superpowers/issues
|
|
826
|
+
- npm: https://www.npmjs.com/package/bi-superpowers
|
|
827
|
+
|
|
828
|
+
Before large changes, read:
|
|
829
|
+
|
|
830
|
+
- `AGENTS.md`
|
|
831
|
+
- `ARCHITECTURE.md`
|
|
832
|
+
- `src/content/`
|
|
833
|
+
- `bin/`
|
|
834
|
+
|
|
835
|
+
---
|
|
836
|
+
|
|
837
|
+
## License
|
|
838
|
+
|
|
839
|
+
MIT © Lucas Sanchez ([@luquimbo](https://github.com/luquimbo))
|
|
840
|
+
|
|
841
|
+
---
|
|
842
|
+
|
|
843
|
+
<div align="center">
|
|
844
|
+
|
|
845
|
+
Open-source Power BI Desktop toolkit for AI coding agents. Built by Lucas Sanchez.
|
|
846
|
+
|
|
847
|
+
[bi-superpowers.dev](https://bi-superpowers.dev) · [npm](https://www.npmjs.com/package/bi-superpowers) · [GitHub](https://github.com/luquimbo/bi-superpowers)
|
|
848
|
+
|
|
849
|
+
</div>
|