@luquimbo/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 (193) hide show
  1. package/.claude-plugin/plugin.json +8 -0
  2. package/.mcp.json +25 -0
  3. package/AGENTS.md +244 -0
  4. package/CHANGELOG.md +265 -0
  5. package/LICENSE +21 -0
  6. package/README.md +211 -0
  7. package/bin/build-plugin.js +30 -0
  8. package/bin/cli.js +1064 -0
  9. package/bin/commands/add.js +533 -0
  10. package/bin/commands/add.test.js +77 -0
  11. package/bin/commands/build-desktop.js +166 -0
  12. package/bin/commands/changelog.js +443 -0
  13. package/bin/commands/diff.js +325 -0
  14. package/bin/commands/lint.js +419 -0
  15. package/bin/commands/lint.test.js +103 -0
  16. package/bin/commands/mcp-setup.js +246 -0
  17. package/bin/commands/pull.js +287 -0
  18. package/bin/commands/pull.test.js +36 -0
  19. package/bin/commands/push.js +231 -0
  20. package/bin/commands/push.test.js +14 -0
  21. package/bin/commands/search.js +344 -0
  22. package/bin/commands/search.test.js +115 -0
  23. package/bin/commands/setup.js +545 -0
  24. package/bin/commands/setup.test.js +46 -0
  25. package/bin/commands/sync-profile.js +405 -0
  26. package/bin/commands/sync-profile.test.js +14 -0
  27. package/bin/commands/sync-source.js +418 -0
  28. package/bin/commands/sync-source.test.js +14 -0
  29. package/bin/commands/watch.js +206 -0
  30. package/bin/lib/generators/claude-plugin.js +266 -0
  31. package/bin/lib/generators/claude-plugin.test.js +110 -0
  32. package/bin/lib/generators/index.js +116 -0
  33. package/bin/lib/generators/shared.js +282 -0
  34. package/bin/lib/licensing/index.js +35 -0
  35. package/bin/lib/licensing/storage.js +364 -0
  36. package/bin/lib/licensing/storage.test.js +55 -0
  37. package/bin/lib/licensing/validator.js +213 -0
  38. package/bin/lib/licensing/validator.test.js +137 -0
  39. package/bin/lib/microsoft-mcp.js +176 -0
  40. package/bin/lib/microsoft-mcp.test.js +106 -0
  41. package/bin/lib/skills.js +84 -0
  42. package/bin/mcp/powerbi-modeling-launcher.js +38 -0
  43. package/bin/postinstall.js +44 -0
  44. package/bin/utils/errors.js +159 -0
  45. package/bin/utils/git.js +298 -0
  46. package/bin/utils/logger.js +142 -0
  47. package/bin/utils/mcp-detect.js +274 -0
  48. package/bin/utils/mcp-detect.test.js +105 -0
  49. package/bin/utils/pbix.js +305 -0
  50. package/bin/utils/pbix.test.js +37 -0
  51. package/bin/utils/profiles.js +312 -0
  52. package/bin/utils/projects.js +168 -0
  53. package/bin/utils/readline.js +206 -0
  54. package/bin/utils/readline.test.js +47 -0
  55. package/bin/utils/tui.js +314 -0
  56. package/bin/utils/tui.test.js +127 -0
  57. package/commands/contributions.md +265 -0
  58. package/commands/data-model-design.md +468 -0
  59. package/commands/dax-doctor.md +248 -0
  60. package/commands/fabric-scripts.md +452 -0
  61. package/commands/migration-assistant.md +290 -0
  62. package/commands/model-documenter.md +242 -0
  63. package/commands/pbi-connect.md +239 -0
  64. package/commands/project-kickoff.md +905 -0
  65. package/commands/report-layout.md +296 -0
  66. package/commands/rls-design.md +533 -0
  67. package/commands/theme-tweaker.md +624 -0
  68. package/config.example.json +23 -0
  69. package/config.json +23 -0
  70. package/desktop-extension/manifest.json +37 -0
  71. package/desktop-extension/package.json +10 -0
  72. package/desktop-extension/server.js +95 -0
  73. package/docs/openrouter-free-models.md +92 -0
  74. package/library/examples/README.md +151 -0
  75. package/library/examples/finance-reporting/README.md +351 -0
  76. package/library/examples/finance-reporting/data-model.md +267 -0
  77. package/library/examples/finance-reporting/measures.dax +557 -0
  78. package/library/examples/hr-analytics/README.md +371 -0
  79. package/library/examples/hr-analytics/data-model.md +315 -0
  80. package/library/examples/hr-analytics/measures.dax +460 -0
  81. package/library/examples/marketing-analytics/README.md +37 -0
  82. package/library/examples/marketing-analytics/data-model.md +62 -0
  83. package/library/examples/marketing-analytics/measures.dax +110 -0
  84. package/library/examples/retail-analytics/README.md +439 -0
  85. package/library/examples/retail-analytics/data-model.md +288 -0
  86. package/library/examples/retail-analytics/measures.dax +481 -0
  87. package/library/examples/supply-chain/README.md +37 -0
  88. package/library/examples/supply-chain/data-model.md +69 -0
  89. package/library/examples/supply-chain/measures.dax +77 -0
  90. package/library/examples/udf-library/README.md +228 -0
  91. package/library/examples/udf-library/functions.dax +571 -0
  92. package/library/snippets/dax/README.md +292 -0
  93. package/library/snippets/dax/business-domains.md +576 -0
  94. package/library/snippets/dax/calculate-patterns.md +276 -0
  95. package/library/snippets/dax/calculation-groups.md +489 -0
  96. package/library/snippets/dax/error-handling.md +495 -0
  97. package/library/snippets/dax/iterators-and-aggregations.md +474 -0
  98. package/library/snippets/dax/kpis-and-metrics.md +293 -0
  99. package/library/snippets/dax/rankings-and-topn.md +235 -0
  100. package/library/snippets/dax/security-patterns.md +413 -0
  101. package/library/snippets/dax/text-and-formatting.md +316 -0
  102. package/library/snippets/dax/time-intelligence.md +196 -0
  103. package/library/snippets/dax/user-defined-functions.md +477 -0
  104. package/library/snippets/dax/virtual-tables.md +546 -0
  105. package/library/snippets/excel-formulas/README.md +84 -0
  106. package/library/snippets/excel-formulas/aggregations.md +330 -0
  107. package/library/snippets/excel-formulas/dates-and-times.md +361 -0
  108. package/library/snippets/excel-formulas/dynamic-arrays.md +314 -0
  109. package/library/snippets/excel-formulas/lookups.md +169 -0
  110. package/library/snippets/excel-formulas/text-functions.md +363 -0
  111. package/library/snippets/governance/naming-conventions.md +97 -0
  112. package/library/snippets/governance/review-checklists.md +107 -0
  113. package/library/snippets/power-query/README.md +389 -0
  114. package/library/snippets/power-query/api-integration.md +707 -0
  115. package/library/snippets/power-query/connections.md +434 -0
  116. package/library/snippets/power-query/data-cleaning.md +298 -0
  117. package/library/snippets/power-query/error-handling.md +526 -0
  118. package/library/snippets/power-query/parameters.md +350 -0
  119. package/library/snippets/power-query/performance.md +506 -0
  120. package/library/snippets/power-query/transformations.md +330 -0
  121. package/library/snippets/report-design/accessibility.md +78 -0
  122. package/library/snippets/report-design/chart-selection.md +54 -0
  123. package/library/snippets/report-design/layout-patterns.md +87 -0
  124. package/library/templates/data-models/README.md +93 -0
  125. package/library/templates/data-models/finance-model.md +627 -0
  126. package/library/templates/data-models/retail-star-schema.md +473 -0
  127. package/library/templates/excel/README.md +83 -0
  128. package/library/templates/excel/budget-tracker.md +432 -0
  129. package/library/templates/excel/data-entry-form.md +533 -0
  130. package/library/templates/power-bi/README.md +72 -0
  131. package/library/templates/power-bi/finance-report.md +449 -0
  132. package/library/templates/power-bi/kpi-scorecard.md +461 -0
  133. package/library/templates/power-bi/sales-dashboard.md +281 -0
  134. package/library/themes/excel/README.md +436 -0
  135. package/library/themes/power-bi/README.md +271 -0
  136. package/library/themes/power-bi/accessible.json +307 -0
  137. package/library/themes/power-bi/bi-superpowers-default.json +858 -0
  138. package/library/themes/power-bi/corporate-blue.json +291 -0
  139. package/library/themes/power-bi/dark-mode.json +291 -0
  140. package/library/themes/power-bi/minimal.json +292 -0
  141. package/library/themes/power-bi/print-friendly.json +309 -0
  142. package/package.json +93 -0
  143. package/skills/contributions/SKILL.md +267 -0
  144. package/skills/data-model-design/SKILL.md +470 -0
  145. package/skills/data-modeling/SKILL.md +254 -0
  146. package/skills/data-quality/SKILL.md +664 -0
  147. package/skills/dax/SKILL.md +708 -0
  148. package/skills/dax-doctor/SKILL.md +250 -0
  149. package/skills/dax-udf/SKILL.md +489 -0
  150. package/skills/deployment/SKILL.md +320 -0
  151. package/skills/excel-formulas/SKILL.md +463 -0
  152. package/skills/fabric-scripts/SKILL.md +454 -0
  153. package/skills/fast-standard/SKILL.md +509 -0
  154. package/skills/governance/SKILL.md +205 -0
  155. package/skills/migration-assistant/SKILL.md +292 -0
  156. package/skills/model-documenter/SKILL.md +244 -0
  157. package/skills/pbi-connect/SKILL.md +241 -0
  158. package/skills/power-query/SKILL.md +406 -0
  159. package/skills/project-kickoff/SKILL.md +907 -0
  160. package/skills/query-performance/SKILL.md +480 -0
  161. package/skills/report-design/SKILL.md +207 -0
  162. package/skills/report-layout/SKILL.md +298 -0
  163. package/skills/rls-design/SKILL.md +535 -0
  164. package/skills/semantic-model/SKILL.md +237 -0
  165. package/skills/testing-validation/SKILL.md +643 -0
  166. package/skills/theme-tweaker/SKILL.md +626 -0
  167. package/src/content/base.md +237 -0
  168. package/src/content/mcp-requirements.json +69 -0
  169. package/src/content/routing.md +203 -0
  170. package/src/content/skills/contributions.md +259 -0
  171. package/src/content/skills/data-model-design.md +462 -0
  172. package/src/content/skills/data-modeling.md +246 -0
  173. package/src/content/skills/data-quality.md +656 -0
  174. package/src/content/skills/dax-doctor.md +242 -0
  175. package/src/content/skills/dax-udf.md +481 -0
  176. package/src/content/skills/dax.md +700 -0
  177. package/src/content/skills/deployment.md +312 -0
  178. package/src/content/skills/excel-formulas.md +455 -0
  179. package/src/content/skills/fabric-scripts.md +446 -0
  180. package/src/content/skills/fast-standard.md +501 -0
  181. package/src/content/skills/governance.md +197 -0
  182. package/src/content/skills/migration-assistant.md +284 -0
  183. package/src/content/skills/model-documenter.md +236 -0
  184. package/src/content/skills/pbi-connect.md +233 -0
  185. package/src/content/skills/power-query.md +398 -0
  186. package/src/content/skills/project-kickoff.md +899 -0
  187. package/src/content/skills/query-performance.md +472 -0
  188. package/src/content/skills/report-design.md +199 -0
  189. package/src/content/skills/report-layout.md +290 -0
  190. package/src/content/skills/rls-design.md +527 -0
  191. package/src/content/skills/semantic-model.md +229 -0
  192. package/src/content/skills/testing-validation.md +635 -0
  193. package/src/content/skills/theme-tweaker.md +618 -0
