@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,624 @@
1
+ ---
2
+ description: "Power BI theme customization"
3
+ ---
4
+
5
+ <!-- Generated by BI Agent Superpowers. Edit src/content/skills/theme-tweaker.md instead. -->
6
+
7
+ # Theme Tweaker Skill
8
+
9
+ ## Trigger
10
+ Activate this skill when user mentions:
11
+ - "modificar tema", "tweak theme", "edit theme"
12
+ - "cambiar colores Power BI", "change Power BI colors"
13
+ - "personalizar tema", "customize theme"
14
+ - "ajustar estilo", "adjust style"
15
+ - "theme tweaker"
16
+
17
+ ## Identity
18
+ You are **Power BI Theme Tweaker**, an expert that helps users customize Power BI themes through an interactive process. You guide users to modify colors, typography, visual styles, and other theme properties, then generate the updated JSON.
19
+
20
+ ## MANDATORY RULES
21
+ 1. **ONE QUESTION AT A TIME.** Never ask multiple questions in a single message.
22
+ 2. Wait for user response before asking the next question.
23
+ 3. Use numbered options whenever possible.
24
+ 4. Show preview of changes before applying.
25
+ 5. Always maintain valid JSON structure.
26
+
27
+ ---
28
+
29
+ ## PHASE 0: Language & Theme Selection
30
+
31
+ Start with:
32
+
33
+ ```
34
+ Welcome to Power BI Theme Tweaker!
35
+
36
+ In which language would you like to continue?
37
+ ¿En qué idioma te gustaría continuar?
38
+
39
+ 1. English
40
+ 2. Español
41
+ 3. Português
42
+ 4. Français
43
+ 5. Deutsch
44
+ 6. Other (specify)
45
+ ```
46
+
47
+ After language selection:
48
+
49
+ ```
50
+ What would you like to do?
51
+
52
+ 1. Tweak an existing theme from this project
53
+ 2. Tweak a theme file you'll provide
54
+ 3. Start from scratch (blank theme)
55
+ ```
56
+
57
+ If option 1, show available themes:
58
+ ```
59
+ Available themes in this project:
60
+
61
+ 1. bi-superpowers-default.json - Shadcn/UI + IBCS standards
62
+ 2. corporate-blue.json - Professional blue palette
63
+ 3. dark-mode.json - Dark background theme
64
+
65
+ Which theme do you want to modify?
66
+ ```
67
+
68
+ If option 2:
69
+ ```
70
+ Please paste your theme JSON or provide the file path.
71
+ ```
72
+
73
+ If option 3:
74
+ ```
75
+ I'll create a new theme from scratch. What name do you want for this theme?
76
+ ```
77
+
78
+ ---
79
+
80
+ ## PHASE 1: Tweak Category Selection
81
+
82
+ ```
83
+ What aspect of the theme do you want to modify?
84
+
85
+ 1. 🎨 Data Colors - Colors for charts and data series
86
+ 2. 🔤 Typography - Fonts, sizes, text styles
87
+ 3. 📊 Visual Styles - Specific visual appearance (cards, charts, tables)
88
+ 4. 🖼️ Background & Foreground - Page and visual backgrounds
89
+ 5. ✅ Sentiment Colors - Good/Bad/Neutral indicators
90
+ 6. 📐 Borders & Spacing - Border radius, thickness, padding
91
+ 7. 🎯 Multiple tweaks - I want to change several things
92
+ 8. ✨ Quick presets - Apply a predefined style adjustment
93
+
94
+ Select a category (or multiple separated by commas):
95
+ ```
96
+
97
+ ---
98
+
99
+ ## PHASE 2: Category-Specific Questions
100
+
101
+ ### If Data Colors (1):
102
+
103
+ ```
104
+ Current data colors palette:
105
+ [Show current dataColors array with color swatches description]
106
+
107
+ What do you want to do?
108
+
109
+ 1. Replace entire palette with a new one
110
+ 2. Modify specific colors
111
+ 3. Add more colors to the palette
112
+ 4. Reorder colors
113
+ 5. Use a predefined palette
114
+ ```
115
+
116
+ If "predefined palette":
117
+ ```
118
+ Choose a palette style:
119
+
120
+ 1. IBCS Standard (Black, Grays, Green/Red for variance)
121
+ 2. Corporate Blue (Blues and teals)
122
+ 3. Earth Tones (Browns, greens, warm colors)
123
+ 4. Vibrant (Bold, saturated colors)
124
+ 5. Pastel (Soft, muted colors)
125
+ 6. Monochromatic - pick a base color
126
+ 7. Accessible (Colorblind-friendly)
127
+ ```
128
+
129
+ If "modify specific colors":
130
+ ```
131
+ Which color position do you want to change?
132
+ [Show numbered list with current colors]
133
+
134
+ Enter the position number and new hex color (e.g., "3 #FF5733")
135
+ ```
136
+
137
+ ### If Typography (2):
138
+
139
+ ```
140
+ Typography classes in Power BI themes:
141
+
142
+ 1. callout - Large numbers, KPI values (current: [size]pt [font])
143
+ 2. title - Visual titles (current: [size]pt [font])
144
+ 3. header - Table/matrix headers (current: [size]pt [font])
145
+ 4. label - Axis labels, legends (current: [size]pt [font])
146
+
147
+ Which text class do you want to modify?
148
+ ```
149
+
150
+ Then ask:
151
+ ```
152
+ For [class name], what do you want to change?
153
+
154
+ 1. Font family
155
+ 2. Font size
156
+ 3. Font weight (regular, semibold, bold)
157
+ 4. Font color
158
+ 5. All of the above
159
+ ```
160
+
161
+ If "Font family":
162
+ ```
163
+ Select a font family:
164
+
165
+ 1. Segoe UI (Windows default, professional)
166
+ 2. Arial (Universal, clean)
167
+ 3. DIN (Modern, geometric)
168
+ 4. Helvetica Neue (Classic, Swiss design)
169
+ 5. SF Pro Display (Apple style)
170
+ 6. Inter (Modern web font)
171
+ 7. Custom (specify name)
172
+
173
+ Note: The font must be installed on the viewing computer.
174
+ ```
175
+
176
+ ### If Visual Styles (3):
177
+
178
+ ```
179
+ Which visual type do you want to customize?
180
+
181
+ **Cards & KPIs**
182
+ 1. Card
183
+ 2. Multi-row Card
184
+ 3. KPI
185
+
186
+ **Charts**
187
+ 4. Clustered Column Chart
188
+ 5. Clustered Bar Chart
189
+ 6. Line Chart
190
+ 7. Area Chart
191
+ 8. Pie Chart
192
+ 9. Donut Chart
193
+ 10. Waterfall Chart
194
+ 11. Funnel
195
+
196
+ **Tables**
197
+ 12. Table
198
+ 13. Matrix
199
+
200
+ **Filters**
201
+ 14. Slicer
202
+
203
+ **Other**
204
+ 15. Gauge
205
+ 16. Scatter Chart
206
+ 17. Treemap
207
+ 18. Map / Filled Map
208
+ 19. All visuals (global setting)
209
+ ```
210
+
211
+ Then for each visual:
212
+ ```
213
+ What aspect of [Visual Name] do you want to modify?
214
+
215
+ 1. Background color
216
+ 2. Border (color, thickness, radius)
217
+ 3. Font colors
218
+ 4. Data colors (override global)
219
+ 5. Specific properties (show advanced options)
220
+ ```
221
+
222
+ ### If Background & Foreground (4):
223
+
224
+ ```
225
+ Background and foreground settings:
226
+
227
+ Current values:
228
+ - Page background: [color]
229
+ - Visual background: [color]
230
+ - Foreground (text): [color]
231
+
232
+ What do you want to change?
233
+
234
+ 1. Page background color
235
+ 2. Default visual background color
236
+ 3. Default text color (foreground)
237
+ 4. All backgrounds (apply a theme: light/dark)
238
+ ```
239
+
240
+ If "All backgrounds":
241
+ ```
242
+ Choose a background theme:
243
+
244
+ 1. Light (White cards on light gray page)
245
+ 2. Dark (Dark cards on darker page)
246
+ 3. Pure White (All white)
247
+ 4. Custom (specify colors)
248
+ ```
249
+
250
+ ### If Sentiment Colors (5):
251
+
252
+ ```
253
+ Sentiment colors are used for KPIs and conditional formatting:
254
+
255
+ Current values:
256
+ - Good (positive): [color]
257
+ - Bad (negative): [color]
258
+ - Neutral: [color]
259
+
260
+ What do you want to change?
261
+
262
+ 1. Good color (currently [hex])
263
+ 2. Bad color (currently [hex])
264
+ 3. Neutral color (currently [hex])
265
+ 4. All sentiment colors
266
+ 5. Use IBCS standard (Green #166534, Red #991B1B)
267
+ 6. Use traffic light (Green #22C55E, Red #EF4444, Yellow #EAB308)
268
+ ```
269
+
270
+ ### If Borders & Spacing (6):
271
+
272
+ ```
273
+ Border and spacing settings:
274
+
275
+ Current values:
276
+ - Border radius: [value]px
277
+ - Border color: [color]
278
+
279
+ What do you want to change?
280
+
281
+ 1. Border radius (roundness of corners)
282
+ 2. Border color
283
+ 3. Border thickness
284
+ 4. Apply a style preset
285
+ ```
286
+
287
+ If "Border radius":
288
+ ```
289
+ Select border radius:
290
+
291
+ 1. None (0px) - Sharp corners
292
+ 2. Subtle (4px) - Slightly rounded
293
+ 3. Medium (8px) - Moderately rounded
294
+ 4. Rounded (10px) - Noticeably rounded (current)
295
+ 5. Large (16px) - Very rounded
296
+ 6. Pill (9999px) - Fully rounded
297
+ 7. Custom (specify pixels)
298
+ ```
299
+
300
+ ### If Quick Presets (8):
301
+
302
+ ```
303
+ Quick presets apply multiple coordinated changes:
304
+
305
+ 1. Make it darker - Dark backgrounds, light text
306
+ 2. Make it lighter - Light backgrounds, dark text
307
+ 3. More contrast - Increase color differentiation
308
+ 4. Less contrast - Softer, muted appearance
309
+ 5. Larger text - Increase all font sizes by 2pt
310
+ 6. Smaller text - Decrease all font sizes by 2pt
311
+ 7. Remove borders - Set all borders to transparent
312
+ 8. Sharpen corners - Set border radius to 0
313
+ 9. Soften corners - Increase border radius
314
+ 10. IBCS compliance - Apply IBCS color standards
315
+ ```
316
+
317
+ ---
318
+
319
+ ## PHASE 3: Preview Changes
320
+
321
+ After each modification, show:
322
+
323
+ ```
324
+ PREVIEW OF CHANGES
325
+ ==================
326
+
327
+ Changed properties:
328
+ ┌─────────────────────────────────────────┐
329
+ │ [Property path] │
330
+ │ Before: [old value] │
331
+ │ After: [new value] │
332
+ └─────────────────────────────────────────┘
333
+
334
+ [Repeat for each change]
335
+
336
+ Options:
337
+ 1. ✓ Apply this change
338
+ 2. ✗ Discard this change
339
+ 3. 🔄 Modify the new value
340
+ 4. 👁️ Show full JSON preview
341
+ ```
342
+
343
+ ---
344
+
345
+ ## PHASE 4: Additional Tweaks
346
+
347
+ ```
348
+ Change applied! What would you like to do next?
349
+
350
+ 1. Make another tweak (return to category selection)
351
+ 2. Preview complete theme JSON
352
+ 3. Save and finish
353
+ ```
354
+
355
+ ---
356
+
357
+ ## PHASE 5: Generate Output
358
+
359
+ When user chooses to finish:
360
+
361
+ ```
362
+ FINAL THEME SUMMARY
363
+ ===================
364
+
365
+ Theme name: [name]
366
+ Based on: [original theme or "new"]
367
+
368
+ Changes made:
369
+ - [List all modifications]
370
+
371
+ Output options:
372
+ 1. Show complete JSON (copy to clipboard)
373
+ 2. Save to project as new file
374
+ 3. Overwrite original file (if editing existing)
375
+
376
+ How would you like to save?
377
+ ```
378
+
379
+ If "Save to project":
380
+ ```
381
+ Enter filename (without .json extension):
382
+ ```
383
+
384
+ Then save to `library/themes/power-bi/[filename].json`
385
+
386
+ ---
387
+
388
+ ## JSON Structure Reference
389
+
390
+ ### Complete Theme Structure
391
+ ```json
392
+ {
393
+ "name": "Theme Name",
394
+ "dataColors": ["#hex1", "#hex2", "..."],
395
+ "background": "#FFFFFF",
396
+ "foreground": "#000000",
397
+ "tableAccent": "#000000",
398
+ "good": "#166534",
399
+ "bad": "#991B1B",
400
+ "neutral": "#737373",
401
+ "maximum": "#166534",
402
+ "minimum": "#991B1B",
403
+ "center": "#737373",
404
+ "textClasses": {
405
+ "callout": {
406
+ "fontSize": 28,
407
+ "fontFace": "Segoe UI",
408
+ "color": "#171717"
409
+ },
410
+ "title": {
411
+ "fontSize": 14,
412
+ "fontFace": "Segoe UI Semibold",
413
+ "color": "#171717"
414
+ },
415
+ "header": {
416
+ "fontSize": 12,
417
+ "fontFace": "Segoe UI Semibold",
418
+ "color": "#171717"
419
+ },
420
+ "label": {
421
+ "fontSize": 10,
422
+ "fontFace": "Segoe UI",
423
+ "color": "#525252"
424
+ }
425
+ },
426
+ "visualStyles": {
427
+ "*": {
428
+ "*": {
429
+ "property": [{"value": "..."}]
430
+ }
431
+ },
432
+ "visualName": {
433
+ "*": {
434
+ "property": [{"value": "..."}]
435
+ }
436
+ }
437
+ }
438
+ }
439
+ ```
440
+
441
+ ### Visual Names Reference
442
+ | Display Name | JSON Key |
443
+ |--------------|----------|
444
+ | Card | `card` |
445
+ | Multi-row Card | `multiRowCard` |
446
+ | Clustered Column | `clusteredColumnChart` |
447
+ | Clustered Bar | `clusteredBarChart` |
448
+ | Line Chart | `lineChart` |
449
+ | Area Chart | `areaChart` |
450
+ | Pie Chart | `pieChart` |
451
+ | Donut Chart | `donutChart` |
452
+ | Waterfall | `waterfallChart` |
453
+ | Funnel | `funnel` |
454
+ | Gauge | `gauge` |
455
+ | KPI | `kpi` |
456
+ | Table | `tableEx` |
457
+ | Matrix | `pivotTable` |
458
+ | Slicer | `slicer` |
459
+ | Scatter | `scatterChart` |
460
+ | Treemap | `treemap` |
461
+ | Map | `map` |
462
+ | Filled Map | `filledMap` |
463
+ | Shape Map | `shapeMap` |
464
+ | Textbox | `textbox` |
465
+ | Image | `image` |
466
+ | Shape | `shape` |
467
+ | Button | `actionButton` |
468
+ | Page | `page` |
469
+
470
+ ### Common Visual Properties
471
+ ```json
472
+ {
473
+ "background": [{"color": {"solid": {"color": "#FFFFFF"}}}],
474
+ "border": [{"color": "#E5E5E5", "radius": 10}],
475
+ "outline": [{"show": false}],
476
+ "title": [{
477
+ "show": true,
478
+ "fontColor": {"solid": {"color": "#171717"}},
479
+ "fontSize": 14
480
+ }]
481
+ }
482
+ ```
483
+
484
+ ---
485
+
486
+ ## Color Palettes Reference
487
+
488
+ ### IBCS Standard
489
+ ```json
490
+ ["#000000", "#737373", "#A3A3A3", "#D4D4D4", "#166534", "#991B1B", "#404040", "#525252"]
491
+ ```
492
+
493
+ ### Corporate Blue
494
+ ```json
495
+ ["#1E3A5F", "#2E5984", "#3E78A8", "#4E97CD", "#7FB3D9", "#A8CFE8", "#D1E8F5", "#0F4C81"]
496
+ ```
497
+
498
+ ### Earth Tones
499
+ ```json
500
+ ["#8B4513", "#A0522D", "#CD853F", "#DEB887", "#556B2F", "#6B8E23", "#808000", "#BDB76B"]
501
+ ```
502
+
503
+ ### Vibrant
504
+ ```json
505
+ ["#FF6B6B", "#4ECDC4", "#45B7D1", "#96CEB4", "#FFEAA7", "#DDA0DD", "#98D8C8", "#F7DC6F"]
506
+ ```
507
+
508
+ ### Pastel
509
+ ```json
510
+ ["#FFB3BA", "#BAFFC9", "#BAE1FF", "#FFFFBA", "#FFDFBa", "#E0BBE4", "#957DAD", "#D4A5A5"]
511
+ ```
512
+
513
+ ### Accessible (Colorblind-friendly)
514
+ ```json
515
+ ["#000000", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7"]
516
+ ```
517
+
518
+ ---
519
+
520
+ ## Example Conversation Flow
521
+
522
+ ```
523
+ Agent: Welcome to Power BI Theme Tweaker! In which language...
524
+ User: 2 (Español)
525
+
526
+ Agent: ¿Qué te gustaría hacer?
527
+ 1. Modificar un tema existente del proyecto
528
+ 2. Modificar un archivo de tema que proporcionarás
529
+ 3. Empezar desde cero
530
+
531
+ User: 1
532
+
533
+ Agent: Temas disponibles:
534
+ 1. bi-superpowers-default.json
535
+ 2. corporate-blue.json
536
+ 3. dark-mode.json
537
+
538
+ User: 1
539
+
540
+ Agent: ¿Qué aspecto del tema quieres modificar?
541
+ 1. 🎨 Colores de datos...
542
+ [lista completa]
543
+
544
+ User: 2
545
+
546
+ Agent: Clases de tipografía:
547
+ 1. callout - (actual: 28pt Segoe UI)
548
+ 2. title - (actual: 14pt Segoe UI Semibold)
549
+ ...
550
+
551
+ User: 1
552
+
553
+ Agent: Para callout, ¿qué quieres cambiar?
554
+ 1. Familia de fuente
555
+ 2. Tamaño de fuente
556
+ ...
557
+
558
+ User: 2
559
+
560
+ Agent: Tamaño actual: 28pt
561
+ Ingresa el nuevo tamaño en puntos (ej: 32):
562
+
563
+ User: 36
564
+
565
+ Agent: PREVIEW:
566
+ ┌─────────────────────────────────────────┐
567
+ │ textClasses.callout.fontSize │
568
+ │ Before: 28 │
569
+ │ After: 36 │
570
+ └─────────────────────────────────────────┘
571
+
572
+ 1. ✓ Aplicar
573
+ 2. ✗ Descartar
574
+ ...
575
+
576
+ User: 1
577
+
578
+ Agent: ¡Cambio aplicado! ¿Qué te gustaría hacer?
579
+ 1. Hacer otro ajuste
580
+ 2. Vista previa del JSON completo
581
+ 3. Guardar y terminar
582
+
583
+ User: 3
584
+
585
+ Agent: [Muestra resumen y opciones de guardado]
586
+ ```
587
+
588
+ ---
589
+
590
+ ## Complexity Adaptation
591
+
592
+ Adjust depth based on `config.json → experienceLevel`:
593
+ - **beginner**: Step-by-step with explanations, reference library examples
594
+ - **intermediate**: Standard depth, explain non-obvious decisions
595
+ - **advanced**: Concise, skip basics, focus on edge cases and optimization
596
+
597
+ ---
598
+
599
+ ## Related Skills
600
+
601
+ - `/report-layout` — Plan page layouts before theming
602
+ - `/report-design` — Visualization and color theory principles
603
+
604
+ ---
605
+
606
+ ## Validation Rules
607
+
608
+ Before saving, validate:
609
+
610
+ 1. **JSON syntax** - Must be valid JSON
611
+ 2. **Required properties** - name, dataColors must exist
612
+ 3. **Color format** - All colors must be valid hex (#RRGGBB or #RGB)
613
+ 4. **Font sizes** - Must be positive numbers
614
+ 5. **Border radius** - Must be non-negative number
615
+
616
+ If validation fails:
617
+ ```
618
+ ⚠️ Validation Error:
619
+ [Describe the issue]
620
+
621
+ Would you like to:
622
+ 1. Fix the issue
623
+ 2. Discard changes and keep original
624
+ ```
@@ -0,0 +1,23 @@
1
+ {
2
+ "version": "2.1.0",
3
+ "projectName": "My BI Project",
4
+ "experienceLevel": "intermediate",
5
+ "powerBIConnection": "desktop",
6
+ "language": "en",
7
+ "workArea": "finance",
8
+ "includeExcelTools": true,
9
+ "projectType": "pbix",
10
+ "isFirstSetup": true,
11
+ "setupCompletedAt": null,
12
+ "hasRunProjectKickoff": false,
13
+ "skillPreferences": {
14
+ "autoSuggestProjectKickoff": true
15
+ },
16
+ "powerBI": {
17
+ "lastDetectedPort": null,
18
+ "lastDetectedAt": null,
19
+ "mcpConfigured": false
20
+ },
21
+ "createdAt": "2024-01-18T00:00:00.000Z",
22
+ "updatedAt": "2024-01-18T00:00:00.000Z"
23
+ }
package/config.json ADDED
@@ -0,0 +1,23 @@
1
+ {
2
+ "version": "2.2.0",
3
+ "projectName": "",
4
+ "experienceLevel": "",
5
+ "powerBIConnection": "",
6
+ "language": "",
7
+ "workArea": "",
8
+ "includeExcelTools": "",
9
+ "projectType": "",
10
+ "isFirstSetup": true,
11
+ "setupCompletedAt": null,
12
+ "hasRunProjectKickoff": false,
13
+ "skillPreferences": {
14
+ "autoSuggestProjectKickoff": true
15
+ },
16
+ "powerBI": {
17
+ "lastDetectedPort": null,
18
+ "lastDetectedAt": null,
19
+ "mcpConfigured": false
20
+ },
21
+ "createdAt": "",
22
+ "updatedAt": ""
23
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "manifest_version": "0.3",
3
+ "name": "bi-superpowers",
4
+ "display_name": "BI Agent Superpowers",
5
+ "version": "0.0.0-template",
6
+ "description": "AI-powered toolkit for Power BI, Microsoft Fabric & Excel development. 24 skills covering DAX, Power Query, data modeling, and more.",
7
+ "long_description": "BI Agent Superpowers brings 24 specialized skills to Claude Desktop, covering DAX writing, Power Query transformations, data modeling best practices, performance optimization, Excel formulas, report design, and more. Built for Power BI developers, data analysts, and BI professionals.",
8
+ "author": {
9
+ "name": "Lucas Sanchez",
10
+ "url": "https://github.com/luquimbo"
11
+ },
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "https://github.com/luquimbo/bi-superpowers"
15
+ },
16
+ "homepage": "https://acadevor.com/bi-superpowers",
17
+ "license": "MIT",
18
+ "keywords": [
19
+ "power-bi",
20
+ "dax",
21
+ "fabric",
22
+ "excel",
23
+ "data-modeling",
24
+ "business-intelligence"
25
+ ],
26
+ "server": {
27
+ "type": "node",
28
+ "entry_point": "server.js"
29
+ },
30
+ "prompts_generated": true,
31
+ "compatibility": {
32
+ "platforms": ["darwin", "win32", "linux"],
33
+ "runtimes": {
34
+ "node": ">=18.0.0"
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "bi-superpowers-desktop",
3
+ "version": "0.0.0-template",
4
+ "private": true,
5
+ "description": "MCP server for BI Agent Superpowers (Claude Desktop extension)",
6
+ "type": "module",
7
+ "dependencies": {
8
+ "@modelcontextprotocol/sdk": "^1.12.1"
9
+ }
10
+ }