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.
Files changed (276) hide show
  1. package/.claude-plugin/marketplace.json +31 -0
  2. package/.claude-plugin/plugin.json +34 -0
  3. package/.claude-plugin/skill-manifest.json +79 -0
  4. package/.mcp.json +13 -0
  5. package/.plugin/plugin.json +14 -0
  6. package/LICENSE +21 -0
  7. package/README.md +849 -0
  8. package/bin/build-plugin.js +97 -0
  9. package/bin/cli.js +891 -0
  10. package/bin/commands/autoupdate.js +128 -0
  11. package/bin/commands/build-desktop.js +368 -0
  12. package/bin/commands/create-from-template.js +165 -0
  13. package/bin/commands/diff.js +435 -0
  14. package/bin/commands/install.js +542 -0
  15. package/bin/commands/lint.js +441 -0
  16. package/bin/commands/mcp-setup.js +255 -0
  17. package/bin/commands/session-update.js +204 -0
  18. package/bin/commands/smoke-test.js +20 -0
  19. package/bin/commands/uninstall.js +611 -0
  20. package/bin/commands/update-check.js +427 -0
  21. package/bin/commands/validate-cases.js +264 -0
  22. package/bin/commands/validate-projects.js +426 -0
  23. package/bin/commands/watch.js +251 -0
  24. package/bin/lib/agents.js +62 -0
  25. package/bin/lib/base-template-smoke.js +299 -0
  26. package/bin/lib/claude-hooks.js +160 -0
  27. package/bin/lib/generators/claude-plugin.js +529 -0
  28. package/bin/lib/generators/index.js +116 -0
  29. package/bin/lib/generators/shared.js +257 -0
  30. package/bin/lib/mcp-config.js +835 -0
  31. package/bin/lib/microsoft-mcp.js +206 -0
  32. package/bin/lib/powerbi-mcp-session.js +140 -0
  33. package/bin/lib/skills.js +164 -0
  34. package/bin/lib/template-scaffold.js +366 -0
  35. package/bin/mcp/powerbi-modeling-launcher.js +42 -0
  36. package/bin/postinstall.js +50 -0
  37. package/bin/utils/mcp-detect.js +346 -0
  38. package/bin/utils/tui.js +314 -0
  39. package/commands/bi-connect.md +520 -0
  40. package/commands/bi-dax.md +464 -0
  41. package/commands/bi-kickoff.md +550 -0
  42. package/commands/bi-modeling.md +485 -0
  43. package/commands/bi-performance.md +521 -0
  44. package/commands/bi-powerquery.md +229 -0
  45. package/commands/bi-refactor.md +249 -0
  46. package/commands/bi-scorecard.md +268 -0
  47. package/commands/bi-start.md +272 -0
  48. package/config.example.json +23 -0
  49. package/config.json +23 -0
  50. package/desktop-extension/manifest.json +30 -0
  51. package/desktop-extension/package.json +10 -0
  52. package/desktop-extension/server.js +137 -0
  53. package/package.json +94 -0
  54. package/skills/bi-connect/SKILL.md +522 -0
  55. package/skills/bi-connect/scripts/update-check.js +427 -0
  56. package/skills/bi-dax/SKILL.md +466 -0
  57. package/skills/bi-dax/scripts/update-check.js +427 -0
  58. package/skills/bi-kickoff/SKILL.md +552 -0
  59. package/skills/bi-kickoff/references/flow.html +78 -0
  60. package/skills/bi-kickoff/references/flow.md +62 -0
  61. package/skills/bi-kickoff/scripts/update-check.js +427 -0
  62. package/skills/bi-modeling/SKILL.md +487 -0
  63. package/skills/bi-modeling/scripts/update-check.js +427 -0
  64. package/skills/bi-performance/SKILL.md +523 -0
  65. package/skills/bi-performance/scripts/install-tabular-editor.ps1 +159 -0
  66. package/skills/bi-performance/scripts/run-bpa.ps1 +265 -0
  67. package/skills/bi-performance/scripts/update-check.js +427 -0
  68. package/skills/bi-powerquery/SKILL.md +231 -0
  69. package/skills/bi-powerquery/references/base-template-data-contract.md +323 -0
  70. package/skills/bi-powerquery/references/power-query-standards.md +74 -0
  71. package/skills/bi-powerquery/scripts/new-powerquery-staging.ps1 +371 -0
  72. package/skills/bi-powerquery/scripts/test-powerquery-contract.ps1 +225 -0
  73. package/skills/bi-powerquery/scripts/update-check.js +427 -0
  74. package/skills/bi-refactor/SKILL.md +251 -0
  75. package/skills/bi-refactor/references/flow.md +27 -0
  76. package/skills/bi-refactor/scripts/update-check.js +427 -0
  77. package/skills/bi-scorecard/SKILL.md +270 -0
  78. package/skills/bi-scorecard/examples/base-template-scorecard-overlay.json +82 -0
  79. package/skills/bi-scorecard/scripts/new-scorecard-blueprint-from-base-template.ps1 +124 -0
  80. package/skills/bi-scorecard/scripts/powerbi-goal-status-rules-api.ps1 +39 -0
  81. package/skills/bi-scorecard/scripts/powerbi-goal-values-api.ps1 +48 -0
  82. package/skills/bi-scorecard/scripts/powerbi-goals-api.ps1 +68 -0
  83. package/skills/bi-scorecard/scripts/powerbi-rest-common.ps1 +197 -0
  84. package/skills/bi-scorecard/scripts/powerbi-scorecards-api.ps1 +53 -0
  85. package/skills/bi-scorecard/scripts/update-check.js +427 -0
  86. package/skills/bi-start/SKILL.md +274 -0
  87. package/skills/bi-start/scripts/update-check.js +427 -0
  88. package/src/content/base.md +197 -0
  89. package/src/content/mcp-requirements.json +57 -0
  90. package/src/content/routing.md +201 -0
  91. package/src/content/skills/bi-connect.md +493 -0
  92. package/src/content/skills/bi-dax.md +437 -0
  93. package/src/content/skills/bi-kickoff/SKILL.md +523 -0
  94. package/src/content/skills/bi-kickoff/references/flow.html +78 -0
  95. package/src/content/skills/bi-kickoff/references/flow.md +62 -0
  96. package/src/content/skills/bi-modeling.md +458 -0
  97. package/src/content/skills/bi-performance/SKILL.md +494 -0
  98. package/src/content/skills/bi-performance/scripts/install-tabular-editor.ps1 +159 -0
  99. package/src/content/skills/bi-performance/scripts/run-bpa.ps1 +265 -0
  100. package/src/content/skills/bi-powerquery/SKILL.md +202 -0
  101. package/src/content/skills/bi-powerquery/references/base-template-data-contract.md +323 -0
  102. package/src/content/skills/bi-powerquery/references/power-query-standards.md +74 -0
  103. package/src/content/skills/bi-powerquery/scripts/new-powerquery-staging.ps1 +371 -0
  104. package/src/content/skills/bi-powerquery/scripts/test-powerquery-contract.ps1 +225 -0
  105. package/src/content/skills/bi-refactor/SKILL.md +222 -0
  106. package/src/content/skills/bi-refactor/references/flow.md +27 -0
  107. package/src/content/skills/bi-scorecard/SKILL.md +241 -0
  108. package/src/content/skills/bi-scorecard/examples/base-template-scorecard-blueprint.expected.json +105 -0
  109. package/src/content/skills/bi-scorecard/examples/base-template-scorecard-overlay.json +82 -0
  110. package/src/content/skills/bi-scorecard/scripts/new-scorecard-blueprint-from-base-template.ps1 +124 -0
  111. package/src/content/skills/bi-scorecard/scripts/powerbi-goal-status-rules-api.ps1 +39 -0
  112. package/src/content/skills/bi-scorecard/scripts/powerbi-goal-values-api.ps1 +48 -0
  113. package/src/content/skills/bi-scorecard/scripts/powerbi-goals-api.ps1 +68 -0
  114. package/src/content/skills/bi-scorecard/scripts/powerbi-rest-common.ps1 +197 -0
  115. package/src/content/skills/bi-scorecard/scripts/powerbi-scorecards-api.ps1 +53 -0
  116. package/src/content/skills/bi-start.md +266 -0
  117. package/templates/base-template/AGENTS.md +33 -0
  118. package/templates/base-template/base-template.Report/.platform +11 -0
  119. package/templates/base-template/base-template.Report/StaticResources/RegisteredResources/BISuperpowers.json +3888 -0
  120. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BaseThemes/CY18SU07.json +177 -0
  121. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BaseThemes/Fluent2-CY26SU03.json +4104 -0
  122. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/AccessibleCityPark.json +26 -0
  123. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/AccessibleDefault.json +26 -0
  124. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/AccessibleNeutral.json +26 -0
  125. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/AccessibleOrchid.json +26 -0
  126. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/AccessibleTidal.json +26 -0
  127. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Bloom.json +139 -0
  128. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/CityPark.json +40 -0
  129. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Classroom.json +40 -0
  130. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/ColorblindSafe.json +48 -0
  131. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/CopilotDefault.json +1861 -0
  132. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Divergent.json +127 -0
  133. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Electric.json +48 -0
  134. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Frontier.json +136 -0
  135. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/HighContrast.json +40 -0
  136. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Highrise.json +41 -0
  137. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Innovate.json +227 -0
  138. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/NewExecutive.json +41 -0
  139. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Solar.json +33 -0
  140. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Storm.json +25 -0
  141. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Sunset.json +48 -0
  142. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Temperature.json +33 -0
  143. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Tidal.json +100 -0
  144. package/templates/base-template/base-template.Report/StaticResources/SharedResources/BuiltInThemes/Twilight.json +40 -0
  145. package/templates/base-template/base-template.Report/definition/bookmarks/1d40d43c7ade66e8603c.bookmark.json +2297 -0
  146. package/templates/base-template/base-template.Report/definition/bookmarks/af068ff51c0ca3089ea7.bookmark.json +2300 -0
  147. package/templates/base-template/base-template.Report/definition/bookmarks/bookmarks.json +11 -0
  148. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/page.json +130 -0
  149. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/0352fd80d074693a65db/mobile.json +11 -0
  150. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/0352fd80d074693a65db/visual.json +669 -0
  151. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/1c5a14bf493697344b68/mobile.json +11 -0
  152. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/1c5a14bf493697344b68/visual.json +723 -0
  153. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/3486cf7624c5b109b4e5/mobile.json +11 -0
  154. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/3486cf7624c5b109b4e5/visual.json +333 -0
  155. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/4d8b989008edc0db28d1/mobile.json +11 -0
  156. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/4d8b989008edc0db28d1/visual.json +109 -0
  157. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/55e10ac7d76a1954f94f/mobile.json +31 -0
  158. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/55e10ac7d76a1954f94f/visual.json +378 -0
  159. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/57f52ecf4490f70e4da1/mobile.json +11 -0
  160. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/57f52ecf4490f70e4da1/visual.json +175 -0
  161. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/5f4d76bbc870118e9840/mobile.json +11 -0
  162. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/5f4d76bbc870118e9840/visual.json +468 -0
  163. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/73629e1abebb7a444b59/mobile.json +11 -0
  164. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/73629e1abebb7a444b59/visual.json +359 -0
  165. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/749cb1388c7e0a88161c/mobile.json +11 -0
  166. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/749cb1388c7e0a88161c/visual.json +690 -0
  167. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/90677f13cea5d1275990/visual.json +17 -0
  168. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/92cf92e3da10493adb78/mobile.json +11 -0
  169. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/92cf92e3da10493adb78/visual.json +468 -0
  170. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/9fe17b1971f68443fc15/mobile.json +10 -0
  171. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/9fe17b1971f68443fc15/visual.json +328 -0
  172. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/a30bd0950630ed94e8a3/mobile.json +11 -0
  173. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/a30bd0950630ed94e8a3/visual.json +578 -0
  174. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/a56e91d9400a835e4814/mobile.json +11 -0
  175. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/a56e91d9400a835e4814/visual.json +432 -0
  176. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/aded24cd205c0b528642/mobile.json +11 -0
  177. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/aded24cd205c0b528642/visual.json +801 -0
  178. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/af34b26f14a8a724c9a9/mobile.json +37 -0
  179. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/af34b26f14a8a724c9a9/visual.json +1318 -0
  180. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/b529688fe5a226643322/visual.json +209 -0
  181. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/c4c6f332d05e72e2eb06/mobile.json +11 -0
  182. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/c4c6f332d05e72e2eb06/visual.json +174 -0
  183. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/fa81f184e2cb0e8b087c/mobile.json +29 -0
  184. package/templates/base-template/base-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/fa81f184e2cb0e8b087c/visual.json +241 -0
  185. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/page.json +130 -0
  186. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/07e9c4302e29029c5462/mobile.json +11 -0
  187. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/07e9c4302e29029c5462/visual.json +690 -0
  188. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/109ceede4bc015b0c006/mobile.json +11 -0
  189. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/109ceede4bc015b0c006/visual.json +468 -0
  190. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/118257e006d472277e10/mobile.json +11 -0
  191. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/118257e006d472277e10/visual.json +359 -0
  192. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/2caf02e0137c4a1280cc/mobile.json +11 -0
  193. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/2caf02e0137c4a1280cc/visual.json +669 -0
  194. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/311e76fe3c9edad68204/mobile.json +11 -0
  195. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/311e76fe3c9edad68204/visual.json +109 -0
  196. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/31c21f8cbeb3b208940a/visual.json +209 -0
  197. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/3ab72c25062437149b03/visual.json +17 -0
  198. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/5959867442abcb0ce2b3/mobile.json +11 -0
  199. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/5959867442abcb0ce2b3/visual.json +788 -0
  200. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/5b96e0f88d192b044a13/mobile.json +11 -0
  201. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/5b96e0f88d192b044a13/visual.json +592 -0
  202. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/64e749a63d0786000e22/mobile.json +11 -0
  203. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/64e749a63d0786000e22/visual.json +468 -0
  204. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/7ae1ca604edac6586ad0/mobile.json +11 -0
  205. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/7ae1ca604edac6586ad0/visual.json +1310 -0
  206. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/840300733885141a6603/mobile.json +11 -0
  207. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/840300733885141a6603/visual.json +175 -0
  208. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/a38448cdb203279273d2/mobile.json +11 -0
  209. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/a38448cdb203279273d2/visual.json +516 -0
  210. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/d1e86f213a3841d12e20/visual.json +328 -0
  211. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/d4a484c1bcc8ee3075e2/mobile.json +11 -0
  212. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/d4a484c1bcc8ee3075e2/visual.json +432 -0
  213. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/d87cb5cf06acca19bbb5/mobile.json +11 -0
  214. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/d87cb5cf06acca19bbb5/visual.json +241 -0
  215. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/e243da2677209ed69408/mobile.json +11 -0
  216. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/e243da2677209ed69408/visual.json +174 -0
  217. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/f3aaf24f5b22b67573b0/mobile.json +11 -0
  218. package/templates/base-template/base-template.Report/definition/pages/9a5b670b015cab882629/visuals/f3aaf24f5b22b67573b0/visual.json +333 -0
  219. package/templates/base-template/base-template.Report/definition/pages/pages.json +8 -0
  220. package/templates/base-template/base-template.Report/definition/report.json +89 -0
  221. package/templates/base-template/base-template.Report/definition/version.json +4 -0
  222. package/templates/base-template/base-template.Report/definition.pbir +9 -0
  223. package/templates/base-template/base-template.SemanticModel/.platform +11 -0
  224. package/templates/base-template/base-template.SemanticModel/definition/cultures/es-AR.tmdl +11185 -0
  225. package/templates/base-template/base-template.SemanticModel/definition/database.tmdl +3 -0
  226. package/templates/base-template/base-template.SemanticModel/definition/expressions.tmdl +234 -0
  227. package/templates/base-template/base-template.SemanticModel/definition/functions.tmdl +637 -0
  228. package/templates/base-template/base-template.SemanticModel/definition/model.tmdl +82 -0
  229. package/templates/base-template/base-template.SemanticModel/definition/relationships.tmdl +271 -0
  230. package/templates/base-template/base-template.SemanticModel/definition/tables/Calendario.tmdl +200 -0
  231. package/templates/base-template/base-template.SemanticModel/definition/tables/Campa/303/261as.tmdl +75 -0
  232. package/templates/base-template/base-template.SemanticModel/definition/tables/Canales.tmdl +84 -0
  233. package/templates/base-template/base-template.SemanticModel/definition/tables/Clientes.tmdl +143 -0
  234. package/templates/base-template/base-template.SemanticModel/definition/tables/Devoluciones.tmdl +95 -0
  235. package/templates/base-template/base-template.SemanticModel/definition/tables/Ejecuci/303/263n proyectos.tmdl" +130 -0
  236. package/templates/base-template/base-template.SemanticModel/definition/tables/Entregas.tmdl +122 -0
  237. package/templates/base-template/base-template.SemanticModel/definition/tables/Equipos m/303/251tricas.tmdl" +40 -0
  238. package/templates/base-template/base-template.SemanticModel/definition/tables/Equipos.tmdl +73 -0
  239. package/templates/base-template/base-template.SemanticModel/definition/tables/Horas.tmdl +122 -0
  240. package/templates/base-template/base-template.SemanticModel/definition/tables/Interacciones clientes.tmdl +146 -0
  241. package/templates/base-template/base-template.SemanticModel/definition/tables/Leads.tmdl +119 -0
  242. package/templates/base-template/base-template.SemanticModel/definition/tables/Monedas.tmdl +44 -0
  243. package/templates/base-template/base-template.SemanticModel/definition/tables/Movimientos financieros.tmdl +145 -0
  244. package/templates/base-template/base-template.SemanticModel/definition/tables/M/303/251tricas.tmdl +1294 -0
  245. package/templates/base-template/base-template.SemanticModel/definition/tables/N/303/263mina.tmdl +110 -0
  246. package/templates/base-template/base-template.SemanticModel/definition/tables/Oportunidades.tmdl +135 -0
  247. package/templates/base-template/base-template.SemanticModel/definition/tables/Presupuesto.tmdl +125 -0
  248. package/templates/base-template/base-template.SemanticModel/definition/tables/Productos.tmdl +98 -0
  249. package/templates/base-template/base-template.SemanticModel/definition/tables/Proyectos.tmdl +77 -0
  250. package/templates/base-template/base-template.SemanticModel/definition/tables/Servicios.tmdl +75 -0
  251. package/templates/base-template/base-template.SemanticModel/definition/tables/Tareas proyecto.tmdl +102 -0
  252. package/templates/base-template/base-template.SemanticModel/definition/tables/Tipo de cambio.tmdl +67 -0
  253. package/templates/base-template/base-template.SemanticModel/definition/tables/Ventas.tmdl +180 -0
  254. package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux An/303/241lisis dimensiones.tmdl" +38 -0
  255. package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Comparaciones.tmdl +227 -0
  256. package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Compatibilidad m/303/251trica-dimensi/303/263n.tmdl" +68 -0
  257. package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Modelo configuraci/303/263n.tmdl" +44 -0
  258. package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Modo fechas.tmdl +36 -0
  259. package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux M/303/251trica-Equipo.tmdl" +102 -0
  260. package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Overrides m/303/251trica-dimensi/303/263n.tmdl" +54 -0
  261. package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Per/303/255odos.tmdl" +182 -0
  262. package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Rango fechas modo.tmdl +36 -0
  263. package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Rango fechas.tmdl +27 -0
  264. package/templates/base-template/base-template.SemanticModel/definition/tables/_Aux Vista de calendario.tmdl +30 -0
  265. package/templates/base-template/base-template.SemanticModel/definition/tables/_GC C/303/241lculo.tmdl" +70 -0
  266. package/templates/base-template/base-template.SemanticModel/definition/tables/_GC Eje X.tmdl +63 -0
  267. package/templates/base-template/base-template.SemanticModel/definition/tables/_GC M/303/251trica.tmdl" +374 -0
  268. package/templates/base-template/base-template.SemanticModel/definition/tables/_GC Tipo c/303/241lculo.tmdl" +223 -0
  269. package/templates/base-template/base-template.SemanticModel/definition/tables/_PC Dimensi/303/263n.tmdl" +98 -0
  270. package/templates/base-template/base-template.SemanticModel/definition/tables/_PC Eje X.tmdl +68 -0
  271. package/templates/base-template/base-template.SemanticModel/definition/tables//303/223rdenes servicio.tmdl" +151 -0
  272. package/templates/base-template/base-template.SemanticModel/definition.pbism +5 -0
  273. package/templates/base-template/base-template.SemanticModel/diagramLayout.json +568 -0
  274. package/templates/base-template/base-template.pbip +14 -0
  275. package/templates/base-template/template.manifest.json +41 -0
  276. package/theme/BISuperpowers.json +3888 -0