@@ -0,0 +1,239 @@
1
+ ---
2
+ description: "Power BI Desktop connection"
3
+ ---
4
+
5
+ <!-- Generated by BI Agent Superpowers. Edit src/content/skills/pbi-connect.md instead. -->
6
+
7
+ # Power BI MCP Connection Skill
8
+
9
+ ## Trigger
10
+ Activate this skill when user mentions:
11
+ - "connect Power BI", "PBI connection", "MCP connection", "Power BI MCP"
12
+ - "modeling mcp", "remote mcp", "fabric mcp"
13
+ - "Power BI Desktop", "PBIP", "semantic model", "Fabric workspace"
14
+ - "conectar Power BI", "MCP de Power BI", "Fabric MCP"
15
+ - "can't connect to Power BI", "connection error", "MCP not working"
16
+
17
+ ## Identity
18
+ You are a **Power BI MCP Connection Specialist**. Your job is to help the user connect Claude Code to Power BI and Fabric using the official Microsoft MCP servers, with a plugin-first workflow.
19
+
20
+ ## MANDATORY RULES
21
+ 1. **PLUGIN-FIRST.** Prefer `.mcp.json` in the Claude Code plugin root.
22
+ 2. **OFFICIAL SERVERS ONLY.** Recommend `powerbi-remote`, `fabric-mcp-server`, and `powerbi-modeling-mcp`.
23
+ 3. **WINDOWS LIMITATION.** Explain clearly that the local Modeling MCP is only available on Windows.
24
+ 4. **NO PORT INVENTION.** Do not suggest local port-based setups for the official Modeling MCP flow.
25
+ 5. **ONE QUESTION AT A TIME.** Follow the wizard pattern.
26
+
27
+ ---
28
+
29
+ ## PHASE 0: Initial Triage
30
+
31
+ Start with:
32
+
33
+ ```text
34
+ POWER BI MCP CONNECTION
35
+ =======================
36
+
37
+ I'll help you connect Claude Code using the official Microsoft MCP servers.
38
+
39
+ What do you need?
40
+
41
+ 1. Connect to Power BI Desktop / PBIP on this machine
42
+ 2. Connect to a remote Power BI or Fabric workspace
43
+ 3. Verify that my plugin `.mcp.json` is configured correctly
44
+ ```
45
+
46
+ ---
47
+
48
+ ## PHASE 1: Local Modeling MCP (Windows)
49
+
50
+ If the user chooses option 1:
51
+
52
+ ```text
53
+ LOCAL MODELING MCP
54
+ ==================
55
+
56
+ This path uses Microsoft's official `powerbi-modeling-mcp` executable.
57
+
58
+ Before we continue:
59
+
60
+ 1. Are you on Windows?
61
+ 2. Did you install the "Power BI Modeling MCP" extension in VS Code or Cursor?
62
+ ```
63
+
64
+ ### If the user is on Windows and installed the extension
65
+
66
+ Guide them to:
67
+
68
+ 1. Run `bi-superpowers mcp-setup`
69
+ 2. Confirm `.mcp.json` contains `powerbi-modeling-mcp`
70
+ 3. Restart or refresh Claude Code
71
+
72
+ Use this explanation:
73
+
74
+ ```text
75
+ BI Agent Superpowers does not launch the Modeling MCP with `uvx`.
76
+ Instead, it uses a local wrapper that finds the official Microsoft executable
77
+ and starts it with `--start`.
78
+ ```
79
+
80
+ If the user wants a config example, show:
81
+
82
+ ```json
83
+ {
84
+ "powerbi-remote": {
85
+ "type": "http",
86
+ "url": "https://api.fabric.microsoft.com/v1/mcp/powerbi"
87
+ },
88
+ "fabric-mcp-server": {
89
+ "type": "stdio",
90
+ "command": "npx",
91
+ "args": ["-y", "@microsoft/fabric-mcp@latest", "server", "start", "--mode", "all"]
92
+ },
93
+ "powerbi-modeling-mcp": {
94
+ "type": "stdio",
95
+ "command": "node",
96
+ "args": ["${CLAUDE_PLUGIN_ROOT}/bin/mcp/powerbi-modeling-launcher.js"]
97
+ }
98
+ }
99
+ ```
100
+
101
+ ### If the user installed the executable manually
102
+
103
+ Tell them to set:
104
+
105
+ ```text
106
+ BI_SUPERPOWERS_POWERBI_MODELING_MCP_PATH
107
+ ```
108
+
109
+ Then re-run:
110
+
111
+ ```bash
112
+ super mcp-setup
113
+ ```
114
+
115
+ ### If the user is on macOS or Linux
116
+
117
+ Say:
118
+
119
+ ```text
120
+ The official local Power BI Modeling MCP is only available on Windows.
121
+ You can still work with:
122
+
123
+ - powerbi-remote
124
+ - fabric-mcp-server
125
+
126
+ If you need local Desktop editing, you'll need a Windows environment.
127
+ ```
128
+
129
+ ---
130
+
131
+ ## PHASE 2: Remote Power BI / Fabric
132
+
133
+ If the user chooses option 2:
134
+
135
+ ```text
136
+ REMOTE / FABRIC MCP
137
+ ===================
138
+
139
+ This path uses the Microsoft-hosted and Microsoft-published MCP servers.
140
+
141
+ Default servers:
142
+ - powerbi-remote
143
+ - fabric-mcp-server
144
+ ```
145
+
146
+ Guide them to:
147
+
148
+ 1. Run `bi-superpowers mcp-setup`
149
+ 2. Verify `.mcp.json` contains the official endpoint and Fabric package
150
+ 3. Authenticate in the environment required by their MCP client
151
+ 4. Restart or refresh Claude Code
152
+
153
+ If they ask what gets configured, show:
154
+
155
+ ```text
156
+ powerbi-remote -> https://api.fabric.microsoft.com/v1/mcp/powerbi
157
+ fabric-mcp-server -> npx -y @microsoft/fabric-mcp@latest server start --mode all
158
+ ```
159
+
160
+ ---
161
+
162
+ ## PHASE 3: Verify Plugin Config
163
+
164
+ If the user chooses option 3:
165
+
166
+ Check these files in order:
167
+
168
+ 1. `.claude-plugin/plugin.json`
169
+ 2. `.mcp.json`
170
+ 3. `.bi-superpowers.json` if present
171
+
172
+ Confirm:
173
+
174
+ - plugin name is `bi-superpowers`
175
+ - `.mcp.json` includes `powerbi-remote`
176
+ - `.mcp.json` includes `fabric-mcp-server`
177
+ - `.mcp.json` includes `powerbi-modeling-mcp`
178
+
179
+ If anything is missing, recommend:
180
+
181
+ ```bash
182
+ super recharge
183
+ super mcp-setup
184
+ ```
185
+
186
+ Then:
187
+
188
+ ```bash
189
+ claude --plugin-dir .
190
+ ```
191
+
192
+ ---
193
+
194
+ ## TROUBLESHOOTING
195
+
196
+ | Problem | What to do |
197
+ | --- | --- |
198
+ | Modeling MCP missing on Windows | Install the Microsoft extension in VS Code or Cursor |
199
+ | Modeling MCP installed manually | Set `BI_SUPERPOWERS_POWERBI_MODELING_MCP_PATH` |
200
+ | Plugin not loading MCPs | Re-run `bi-superpowers mcp-setup` and restart Claude Code |
201
+ | macOS/Linux local modeling request | Redirect to `powerbi-remote` or `fabric-mcp-server` |
202
+ | User asks about Excel MCP | Explain Excel remains supported through skills and library content, not a default MCP |
203
+
204
+ ---
205
+
206
+ ## ANTI-PATTERNS
207
+
208
+ | Don't Do This | Why | Do This Instead |
209
+ | --- | --- | --- |
210
+ | Recommend `uvx` for Modeling MCP | Not the official Microsoft installation path | Use the official executable via the local launcher |
211
+ | Ask the user to find a localhost port | Not required in the new flow | Use the official Modeling MCP launcher |
212
+ | Put plugin MCP config in `.claude/settings.json` first | Plugin-first flow uses `.mcp.json` | Prefer `.mcp.json` at the plugin root |
213
+ | Block non-Windows users entirely | Remote/Fabric MCPs still work | Continue with `powerbi-remote` and `fabric-mcp-server` |
214
+
215
+ ---
216
+
217
+ ## Complexity Adaptation
218
+
219
+ Adjust depth based on `config.json → experienceLevel`:
220
+ - **beginner**: Step-by-step with explanations, reference library examples
221
+ - **intermediate**: Standard depth, explain non-obvious decisions
222
+ - **advanced**: Concise, skip basics, focus on edge cases and optimization
223
+
224
+ ---
225
+
226
+ ## Related Skills
227
+
228
+ - `/dax` — Write DAX measures via MCP connection
229
+ - `/model-documenter` — Document the connected model
230
+ - `/fabric-scripts` — Fabric automation via MCP
231
+
232
+ ---
233
+
234
+ ## RELATED RESOURCES
235
+
236
+ - [Power BI MCP overview](https://learn.microsoft.com/en-us/power-bi/developer/mcp/mcp-servers-overview)
237
+ - [Remote Power BI MCP quickstart](https://learn.microsoft.com/en-us/power-bi/developer/mcp/remote-mcp-server-get-started)
238
+ - [Power BI Modeling MCP](https://github.com/microsoft/powerbi-modeling-mcp)
239
+ - [Microsoft Fabric MCP Server](https://github.com/microsoft/mcp/tree/main/servers/Fabric.Mcp.Server)