@luquimbo/bi-superpowers 4.1.6 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +8 -6
- package/.claude-plugin/plugin.json +1 -1
- package/.claude-plugin/skill-manifest.json +35 -19
- package/.plugin/plugin.json +1 -1
- package/AGENTS.md +150 -26
- package/CHANGELOG.md +489 -14
- package/README.md +103 -114
- package/bin/cli.js +7 -1
- package/bin/commands/diff.js +2 -2
- package/bin/commands/install.js +58 -45
- package/bin/commands/lint.js +2 -2
- package/bin/commands/validate-projects.js +425 -0
- package/bin/lib/generators/claude-plugin.js +31 -7
- package/bin/lib/generators/shared.js +11 -7
- package/bin/lib/mcp-config.js +22 -2
- package/bin/lib/skills.js +8 -8
- package/bin/mcp/powerbi-modeling-launcher.js +8 -4
- package/bin/postinstall.js +14 -12
- package/bin/utils/mcp-detect.js +11 -11
- package/commands/bi-connect.md +418 -0
- package/commands/bi-dax.md +385 -0
- package/commands/{project-kickoff.md → bi-kickoff.md} +78 -47
- package/commands/bi-modeling.md +395 -0
- package/commands/bi-performance.md +455 -0
- package/commands/bi-start.md +39 -27
- package/desktop-extension/manifest.json +2 -2
- package/package.json +3 -2
- package/skills/bi-connect/SKILL.md +420 -0
- package/skills/{pbi-connect → bi-connect}/scripts/update-check.js +1 -1
- package/skills/bi-dax/SKILL.md +387 -0
- package/skills/{report-design → bi-dax}/scripts/update-check.js +1 -1
- package/skills/{project-kickoff → bi-kickoff}/SKILL.md +79 -48
- package/skills/{project-kickoff → bi-kickoff}/scripts/update-check.js +1 -1
- package/skills/bi-modeling/SKILL.md +397 -0
- package/skills/bi-modeling/scripts/update-check.js +403 -0
- package/skills/bi-performance/SKILL.md +457 -0
- package/skills/bi-performance/scripts/install-tabular-editor.ps1 +90 -0
- package/skills/bi-performance/scripts/run-bpa.ps1 +161 -0
- package/skills/bi-performance/scripts/update-check.js +403 -0
- package/skills/bi-start/SKILL.md +40 -28
- package/skills/bi-start/scripts/update-check.js +1 -1
- package/src/content/base.md +15 -10
- package/src/content/routing.md +15 -18
- package/src/content/skills/bi-connect.md +391 -0
- package/src/content/skills/bi-dax.md +358 -0
- package/src/content/skills/{project-kickoff.md → bi-kickoff.md} +75 -44
- package/src/content/skills/bi-modeling.md +368 -0
- package/src/content/skills/bi-performance/SKILL.md +428 -0
- package/src/content/skills/bi-performance/scripts/install-tabular-editor.ps1 +90 -0
- package/src/content/skills/bi-performance/scripts/run-bpa.ps1 +161 -0
- package/src/content/skills/bi-start.md +39 -27
- package/theme/BISuperpowers.json +3888 -0
- package/commands/pbi-connect.md +0 -253
- package/commands/report-design.md +0 -403
- package/skills/pbi-connect/SKILL.md +0 -255
- package/skills/report-design/SKILL.md +0 -405
- package/skills/report-design/references/cli-commands.md +0 -184
- package/skills/report-design/references/cli-setup.md +0 -101
- package/skills/report-design/references/close-write-open-pattern.md +0 -80
- package/skills/report-design/references/layouts/finance.md +0 -65
- package/skills/report-design/references/layouts/generic.md +0 -46
- package/skills/report-design/references/layouts/hr.md +0 -48
- package/skills/report-design/references/layouts/marketing.md +0 -45
- package/skills/report-design/references/layouts/operations.md +0 -44
- package/skills/report-design/references/layouts/sales.md +0 -50
- package/skills/report-design/references/native-visuals.md +0 -341
- package/skills/report-design/references/pbi-desktop-installation.md +0 -87
- package/skills/report-design/references/pbir-preview-activation.md +0 -40
- package/skills/report-design/references/slicer.md +0 -89
- package/skills/report-design/references/textbox.md +0 -101
- package/skills/report-design/references/themes/BISuperpowers.json +0 -915
- package/skills/report-design/references/troubleshooting.md +0 -135
- package/skills/report-design/references/visual-types.md +0 -78
- package/skills/report-design/scripts/apply-theme.js +0 -243
- package/skills/report-design/scripts/create-visual.js +0 -942
- package/skills/report-design/scripts/ensure-pbi-cli.sh +0 -41
- package/skills/report-design/scripts/validate-pbir.js +0 -351
- package/src/content/skills/pbi-connect.md +0 -226
- package/src/content/skills/report-design/SKILL.md +0 -376
- package/src/content/skills/report-design/references/cli-commands.md +0 -184
- package/src/content/skills/report-design/references/cli-setup.md +0 -101
- package/src/content/skills/report-design/references/close-write-open-pattern.md +0 -80
- package/src/content/skills/report-design/references/layouts/finance.md +0 -65
- package/src/content/skills/report-design/references/layouts/generic.md +0 -46
- package/src/content/skills/report-design/references/layouts/hr.md +0 -48
- package/src/content/skills/report-design/references/layouts/marketing.md +0 -45
- package/src/content/skills/report-design/references/layouts/operations.md +0 -44
- package/src/content/skills/report-design/references/layouts/sales.md +0 -50
- package/src/content/skills/report-design/references/native-visuals.md +0 -341
- package/src/content/skills/report-design/references/pbi-desktop-installation.md +0 -87
- package/src/content/skills/report-design/references/pbir-preview-activation.md +0 -40
- package/src/content/skills/report-design/references/slicer.md +0 -89
- package/src/content/skills/report-design/references/textbox.md +0 -101
- package/src/content/skills/report-design/references/themes/BISuperpowers.json +0 -915
- package/src/content/skills/report-design/references/troubleshooting.md +0 -135
- package/src/content/skills/report-design/references/visual-types.md +0 -78
- package/src/content/skills/report-design/scripts/apply-theme.js +0 -243
- package/src/content/skills/report-design/scripts/create-visual.js +0 -942
- package/src/content/skills/report-design/scripts/ensure-pbi-cli.sh +0 -41
- package/src/content/skills/report-design/scripts/validate-pbir.js +0 -351
package/README.md
CHANGED
|
@@ -7,16 +7,19 @@
|
|
|
7
7
|
|
|
8
8
|
**BI Agent Superpowers** is an open-source toolkit that gives AI coding agents practical Power BI Desktop capabilities.
|
|
9
9
|
|
|
10
|
-
It installs reusable agent skills, configures Microsoft MCP servers, and provides a small CLI called `super` so Claude Code, GitHub Copilot,
|
|
10
|
+
It installs reusable agent skills, configures Microsoft MCP servers, and provides a small CLI called `super` so Codex, Claude Code, GitHub Copilot, Gemini CLI, and Kilo Code can work with Power BI projects using the same operating contract.
|
|
11
11
|
|
|
12
12
|
This is not a loose prompt pack. It is a reproducible Power BI agent layer:
|
|
13
13
|
|
|
14
|
-
- **
|
|
14
|
+
- **6 skills** for Power BI/project work: session startup, project bootstrap, semantic-model design and audit, DAX authoring and optimization, performance profiling with Tabular Editor 2 / BPA integration, and Power BI Desktop MCP connection.
|
|
15
15
|
- **2 Microsoft MCP servers** for Power BI Desktop modeling and Microsoft Learn documentation.
|
|
16
16
|
- **1 CLI** (`super`) for install, updates, local plugin generation, checks, and regeneration.
|
|
17
|
-
- **
|
|
17
|
+
- **Codex-first skill and MCP installation**, plus compatibility adapters for other agents.
|
|
18
|
+
- **Claude Code plugin artifacts** for users who explicitly want that local plugin format.
|
|
18
19
|
|
|
19
|
-
> Status: `
|
|
20
|
+
> Status: `v5.0.x` is the current stable release line. The v5 line standardizes every public slash command under the `/bi-*` namespace.
|
|
21
|
+
>
|
|
22
|
+
> Validation baseline: BI Agent Superpowers is developed and stress-tested first in **Codex**. Other agent adapters are shipped as compatibility targets and may work, but they are not currently tested end-to-end with the same depth unless a release note says otherwise.
|
|
20
23
|
|
|
21
24
|
---
|
|
22
25
|
|
|
@@ -32,10 +35,10 @@ This is not a loose prompt pack. It is a reproducible Power BI agent layer:
|
|
|
32
35
|
- [CLI Reference](#cli-reference)
|
|
33
36
|
- [Plugin File Tree](#plugin-file-tree)
|
|
34
37
|
- [Requirements](#requirements)
|
|
35
|
-
- [Report Design Runtime](#report-design-runtime)
|
|
36
38
|
- [Updates](#updates)
|
|
37
39
|
- [What Ships To npm](#what-ships-to-npm)
|
|
38
40
|
- [Development](#development)
|
|
41
|
+
- [Project Validation Harness](#project-validation-harness)
|
|
39
42
|
- [Troubleshooting](#troubleshooting)
|
|
40
43
|
- [FAQ](#faq)
|
|
41
44
|
|
|
@@ -50,12 +53,12 @@ Power BI work with AI agents usually breaks down in predictable places:
|
|
|
50
53
|
3. The agent invents DAX, PBIR, or setup steps without validating them against real tools.
|
|
51
54
|
4. Each agent has different skill and MCP configuration paths.
|
|
52
55
|
|
|
53
|
-
BI Agent Superpowers fixes that by giving
|
|
56
|
+
BI Agent Superpowers fixes that by giving Codex the primary tested Power BI workflow and exposing the same operating contract to compatible agents:
|
|
54
57
|
|
|
55
58
|
- project context through reusable skills;
|
|
56
59
|
- Power BI Desktop access through the Microsoft Power BI Modeling MCP;
|
|
57
60
|
- current Microsoft documentation through the Microsoft Learn MCP;
|
|
58
|
-
-
|
|
61
|
+
- optional Claude Code plugin artifacts for local project work;
|
|
59
62
|
- update checks so old plugin bundles do not silently stay stale.
|
|
60
63
|
|
|
61
64
|
The goal is simple: open a Power BI project, ask your agent for help, and have the agent know what tools, files, prerequisites, and guardrails apply.
|
|
@@ -66,7 +69,7 @@ The goal is simple: open a Power BI project, ask your agent for help, and have t
|
|
|
66
69
|
|
|
67
70
|
### All Supported Agents
|
|
68
71
|
|
|
69
|
-
Use this when you want one command path for Claude Code, GitHub Copilot,
|
|
72
|
+
Use this when you want one command path for Codex and the compatibility adapters for Claude Code, GitHub Copilot, Gemini CLI, and Kilo Code.
|
|
70
73
|
|
|
71
74
|
```bash
|
|
72
75
|
npm install -g @luquimbo/bi-superpowers
|
|
@@ -105,7 +108,7 @@ super install --agent kilo --yes
|
|
|
105
108
|
|
|
106
109
|
### Claude Code Marketplace Install
|
|
107
110
|
|
|
108
|
-
If you
|
|
111
|
+
If you use Claude Code, the marketplace path is the cleanest install experience for that agent. Claude Code is a compatibility target; Codex remains the primary end-to-end validation baseline.
|
|
109
112
|
|
|
110
113
|
```text
|
|
111
114
|
/plugin marketplace add luquimbo/bi-superpowers
|
|
@@ -258,7 +261,7 @@ Use it when:
|
|
|
258
261
|
- you do not know which skill to invoke;
|
|
259
262
|
- you want the agent to check update status before work begins.
|
|
260
263
|
|
|
261
|
-
### `
|
|
264
|
+
### `bi-kickoff`
|
|
262
265
|
|
|
263
266
|
Project analysis and planning skill. It inspects a BI project, explains what exists, identifies gaps, and creates a sensible plan for the next work cycle.
|
|
264
267
|
|
|
@@ -268,29 +271,16 @@ Use it when:
|
|
|
268
271
|
- starting a new PBIP project;
|
|
269
272
|
- asking an agent to understand project structure before editing.
|
|
270
273
|
|
|
271
|
-
### `
|
|
274
|
+
### `bi-connect`
|
|
272
275
|
|
|
273
|
-
Power BI Desktop connection skill. It helps the agent connect to the open Power BI Desktop model through the Microsoft Power BI Modeling MCP.
|
|
276
|
+
Power BI Desktop connection skill. It helps the agent connect to the open Power BI Desktop model through the Microsoft Power BI Modeling MCP. Model writes go through MCP; PBIP files are treated as saved/exported version-control snapshots.
|
|
274
277
|
|
|
275
278
|
Use it when:
|
|
276
279
|
|
|
277
280
|
- you need to list tables, columns, measures, or relationships;
|
|
278
281
|
- you want to execute DAX queries;
|
|
279
282
|
- you want the agent to inspect or modify the semantic model through Desktop.
|
|
280
|
-
|
|
281
|
-
### `report-design`
|
|
282
|
-
|
|
283
|
-
PBIR report generation skill. It turns a ready semantic model into Power BI report pages using bundled Node scripts, PBIR references, visual allowlists, layouts, themes, and validation.
|
|
284
|
-
|
|
285
|
-
Use it when:
|
|
286
|
-
|
|
287
|
-
- the model is ready and you want pages;
|
|
288
|
-
- you want native Power BI visuals generated as PBIR files;
|
|
289
|
-
- you want a report draft that can be opened and reviewed in Power BI Desktop.
|
|
290
|
-
|
|
291
|
-
Current runtime requirement: Windows + Power BI Desktop standalone + Python 3.10+ + `pipx` + `pbi-cli-tool`.
|
|
292
|
-
|
|
293
|
-
---
|
|
283
|
+
- you want to write or review DAX user-defined functions using current Microsoft Learn syntax and DAXLIB patterns.
|
|
294
284
|
|
|
295
285
|
## Quick Demos
|
|
296
286
|
|
|
@@ -303,14 +293,14 @@ Current runtime requirement: Windows + Power BI Desktop standalone + Python 3.10
|
|
|
303
293
|
Expected result:
|
|
304
294
|
|
|
305
295
|
- update check;
|
|
306
|
-
- menu of
|
|
296
|
+
- menu of 6 skills;
|
|
307
297
|
- environment hints;
|
|
308
298
|
- next-step recommendation.
|
|
309
299
|
|
|
310
300
|
### Analyze A Power BI Project
|
|
311
301
|
|
|
312
302
|
```text
|
|
313
|
-
/
|
|
303
|
+
/bi-kickoff
|
|
314
304
|
Analyze this Power BI repo. Tell me what exists, what is missing, and what plan we should follow.
|
|
315
305
|
```
|
|
316
306
|
|
|
@@ -319,12 +309,12 @@ Expected result:
|
|
|
319
309
|
- project map;
|
|
320
310
|
- risks and missing context;
|
|
321
311
|
- recommended implementation path;
|
|
322
|
-
- handoff to `
|
|
312
|
+
- handoff to `bi-connect` when appropriate.
|
|
323
313
|
|
|
324
314
|
### Connect To Power BI Desktop
|
|
325
315
|
|
|
326
316
|
```text
|
|
327
|
-
/
|
|
317
|
+
/bi-connect
|
|
328
318
|
Connect to the model currently open in Power BI Desktop and list tables, measures, columns, and relationships.
|
|
329
319
|
```
|
|
330
320
|
|
|
@@ -334,32 +324,29 @@ Expected result:
|
|
|
334
324
|
- semantic model snapshot;
|
|
335
325
|
- actionable diagnostics if Desktop or MCP wiring is not ready.
|
|
336
326
|
|
|
337
|
-
###
|
|
327
|
+
### Write A DAX UDF With DAXLIB As Reference
|
|
338
328
|
|
|
339
329
|
```text
|
|
340
|
-
/
|
|
341
|
-
|
|
330
|
+
/bi-connect
|
|
331
|
+
Write a reusable DAX UDF for gross margin percentage. Use Microsoft Learn for the current UDF syntax and consult DAXLIB patterns before proposing the function.
|
|
342
332
|
```
|
|
343
333
|
|
|
344
334
|
Expected result:
|
|
345
335
|
|
|
346
|
-
-
|
|
347
|
-
-
|
|
348
|
-
-
|
|
349
|
-
-
|
|
350
|
-
- instructions to open and verify in Power BI Desktop.
|
|
351
|
-
|
|
352
|
-
---
|
|
336
|
+
- current UDF syntax/preview check;
|
|
337
|
+
- existing function inspection when a model is connected;
|
|
338
|
+
- DAXLIB-aware pattern selection without vendoring external code by default;
|
|
339
|
+
- tested function draft and validation steps.
|
|
353
340
|
|
|
354
341
|
## Supported Agents
|
|
355
342
|
|
|
356
|
-
| Agent | Skill install path | MCP config path | Primary usage |
|
|
357
|
-
|
|
358
|
-
|
|
|
359
|
-
|
|
|
360
|
-
|
|
|
361
|
-
| Gemini CLI | `~/.gemini/skills/` | `~/.gemini/settings.json` | Natural language |
|
|
362
|
-
| Kilo Code | `~/.kilo/skills/` | `~/.kilo/mcp_settings.json` | Natural language |
|
|
343
|
+
| Agent | Skill install path | MCP config path | Primary usage | Validation status |
|
|
344
|
+
|---|---|---|---|---|
|
|
345
|
+
| Codex | `~/.agents/skills/` | `~/.codex/config.toml` | Natural language with skills and MCPs | Primary end-to-end test baseline |
|
|
346
|
+
| Claude Code | `~/.claude/skills/` or marketplace plugin | `~/.claude.json` | Slash commands and natural language | Compatibility target; not the primary end-to-end QA baseline |
|
|
347
|
+
| GitHub Copilot | `~/.copilot/skills/` | `~/.copilot/mcp-config.json` | Natural language with skills and MCPs | Compatibility target; not the primary end-to-end QA baseline |
|
|
348
|
+
| Gemini CLI | `~/.gemini/skills/` | `~/.gemini/settings.json` | Natural language | Compatibility target; not the primary end-to-end QA baseline |
|
|
349
|
+
| Kilo Code | `~/.kilo/skills/` | `~/.kilo/mcp_settings.json` | Natural language | Compatibility target; not the primary end-to-end QA baseline |
|
|
363
350
|
|
|
364
351
|
The installer always writes the universal skill copy to `~/.agents/skills/`, then links or copies agent-specific skill directories as needed.
|
|
365
352
|
|
|
@@ -374,6 +361,14 @@ The installer always writes the universal skill copy to `~/.agents/skills/`, the
|
|
|
374
361
|
|
|
375
362
|
You can install these MCPs manually, but `super install` writes the expected MCP config for each selected agent automatically.
|
|
376
363
|
|
|
364
|
+
For DAX user-defined functions, `bi-connect` also points agents at DAXLIB as an upstream reference:
|
|
365
|
+
|
|
366
|
+
- https://github.com/daxlib/daxlib
|
|
367
|
+
- https://docs.daxlib.org/
|
|
368
|
+
- https://github.com/daxlib
|
|
369
|
+
|
|
370
|
+
BI Agent Superpowers does not vendor DAXLIB source code. Agents should consult it as a reference and only import/adapt specific MIT-licensed functions when the user explicitly requests that.
|
|
371
|
+
|
|
377
372
|
---
|
|
378
373
|
|
|
379
374
|
## CLI Reference
|
|
@@ -388,12 +383,13 @@ bi-superpowers help
|
|
|
388
383
|
Common commands:
|
|
389
384
|
|
|
390
385
|
```bash
|
|
391
|
-
super install # Install
|
|
386
|
+
super install # Install 6 skills + 2 MCPs for selected agents
|
|
392
387
|
super kickoff # Advanced: generate optional local Claude Code plugin files
|
|
393
388
|
super recharge # Regenerate optional local Claude Code plugin artifacts
|
|
394
389
|
super powers # List available skills
|
|
395
390
|
super scan # Compare source skills with generated artifacts
|
|
396
391
|
super checkup # Validate skill content
|
|
392
|
+
super validate-projects # Validate repo fixtures + local private project refs
|
|
397
393
|
super build-desktop # Build the Claude Desktop .mcpb extension in the current dir
|
|
398
394
|
super build-desktop --output dist
|
|
399
395
|
super upgrade # Update the global CLI and print refresh steps
|
|
@@ -423,35 +419,18 @@ project/
|
|
|
423
419
|
├─ .mcp.json
|
|
424
420
|
├─ commands/
|
|
425
421
|
│ ├─ bi-start.md
|
|
426
|
-
│ ├─
|
|
427
|
-
│
|
|
428
|
-
│ └─ report-design.md
|
|
422
|
+
│ ├─ bi-kickoff.md
|
|
423
|
+
│ └─ bi-connect.md
|
|
429
424
|
├─ skills/
|
|
430
425
|
│ ├─ bi-start/
|
|
431
426
|
│ │ ├─ SKILL.md
|
|
432
427
|
│ │ └─ scripts/update-check.js
|
|
433
|
-
│ ├─
|
|
428
|
+
│ ├─ bi-kickoff/
|
|
434
429
|
│ │ ├─ SKILL.md
|
|
435
430
|
│ │ └─ scripts/update-check.js
|
|
436
|
-
│ ├─
|
|
431
|
+
│ ├─ bi-connect/
|
|
437
432
|
│ │ ├─ SKILL.md
|
|
438
433
|
│ │ └─ scripts/update-check.js
|
|
439
|
-
│ └─ report-design/
|
|
440
|
-
│ ├─ SKILL.md
|
|
441
|
-
│ ├─ scripts/
|
|
442
|
-
│ │ ├─ apply-theme.js
|
|
443
|
-
│ │ ├─ create-visual.js
|
|
444
|
-
│ │ ├─ ensure-pbi-cli.sh
|
|
445
|
-
│ │ ├─ update-check.js
|
|
446
|
-
│ │ └─ validate-pbir.js
|
|
447
|
-
│ └─ references/
|
|
448
|
-
│ ├─ cli-commands.md
|
|
449
|
-
│ ├─ cli-setup.md
|
|
450
|
-
│ ├─ native-visuals.md
|
|
451
|
-
│ ├─ pbi-desktop-installation.md
|
|
452
|
-
│ ├─ troubleshooting.md
|
|
453
|
-
│ ├─ layouts/
|
|
454
|
-
│ └─ themes/
|
|
455
434
|
└─ config.json
|
|
456
435
|
```
|
|
457
436
|
|
|
@@ -479,45 +458,12 @@ flowchart TD
|
|
|
479
458
|
- Node.js 18 or newer.
|
|
480
459
|
- At least one supported AI agent.
|
|
481
460
|
|
|
482
|
-
### For `
|
|
461
|
+
### For `bi-connect`
|
|
483
462
|
|
|
484
463
|
- Windows.
|
|
485
464
|
- Power BI Desktop open.
|
|
486
465
|
- Power BI Modeling MCP available to the agent.
|
|
487
466
|
|
|
488
|
-
### For `report-design`
|
|
489
|
-
|
|
490
|
-
- Windows.
|
|
491
|
-
- Power BI Desktop standalone, not the Microsoft Store build.
|
|
492
|
-
- Python 3.10 or newer.
|
|
493
|
-
- `pipx`.
|
|
494
|
-
- `pbi-cli-tool`.
|
|
495
|
-
- PBIR/TMDL enabled when applicable.
|
|
496
|
-
|
|
497
|
-
---
|
|
498
|
-
|
|
499
|
-
## Report Design Runtime
|
|
500
|
-
|
|
501
|
-
`report-design` uses bundled Node scripts for PBIR visual and theme authoring:
|
|
502
|
-
|
|
503
|
-
- `create-visual.js`
|
|
504
|
-
- `apply-theme.js`
|
|
505
|
-
- `validate-pbir.js`
|
|
506
|
-
|
|
507
|
-
It still uses `pbi-cli-tool` for the current runtime flow:
|
|
508
|
-
|
|
509
|
-
- `pbi connect`
|
|
510
|
-
- `pbi measure list`
|
|
511
|
-
- `pbi table list`
|
|
512
|
-
- `pbi column list`
|
|
513
|
-
- `pbi report add-page`
|
|
514
|
-
- `pbi report list-pages`
|
|
515
|
-
- `pbi report validate`
|
|
516
|
-
|
|
517
|
-
This means `pbi-cli-tool` is not optional for `report-design` today.
|
|
518
|
-
|
|
519
|
-
---
|
|
520
|
-
|
|
521
467
|
## Updates
|
|
522
468
|
|
|
523
469
|
### Claude Code Marketplace
|
|
@@ -571,12 +517,17 @@ package.json
|
|
|
571
517
|
The npm package does not include:
|
|
572
518
|
|
|
573
519
|
```text
|
|
520
|
+
docs/superpowers/
|
|
574
521
|
examples/smoke-test/
|
|
522
|
+
validation/
|
|
523
|
+
validation.local.example.json
|
|
524
|
+
validation.local.json
|
|
575
525
|
node_modules/
|
|
576
526
|
*.test.js
|
|
577
527
|
```
|
|
578
528
|
|
|
579
529
|
`examples/smoke-test/` is intentionally repo-only. It is used for QA and manual validation, not for user installs.
|
|
530
|
+
`validation/` is also repo-only. It stores sanitized validation descriptors and playbooks for project QA; private project paths live in `validation.local.json`, which must never be committed.
|
|
580
531
|
|
|
581
532
|
---
|
|
582
533
|
|
|
@@ -623,6 +574,50 @@ Edit source files first, then regenerate generated outputs.
|
|
|
623
574
|
|
|
624
575
|
---
|
|
625
576
|
|
|
577
|
+
## Project Validation Harness
|
|
578
|
+
|
|
579
|
+
In a source checkout, the repo can validate BI Agent Superpowers against real
|
|
580
|
+
Power BI work without committing customer repositories.
|
|
581
|
+
|
|
582
|
+
Public fixtures live in:
|
|
583
|
+
|
|
584
|
+
```text
|
|
585
|
+
examples/smoke-test/
|
|
586
|
+
```
|
|
587
|
+
|
|
588
|
+
Sanitized validation metadata lives in:
|
|
589
|
+
|
|
590
|
+
```text
|
|
591
|
+
validation/projects/
|
|
592
|
+
validation/cases/
|
|
593
|
+
```
|
|
594
|
+
|
|
595
|
+
Private local project paths live only in:
|
|
596
|
+
|
|
597
|
+
```text
|
|
598
|
+
validation.local.json
|
|
599
|
+
```
|
|
600
|
+
|
|
601
|
+
That file is gitignored. Copy `validation.local.example.json` when you want to
|
|
602
|
+
map client projects on your own machine.
|
|
603
|
+
|
|
604
|
+
Run the structural validation:
|
|
605
|
+
|
|
606
|
+
```bash
|
|
607
|
+
super validate-projects --project template
|
|
608
|
+
```
|
|
609
|
+
|
|
610
|
+
Run every descriptor, treating skipped private projects as failures:
|
|
611
|
+
|
|
612
|
+
```bash
|
|
613
|
+
super validate-projects --strict
|
|
614
|
+
```
|
|
615
|
+
|
|
616
|
+
This command is non-destructive. It checks project paths and required files; it
|
|
617
|
+
does not open Power BI Desktop, edit PBIP files, or copy private repos.
|
|
618
|
+
|
|
619
|
+
---
|
|
620
|
+
|
|
626
621
|
## Publishing
|
|
627
622
|
|
|
628
623
|
Publishing is handled by GitHub Actions. Do not run `npm publish` locally.
|
|
@@ -677,10 +672,6 @@ If npm's global bin directory is not in `PATH`, fix `PATH` or use your package m
|
|
|
677
672
|
3. Confirm the Power BI Modeling MCP is installed.
|
|
678
673
|
4. Restart the agent after MCP installation.
|
|
679
674
|
|
|
680
|
-
### `report-design` Stops Because Power BI Desktop Is The Microsoft Store Build
|
|
681
|
-
|
|
682
|
-
Install the standalone Power BI Desktop build. The Store build can block flows required by CLI/MCP tooling.
|
|
683
|
-
|
|
684
675
|
### `pbi-cli-tool` Is Missing
|
|
685
676
|
|
|
686
677
|
Install Python, `pipx`, and `pbi-cli-tool`:
|
|
@@ -698,19 +689,17 @@ pbi --version
|
|
|
698
689
|
|
|
699
690
|
### Does This Replace Power BI Desktop?
|
|
700
691
|
|
|
701
|
-
No. Power BI Desktop remains the visual
|
|
692
|
+
No. Power BI Desktop remains the visual and report authoring tool. The plugin helps agents inspect project files and use MCPs for semantic-model work, but PBIP files are treated as version-control snapshots. Agents must not patch `.Report/**` PBIR JSON, `visual.json`, bookmarks, slicer/card settings, themes, or report resources directly.
|
|
693
|
+
|
|
694
|
+
The only report-side exception is template adaptation through the dedicated plugin field-swap/rebind command. Agents must not patch PBIR JSON by hand, even for a "simple measure replacement." The command may write PBIR only for data bindings (`projections`, `prototypeQuery`, query refs, field parameters, and sort/filter field references when required), with dry-run, backup, validation, and an explicit source-to-target mapping. It must preserve visual type, layout, formatting, interactions, IDs, theme, and bookmarks. Until that tool exists, report field swaps remain manual Desktop work.
|
|
702
695
|
|
|
703
696
|
### Does It Work Outside Windows?
|
|
704
697
|
|
|
705
|
-
The CLI and several skills can run outside Windows. Workflows that depend on Power BI Desktop, especially `
|
|
698
|
+
The CLI and several skills can run outside Windows. Workflows that depend on Power BI Desktop, especially `bi-connect`, are Windows-first.
|
|
706
699
|
|
|
707
700
|
### Do I Need Claude Code?
|
|
708
701
|
|
|
709
|
-
No. Claude Code has
|
|
710
|
-
|
|
711
|
-
### Do I Need `pbi-cli-tool`?
|
|
712
|
-
|
|
713
|
-
For `report-design`, yes. For `bi-start`, `project-kickoff`, and `pbi-connect`, not necessarily.
|
|
702
|
+
No. Codex is the primary development and end-to-end validation baseline for this plugin. Claude Code has a useful compatibility path through marketplace/local plugin artifacts, but it is not the canonical test base unless a release note explicitly says that release was tested there.
|
|
714
703
|
|
|
715
704
|
### Can I Use Only The MCP Servers?
|
|
716
705
|
|
package/bin/cli.js
CHANGED
|
@@ -45,6 +45,7 @@ let watchCommand;
|
|
|
45
45
|
let mcpSetupCommand;
|
|
46
46
|
let buildDesktopCommand;
|
|
47
47
|
let installCommand;
|
|
48
|
+
let validateProjectsCommand;
|
|
48
49
|
let tui;
|
|
49
50
|
try {
|
|
50
51
|
lintCommand = require('./commands/lint'); // checkup: skill file validation
|
|
@@ -53,6 +54,7 @@ try {
|
|
|
53
54
|
mcpSetupCommand = require('./commands/mcp-setup'); // MCP server configuration
|
|
54
55
|
buildDesktopCommand = require('./commands/build-desktop'); // .mcpb for Claude Desktop
|
|
55
56
|
installCommand = require('./commands/install'); // multi-agent skill + MCP installer
|
|
57
|
+
validateProjectsCommand = require('./commands/validate-projects'); // repo/project validation harness
|
|
56
58
|
tui = require('./utils/tui'); // colors, tables, boxes for CLI output
|
|
57
59
|
} catch (_) {
|
|
58
60
|
// Expected during `npm install` — modules become available after deps are linked.
|
|
@@ -157,7 +159,7 @@ Usage:
|
|
|
157
159
|
super <command> [options]
|
|
158
160
|
|
|
159
161
|
Primary commands:
|
|
160
|
-
install Install the
|
|
162
|
+
install Install ${TOTAL_SKILL_COUNT || 'the'} skills + 2 MCPs user-level across your AI agents
|
|
161
163
|
kickoff [path] Optional: generate a repo-local Claude Code plugin
|
|
162
164
|
recharge [path] Optional: regenerate an existing repo-local Claude Code plugin
|
|
163
165
|
build-desktop Build the .mcpb extension for Claude Desktop
|
|
@@ -171,6 +173,7 @@ Developer tools:
|
|
|
171
173
|
checkup [file] Lint/validate skill source files
|
|
172
174
|
scan Diff between source skills and generated plugin
|
|
173
175
|
sentinel Watch skill sources and auto-regenerate
|
|
176
|
+
validate-projects Validate public fixtures + local private project references
|
|
174
177
|
|
|
175
178
|
Options:
|
|
176
179
|
--dry-run Preview changes without writing files (kickoff, recharge)
|
|
@@ -187,6 +190,7 @@ Examples:
|
|
|
187
190
|
super build-desktop # Build .mcpb for Claude Desktop
|
|
188
191
|
super build-desktop --output dist
|
|
189
192
|
super mcp-setup # Existing local Claude Code plugin only
|
|
193
|
+
super validate-projects # Developer QA against validation/ descriptors
|
|
190
194
|
|
|
191
195
|
Open source — MIT licensed.
|
|
192
196
|
Documentation: https://github.com/luquimbo/bi-superpowers
|
|
@@ -757,6 +761,7 @@ const runDiff = createCommandWrapper(diffCommand, 'Diff');
|
|
|
757
761
|
const runMcpSetup = createCommandWrapper(mcpSetupCommand, 'MCP setup');
|
|
758
762
|
const runBuildDesktop = createCommandWrapper(buildDesktopCommand, 'Build Desktop');
|
|
759
763
|
const runInstall = createCommandWrapper(installCommand, 'Install');
|
|
764
|
+
const runValidateProjects = createCommandWrapper(validateProjectsCommand, 'Validate projects');
|
|
760
765
|
|
|
761
766
|
// Register wrapper-based commands into the command map (phase 2).
|
|
762
767
|
commands.install = runInstall;
|
|
@@ -766,6 +771,7 @@ commands.sentinel = runWatch;
|
|
|
766
771
|
commands['mcp-setup'] = runMcpSetup;
|
|
767
772
|
commands.mcp = runMcpSetup;
|
|
768
773
|
commands['build-desktop'] = runBuildDesktop;
|
|
774
|
+
commands['validate-projects'] = runValidateProjects;
|
|
769
775
|
commands.lint = runLint;
|
|
770
776
|
commands.diff = runDiff;
|
|
771
777
|
commands.watch = runWatch;
|
package/bin/commands/diff.js
CHANGED
|
@@ -331,8 +331,8 @@ function diffCommand(args, config) {
|
|
|
331
331
|
let skillFiles = [];
|
|
332
332
|
|
|
333
333
|
if (options.skill) {
|
|
334
|
-
// normalizeSkillName accepts `dax`, `dax.md`, `
|
|
335
|
-
// `
|
|
334
|
+
// normalizeSkillName accepts `dax`, `dax.md`, `folder-skill`, or
|
|
335
|
+
// `folder-skill/SKILL.md` and returns the canonical skill name.
|
|
336
336
|
const skill = skillsByName.get(normalizeSkillName(options.skill));
|
|
337
337
|
if (skill) {
|
|
338
338
|
skillFiles = [skill.path];
|