@@ -0,0 +1,274 @@
1
+ ---
2
+ name: "bi-start"
3
+ description: "Use when the user asks about BI Start Skill, especially phrases like \"bi-start\", \"bi start\", \"/bi-start\", \"empezar\", \"comenzar\", \"arranco\"."
4
+ version: "1.0.0"
5
+ ---
6
+
7
+ <!-- Generated by BI Agent Superpowers. Edit src/content/skills/bi-start.md instead. -->
8
+
9
+ # BI Start Skill
10
+
11
+ ## Trigger
12
+ Activate this skill when the user mentions:
13
+ - "bi-start", "bi start", "/bi-start"
14
+ - "empezar", "comenzar", "arranco", "arrancar"
15
+ - "get started", "start session", "new session"
16
+ - "qué puedo hacer", "what can I do", "qué hago", "what's here"
17
+ - "ayuda bi", "bi help", "help me start", "orientame"
18
+ - "mostrame los skills", "show me what you can do", "lista los comandos"
19
+
20
+ Also activate:
21
+ - At the start of any fresh conversation when the user hasn't yet picked a skill.
22
+ - When the user seems lost about which skill to invoke (e.g. says "no sé qué usar").
23
+
24
+ ## Identity
25
+ You are **BI Session Orchestrator**. Your job is to welcome the user at the start of a chat session, show them the available skills, check for updates, and — if Power BI Desktop is involved — offer to connect right away. You are **not** a project analyst (that's `/bi-kickoff`) and **not** a connection specialist (that's `/bi-connect`). You are the front desk.
26
+
27
+ You are the session-opener, **not** the project-opener. If the user's intent is clearly "I'm creating a brand-new BI project from scratch", delegate to `/bi-kickoff`. Otherwise, this skill is the right home for general-purpose entry, discovery, environment checks, and pointing the user at the right specialist.
28
+
29
+ ## Teaching Contract — sé un profesor, no una consola
30
+
31
+ This skill teaches a non-technical business user *while* it works. Follow this contract in every session:
32
+
33
+ 1. **Say the WHY before each step, in one plain sentence** — what it achieves for the user's business, not how it works inside.
34
+ 2. **Define every term the first time you use it**, using the Plain-language glossary below. If a technical word is unavoidable, gloss it inline: `término (en palabras simples: …)`. Never let unexplained jargon reach the user.
35
+ 3. **Ask business questions, one at a time.** Lead with what the user wants to achieve, in their words; never present a technical intake form or stack questions. Capture the technical details silently.
36
+ 4. **Calibrate depth once, then adapt.** Early on, offer: *"¿Querés que te explique cada paso mientras avanzamos, o ya manejás Power BI y vamos directo?"* Then dial explanations up or down based on the answer and the user's reactions.
37
+ 5. **Report results as business impact** — what the user can now do, or what it prevents — not raw ms / MB / row counts / HTTP status codes.
38
+ 6. **Keep internal vocabulary internal.** Operator terms and file paths are for you, not the user; translate before surfacing.
39
+
40
+ - **"No sé qué necesito" branch.** If the user can't name a skill, ask ONE business question — *"¿Qué pregunta de negocio querés responder con tus datos?"* — and map common answers to a specialist: "ver ventas/márgenes por región" → `/bi-modeling` or `/bi-dax`; "mi reporte va lento" → `/bi-performance`; "conectar mis datos reales" → `/bi-powerquery`; "arreglar un reporte que se rompió" → `/bi-refactor`; "arrancar de cero" → `/bi-kickoff`.
41
+ - **BI skill-first, not global ceremony.** When the user describes a BI task in natural language, classify the user's BI intent against the eight specialist skills (`/bi-kickoff`, `/bi-refactor`, `/bi-modeling`, `/bi-dax`, `/bi-performance`, `/bi-connect`, `/bi-powerquery`, `/bi-scorecard`) and dispatch the most specific match before giving advice. For unrelated or simple non-BI questions, respond normally; `/bi-start` is a BI router, not a general-purpose skill framework.
42
+ - **Route by business outcome, not by tool name.** In the menu, lead each option with what it does for the business ("mido y comparo ventas/márgenes", "arreglo un reporte que ya tenés"), so a manager picks by goal, not by knowing what "refactor" or "Power Query" means.
43
+ - **Gloss "MCP" the first time it appears in user copy** (e.g. *"conectar el MCP (el puente que me deja leer y editar tu Power BI)"*) and expand **A/D/R** to "agregar/borrar/recrear".
44
+
45
+ ## Plain-language glossary
46
+
47
+ - **MCP** = el puente que conecta tu asistente con Power BI para leer y editar tu modelo.
48
+ - **refactorizar** = arreglar o mejorar un reporte que ya tenés, sin reconstruirlo.
49
+ - **DAX** = el lenguaje de fórmulas de Power BI para medir y comparar.
50
+ - **Power Query** = la herramienta que trae y limpia tus datos antes de usarlos.
51
+
52
+ **Internal — never echo to a non-technical user:** A/D/R (agregar/borrar/recrear), PBIR, TMDL, VertiPaq, BPA, IBCS, "star schema". The internal rules and the "does NOT do" list are agent-only — translate to plain business language before surfacing anything from them.
53
+
54
+ ## Ejemplo guiado (de pregunta de negocio a entregable)
55
+
56
+ > Modelo de una sesión enseñando. Seguí este arco; adaptá el ruteo al caso real.
57
+
58
+ **Usuario:** "No sé bien qué necesito; tengo unos datos de ventas y quiero ordenarlos."
59
+
60
+ 1. **Pregunto (una sola cosa, de negocio):** "¿Qué pregunta querés poder responder con tus datos?"
61
+ 2. **Mapeo la respuesta a un especialista:** "ver ventas/márgenes por región" → `/bi-modeling` o `/bi-dax`; "mi reporte va lento" → `/bi-performance`; "conectar mis datos reales" → `/bi-powerquery`; "arrancar de cero" → `/bi-kickoff`.
62
+ 3. **Explico el porqué:** "Te llevo al especialista correcto para no hacerte repetir el contexto."
63
+ 4. **Hago:** abro el skill adecuado y le paso lo que ya me contaste.
64
+ 5. **Cierro enseñando:** "Cada especialista te va explicando mientras construye; no necesitás saber los nombres técnicos para empezar."
65
+
66
+ ---
67
+
68
+ ## PHASE 0: Update check (proactive)
69
+
70
+ Run the update check at the very start:
71
+
72
+ ```bash
73
+ node "{skillBundleDir}/scripts/update-check.js" --silent-if-snoozed
74
+ ```
75
+
76
+ Interpret the single-line output:
77
+
78
+ - **`UPTODATE`** — silent, continue to PHASE 1.
79
+ - **`UPDATE_AVAILABLE <installed> <latest>`** — say:
80
+ > _"Hay **bi-superpowers v{latest}** disponible (estás en v{installed}). ¿Lo actualizo ahora? (`sí` / `no`)"_
81
+
82
+ On `sí` / `yes`:
83
+ - If the user installed via Claude Code marketplace, dispatch: _"Corré `/plugin update bi-superpowers` en Claude Code — eso hace el update nativo sin pasar por npm."_ (you can't execute `/plugin` yourself).
84
+ - Otherwise, run `super upgrade` in the shell:
85
+ ```bash
86
+ super upgrade
87
+ ```
88
+ After it finishes, remind: _"Corré `super install --all --yes` para refrescar la instalación user-level de todos los agentes. Solo si además mantenés un plugin local de Claude Code generado con `super kickoff`, corré `super recharge` dentro de ese repo."_
89
+
90
+ On `no` — respect it, continue to PHASE 1 silently. The update-state.json already tracks the user's snooze per `update-check.js` semantics.
91
+
92
+ - **`SNOOZED <iso>`** — silent, continue.
93
+
94
+ - **Command failed / no output** — silent, continue. The update check must never block this skill.
95
+
96
+ ---
97
+
98
+ ## PHASE 1: Environment snapshot
99
+
100
+ Do these detections in order:
101
+
102
+ 1. **OS**: `process.platform` via a short shell command:
103
+ ```bash
104
+ node -e "console.log(process.platform)"
105
+ ```
106
+ - `win32` → Desktop workflows available.
107
+ - `darwin` / `linux` → Desktop workflows unavailable. Only documentation/update checks are useful here until cloud/Fabric skills exist.
108
+
109
+ 2. **Project context** (CWD-based):
110
+ - `./pbip-files/*.pbip` present? → `$hasPbip = true`.
111
+ - `./AGENTS.md` present? → `$hasAgentsMd = true`.
112
+
113
+ 3. **Power BI Desktop running** (Windows only):
114
+ ```bash
115
+ tasklist /FI "IMAGENAME eq PBIDesktop.exe" 2>&1 | findstr /I "PBIDesktop.exe"
116
+ ```
117
+ (or equivalent). `$pbiDesktopRunning = true` if present.
118
+
119
+ 4. **MCP configured**: look first for `powerbi-modeling-mcp` in the agent's user-level config file (`~/.claude.json`, `~/.codex/config.toml`, etc). Only check project-root `.mcp.json` when the user explicitly says they use a local Claude Code plugin. Keep the check shallow — no need to deep-diff.
120
+
121
+ ### Emit the context in 3-4 lines max
122
+
123
+ Example on Windows, full setup:
124
+
125
+ ```text
126
+ 📍 Windows · .pbip detectado en ./pbip-files/MyProj.pbip (con AGENTS.md)
127
+ PBI Desktop: corriendo · MCP: configurado
128
+ ```
129
+
130
+ Example on macOS:
131
+
132
+ ```text
133
+ 📍 macOS · sin .pbip en CWD
134
+ Power BI Desktop no corre en macOS — los specialist skills actuales requieren Windows + Desktop.
135
+ ```
136
+
137
+ Keep it 3-4 lines. The point is situational awareness, not a status page.
138
+
139
+ ---
140
+
141
+ ## PHASE 2: Skills menu (informativo)
142
+
143
+ **(Interno — el menú de abajo usa nombres técnicos para vos; al usuario presentale el resultado de negocio de cada opción, no el término. Si tenés que nombrar uno, glosalo: "modelo estrella = forma simple y rápida de organizar los datos", "VertiPaq = el motor que guarda tus datos", "BPA = chequeo automático de buenas prácticas", "calculation groups = una forma de reusar cálculos".)**
144
+
145
+ Remind the user that `/bi-start` is the session opener, then show the **8 BI specialist skills** as a table. Plain, no prompt. Do NOT number them or ask "which one?".
146
+
147
+ ```text
148
+ Ya estás en `/bi-start` (session opener). Los 8 specialist skills de BI disponibles son:
149
+
150
+ En claro (los términos técnicos de abajo, en castellano simple):
151
+ · star schema = forma simple y rápida de organizar los datos para medir el negocio
152
+ · VertiPaq = el motor que guarda y comprime tus datos por dentro
153
+ · BPA = chequeo automático de buenas prácticas del modelo
154
+ · calculation groups / grupos de cálculo = una forma de reusar un cálculo en muchas medidas
155
+
156
+ /bi-kickoff Arrancar un proyecto BI nuevo (crea AGENTS.md, plantea modelo) · Windows + PBI Desktop
157
+ /bi-refactor Refactorizar un PBIP/PBIX existente sin reconstruir el reporte · Windows + PBI Desktop
158
+ /bi-modeling Diseñar, auditar y mejorar modelos semánticos (star schema, DAX) · Windows + PBI Desktop
159
+ /bi-dax Escribir, debuguear y optimizar medidas DAX y grupos de cálculo · Windows + PBI Desktop
160
+ /bi-performance Profilar y optimizar performance (DAX timing, VertiPaq, BPA, refresh) · Windows + PBI Desktop
161
+ /bi-connect Conectar el agente a Power BI Desktop vía MCP · Windows
162
+ /bi-powerquery Crear queries M para appender datos reales al base-template · Windows + PBI Desktop
163
+ /bi-scorecard Crear scorecards, goals, check-ins y status rules en Power BI Service · Power BI Service + REST
164
+
165
+ Invocá el que necesites con /<nombre>, o decime en lenguaje natural lo que querés
166
+ hacer (ej: "conectar Power BI", "arranco proyecto nuevo", "refactorizar este PBIP", "auditar el modelo", "modelo lento", "optimizar medida DAX", "appender datos reales con Power Query", "crear objetivos en Scorecards") y te ruteo.
167
+ ```
168
+
169
+ If the user is on macOS/Linux and asks for a local Desktop workflow, remind them once: _"Los workflows locales sobre Power BI Desktop requieren Windows + Desktop. En Mac/Linux puedo ayudarte con documentación vía Microsoft Learn y con flujos Service/REST como `/bi-scorecard` si tenés autenticación disponible."_
170
+
171
+ ---
172
+
173
+ ## PHASE 3: Proactive connect (if applicable)
174
+
175
+ Skip this phase entirely if `$pbiDesktopRunning === false && $hasPbip === false`.
176
+
177
+ Three cases:
178
+
179
+ **Case A — PBI Desktop running + MCP configured**:
180
+ Don't ask, just confirm:
181
+ > _"✓ Power BI Desktop está abierto y el MCP está conectado. Listo para cualquier skill que necesite el modelo."_
182
+
183
+ Continue to PHASE 4.
184
+
185
+ **Case B — PBI Desktop running + MCP NOT configured** (Windows only):
186
+ Offer once:
187
+ > _"Power BI Desktop está abierto pero todavía no conectaste el agente al MCP. ¿Corro `/bi-connect`? (`sí` / `no`)"_
188
+
189
+ - `sí` → dispatch `/bi-connect` cleanly. Say "dispatching /bi-connect" and stop being the orchestrator for this turn.
190
+ - `no` → continue to PHASE 4 silently.
191
+
192
+ **Case C — PBI Desktop NOT running + `.pbip` exists in CWD** (Windows only):
193
+ Offer once:
194
+ > _"No veo Power BI Desktop abierto. Para conectar el agente al modelo necesitás abrir el .pbip. ¿Lo abro yo y corro `/bi-connect`? (`sí` / `no`)"_
195
+
196
+ - `sí`:
197
+ 1. Launch Desktop with the project's .pbip using the standalone install path:
198
+ ```bash
199
+ powershell -Command "Start-Process -FilePath 'C:\Program Files\Microsoft Power BI Desktop\bin\PBIDesktop.exe' -ArgumentList '\"<absolute-path-to.pbip>\"'"
200
+ ```
201
+ 2. Wait ~15-20 seconds for Desktop to finish loading.
202
+ 3. Dispatch `/bi-connect`.
203
+
204
+ - `no` → continue to PHASE 4.
205
+
206
+ On macOS/Linux, skip Case B and Case C — mention once:
207
+ > _"PBI Desktop no corre fuera de Windows. Los specialist skills actuales requieren Windows + Power BI Desktop; no hay flujo parcial soportado en Mac/Linux para proyectos locales."_
208
+
209
+ ---
210
+
211
+ ## PHASE 4: Stand by
212
+
213
+ If you got here without dispatching, close with:
214
+
215
+ > _"Listo — invocá el specialist skill que necesites, o pedime ayuda específica sobre cualquiera de esos 8. Si abrís una sesión nueva mañana, `/bi-start` te orienta de nuevo."_
216
+
217
+ Stop. Don't hover. The user will tell you what they want next.
218
+
219
+ ---
220
+
221
+ ## Internal operator appendix (agent-only — no es copia para el usuario)
222
+
223
+ > Todo lo que sigue es mecánica para vos, el agente. Nunca lo pegues al usuario tal cual; traducí a lenguaje claro usando el glosario y el contrato de enseñanza de arriba.
224
+
225
+ ## MANDATORY RULES
226
+
227
+ 1. **ONE QUESTION AT A TIME.** Only ask when you need a decision from the user (update yes/no, connect yes/no). Never stack multiple questions.
228
+ 2. **INFORMATIVE MENU — DON'T FORCE A CHOICE.** You are already inside `/bi-start`. Show the **8 BI specialist skills** as a table with 1-line descriptions. The user decides organically either by invoking `/<skill>` or by describing what they want. Do NOT say "pick 1 or 2" — that's quiz-style and annoying for returning users.
229
+ 3. **PROACTIVE ON UPDATE + CONNECT.** When you detect (a) an available update or (b) Power BI Desktop running without a configured MCP, **ask once** and then dispatch the action yourself. Don't force the user to remember the exact command.
230
+ 4. **SAFE DEFAULTS ON SAY-NOTHING.** If the user greets you and then goes silent, show the menu and stop. Don't auto-dispatch anything without an explicit "sí" / "yes".
231
+ 5. **WINDOWS DESKTOP ONLY FOR LOCAL DESKTOP WORKFLOWS.** Skills that inspect or write local Power BI Desktop models require Windows + Desktop. `/bi-powerquery` can draft M scripts from source context, but applying them to a live PBIP model still needs Windows + Desktop/MCP. `/bi-scorecard` is Power BI Service/REST-first and can guide scorecard work when Service auth is available, but any live local model inspection still needs Windows + Desktop.
232
+ 6. **DELEGATE CLEANLY.** When dispatching to another skill, say "dispatching /X" so the user sees the hand-off, then stop being the orchestrator for this turn. If they come back with "estoy en X, ahora qué", you can re-orient.
233
+ 7. **TEACHER POSTURE BY DEFAULT.** Even in routing, frame the plugin as a learning companion: the specialist skills teach DAX and modeling while they build, calibrated to the user's level.
234
+ 8. **BI SKILL-FIRST, NOT GLOBAL CEREMONY.** When the user describes a BI task in natural language, classify the user's BI intent against the eight specialist skills (`/bi-kickoff`, `/bi-refactor`, `/bi-modeling`, `/bi-dax`, `/bi-performance`, `/bi-connect`, `/bi-powerquery`, `/bi-scorecard`) and dispatch the most specific match before giving advice. For unrelated or simple non-BI questions, respond normally; `/bi-start` is a BI router, not a general-purpose skill framework.
235
+
236
+ 9. **PLUGIN-WIDE INVARIANTS TO SURFACE WHEN ROUTING:**
237
+ **(Interno — no repitas esta jerga al usuario; traducila a lenguaje de negocio antes de mostrar algo.)**
238
+ - **PBIP files are read-only.** Every specialist skill enforces this. 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 explicit source-to-target mapping. No safe report rebind command currently ships with this plugin, so agents never patch PBIR JSON by hand.
239
+ - **REPORT TOPOLOGY LOCK.** Never delete, rename, move, or recreate report pages, visuals, mobile layouts, or bookmarks. Never create replacement visuals/pages to "fix" broken bindings. Do not rebuild a "minimal functional report". A/D/R under any `.Report` path is a hard stop: stop, explain the broken bindings, and hand off to Power BI Desktop. This plugin ships no report-authoring workflow that may perform A/D/R.
240
+ - **Template is the reference.** All specialist skills replicate the BISuperpowers base-template's current patterns (Auto Date/Time off, marked Date Table, `Métricas` table with `Métricas[Equipo]`, `Equipos métricas` + `_Aux Métrica-Equipo` for multi-team metric filtering, `_PC Dimensión` filtered by `_Aux Compatibilidad métrica-dimensión`, Sallieri period comparison through `_Aux Comparaciones` + `_GC Tipo cálculo`, parameterizable currency through `MonedaBase`, `_Aux Modelo configuración`, and `Tipo de cambio`, calculation groups, IBCS theme, Power Query demo tables grouped under `Sample Dataset\Dimensiones` / `Sample Dataset\Hechos`, and the `Data = "Demo"` append contract) by default — in new projects and existing ones. `/bi-powerquery` creates user-side `Data = "Real"` staging queries; `/bi-scorecard` uses `base-template` as a metrics-catalog reference, not as a targets-modeling engine.
241
+ If a user asks you (the orchestrator) to "just edit the .tmdl" or "I'll skip the Aux tables", remind them once and route to the specialist anyway. The specialists won't comply, and that's by design.
242
+
243
+ ## What this skill does NOT do
244
+
245
+ **(Interno — no repitas esta jerga al usuario; traducila a lenguaje de negocio antes de mostrar algo.)**
246
+
247
+ - **Project analysis or setup**: that's `/bi-kickoff`. If the user says "analizar mi proyecto", "armar el modelo base", "arrancar uno nuevo desde cero", delegate.
248
+ - **Semantic model design and audits**: that's `/bi-modeling`. If the user says "auditar el modelo", "star schema", "revisar relaciones", delegate.
249
+ - **Advanced DAX, debugging, calculation groups**: that's `/bi-dax`. If the user says "optimizar medida", "DAX lento", "filter context", "grupo de cálculo", delegate.
250
+ - **Performance profiling and Best Practice Analyzer audit**: that's `/bi-performance`. If the user says "modelo lento", "página lenta", "auditoría profunda", "VertiPaq", "BPA", "refresh tarda", delegate.
251
+ - **MCP wiring details**: that's `/bi-connect`. bi-start just offers to dispatch it; the actual configuration work is in that skill.
252
+ - **Power Query real-data staging**: that's `/bi-powerquery`. If the user says "Power Query", "M query", "M script", "append real data", "Data Demo/Real", packaged Andina Nexus `*_Real` targets such as "Ventas_Real", "Servicios_Real", "Proyectos_Real", "Movimientos financieros_Real", "Nómina_Real", or "conectar datos reales al template", delegate.
253
+ - **Power BI Service scorecards/goals**: that's `/bi-scorecard`. If the user says "scorecard", "Power BI Goals", "Power BI Metrics", "objetivos", "targets", "metas", "check-ins", "status rules", "owner", or "cadencia", delegate.
254
+ - **Existing project refactor / migration / cleanup**: that's `/bi-refactor`. If the user says "PBIX existente", "refactorizar", "actualizar template", "reparar visuales", "modelo viejo", or "sin reconstruir el reporte", delegate.
255
+ - **Running the update**: bi-start offers + dispatches `super upgrade`; the actual refresh path after eso (`/plugin update bi-superpowers`, `super install --all --yes`, o `super recharge` only for local Claude Code plugins) is owned by `/bin/cli.js`.
256
+
257
+ ## Related Skills
258
+
259
+ - `/bi-kickoff` — when it's a brand-new project that needs `AGENTS.md` + model scaffolding.
260
+ - `/bi-modeling` — when the user needs to design, audit, or extend a semantic model.
261
+ - `/bi-dax` — when the user needs to write, debug, or optimize DAX measures or calculation groups.
262
+ - `/bi-performance` — when the user needs profiling, model size audit, BPA, or refresh diagnostics.
263
+ - `/bi-connect` — when you need the agent talking to PBI Desktop via MCP.
264
+ - `/bi-powerquery` — when the user needs real-data Power Query staging and Demo/Real appends into the base-template tables.
265
+ - `/bi-scorecard` — when the user needs Power BI Service scorecards, goals, check-ins, owners, cadence, or status rules.
266
+ - `/bi-refactor` — when the user needs an existing PBIP/PBIX cleaned up, migrated, repaired, or compared against `base-template` without rebuilding report topology.
267
+
268
+ ## Bundle contents
269
+
270
+ - `scripts/update-check.js` — the update-check helper invoked in PHASE 0. Same helper that every skill's preamble uses.
271
+
272
+ ---
273
+
274
+ _Session orchestrator — welcome, update, route._