@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.
Files changed (100) hide show
  1. package/.claude-plugin/marketplace.json +8 -6
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.claude-plugin/skill-manifest.json +35 -19
  4. package/.plugin/plugin.json +1 -1
  5. package/AGENTS.md +150 -26
  6. package/CHANGELOG.md +489 -14
  7. package/README.md +103 -114
  8. package/bin/cli.js +7 -1
  9. package/bin/commands/diff.js +2 -2
  10. package/bin/commands/install.js +58 -45
  11. package/bin/commands/lint.js +2 -2
  12. package/bin/commands/validate-projects.js +425 -0
  13. package/bin/lib/generators/claude-plugin.js +31 -7
  14. package/bin/lib/generators/shared.js +11 -7
  15. package/bin/lib/mcp-config.js +22 -2
  16. package/bin/lib/skills.js +8 -8
  17. package/bin/mcp/powerbi-modeling-launcher.js +8 -4
  18. package/bin/postinstall.js +14 -12
  19. package/bin/utils/mcp-detect.js +11 -11
  20. package/commands/bi-connect.md +418 -0
  21. package/commands/bi-dax.md +385 -0
  22. package/commands/{project-kickoff.md → bi-kickoff.md} +78 -47
  23. package/commands/bi-modeling.md +395 -0
  24. package/commands/bi-performance.md +455 -0
  25. package/commands/bi-start.md +39 -27
  26. package/desktop-extension/manifest.json +2 -2
  27. package/package.json +3 -2
  28. package/skills/bi-connect/SKILL.md +420 -0
  29. package/skills/{pbi-connect → bi-connect}/scripts/update-check.js +1 -1
  30. package/skills/bi-dax/SKILL.md +387 -0
  31. package/skills/{report-design → bi-dax}/scripts/update-check.js +1 -1
  32. package/skills/{project-kickoff → bi-kickoff}/SKILL.md +79 -48
  33. package/skills/{project-kickoff → bi-kickoff}/scripts/update-check.js +1 -1
  34. package/skills/bi-modeling/SKILL.md +397 -0
  35. package/skills/bi-modeling/scripts/update-check.js +403 -0
  36. package/skills/bi-performance/SKILL.md +457 -0
  37. package/skills/bi-performance/scripts/install-tabular-editor.ps1 +90 -0
  38. package/skills/bi-performance/scripts/run-bpa.ps1 +161 -0
  39. package/skills/bi-performance/scripts/update-check.js +403 -0
  40. package/skills/bi-start/SKILL.md +40 -28
  41. package/skills/bi-start/scripts/update-check.js +1 -1
  42. package/src/content/base.md +15 -10
  43. package/src/content/routing.md +15 -18
  44. package/src/content/skills/bi-connect.md +391 -0
  45. package/src/content/skills/bi-dax.md +358 -0
  46. package/src/content/skills/{project-kickoff.md → bi-kickoff.md} +75 -44
  47. package/src/content/skills/bi-modeling.md +368 -0
  48. package/src/content/skills/bi-performance/SKILL.md +428 -0
  49. package/src/content/skills/bi-performance/scripts/install-tabular-editor.ps1 +90 -0
  50. package/src/content/skills/bi-performance/scripts/run-bpa.ps1 +161 -0
  51. package/src/content/skills/bi-start.md +39 -27
  52. package/theme/BISuperpowers.json +3888 -0
  53. package/commands/pbi-connect.md +0 -253
  54. package/commands/report-design.md +0 -403
  55. package/skills/pbi-connect/SKILL.md +0 -255
  56. package/skills/report-design/SKILL.md +0 -405
  57. package/skills/report-design/references/cli-commands.md +0 -184
  58. package/skills/report-design/references/cli-setup.md +0 -101
  59. package/skills/report-design/references/close-write-open-pattern.md +0 -80
  60. package/skills/report-design/references/layouts/finance.md +0 -65
  61. package/skills/report-design/references/layouts/generic.md +0 -46
  62. package/skills/report-design/references/layouts/hr.md +0 -48
  63. package/skills/report-design/references/layouts/marketing.md +0 -45
  64. package/skills/report-design/references/layouts/operations.md +0 -44
  65. package/skills/report-design/references/layouts/sales.md +0 -50
  66. package/skills/report-design/references/native-visuals.md +0 -341
  67. package/skills/report-design/references/pbi-desktop-installation.md +0 -87
  68. package/skills/report-design/references/pbir-preview-activation.md +0 -40
  69. package/skills/report-design/references/slicer.md +0 -89
  70. package/skills/report-design/references/textbox.md +0 -101
  71. package/skills/report-design/references/themes/BISuperpowers.json +0 -915
  72. package/skills/report-design/references/troubleshooting.md +0 -135
  73. package/skills/report-design/references/visual-types.md +0 -78
  74. package/skills/report-design/scripts/apply-theme.js +0 -243
  75. package/skills/report-design/scripts/create-visual.js +0 -942
  76. package/skills/report-design/scripts/ensure-pbi-cli.sh +0 -41
  77. package/skills/report-design/scripts/validate-pbir.js +0 -351
  78. package/src/content/skills/pbi-connect.md +0 -226
  79. package/src/content/skills/report-design/SKILL.md +0 -376
  80. package/src/content/skills/report-design/references/cli-commands.md +0 -184
  81. package/src/content/skills/report-design/references/cli-setup.md +0 -101
  82. package/src/content/skills/report-design/references/close-write-open-pattern.md +0 -80
  83. package/src/content/skills/report-design/references/layouts/finance.md +0 -65
  84. package/src/content/skills/report-design/references/layouts/generic.md +0 -46
  85. package/src/content/skills/report-design/references/layouts/hr.md +0 -48
  86. package/src/content/skills/report-design/references/layouts/marketing.md +0 -45
  87. package/src/content/skills/report-design/references/layouts/operations.md +0 -44
  88. package/src/content/skills/report-design/references/layouts/sales.md +0 -50
  89. package/src/content/skills/report-design/references/native-visuals.md +0 -341
  90. package/src/content/skills/report-design/references/pbi-desktop-installation.md +0 -87
  91. package/src/content/skills/report-design/references/pbir-preview-activation.md +0 -40
  92. package/src/content/skills/report-design/references/slicer.md +0 -89
  93. package/src/content/skills/report-design/references/textbox.md +0 -101
  94. package/src/content/skills/report-design/references/themes/BISuperpowers.json +0 -915
  95. package/src/content/skills/report-design/references/troubleshooting.md +0 -135
  96. package/src/content/skills/report-design/references/visual-types.md +0 -78
  97. package/src/content/skills/report-design/scripts/apply-theme.js +0 -243
  98. package/src/content/skills/report-design/scripts/create-visual.js +0 -942
  99. package/src/content/skills/report-design/scripts/ensure-pbi-cli.sh +0 -41
  100. 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, Codex, Gemini CLI, and Kilo Code can work with Power BI projects using the same operating contract.
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
- - **4 skills** for session startup, BI project analysis, Power BI Desktop connection, and PBIR report generation.
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
- - **Claude Code plugin artifacts** with slash commands, discoverable skills, and MCP configuration.
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: `v4.1.x` is the first stable release line. Treat it as the practical 1.0 of the project, even though the npm version remains 4.x for monotonic versioning.
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 each supported agent the same Power BI workflow:
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
- - generated Claude Code plugin artifacts for local project work;
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, Codex, Gemini CLI, and Kilo Code.
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 only use Claude Code, the marketplace path is the cleanest install experience:
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
- ### `project-kickoff`
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
- ### `pbi-connect`
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 4 skills;
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
- /project-kickoff
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 `pbi-connect` or `report-design` when appropriate.
312
+ - handoff to `bi-connect` when appropriate.
323
313
 
324
314
  ### Connect To Power BI Desktop
325
315
 
326
316
  ```text
327
- /pbi-connect
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
- ### Generate A Report Page
327
+ ### Write A DAX UDF With DAXLIB As Reference
338
328
 
339
329
  ```text
340
- /report-design
341
- Create an executive sales page with KPI cards, monthly trend, product ranking, and a slicer panel.
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
- - prerequisite checks;
347
- - page/layout plan;
348
- - PBIR visual generation;
349
- - validation against native visual types;
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
- | Claude Code | `~/.claude/skills/` or marketplace plugin | `~/.claude.json` | Slash commands and natural language |
359
- | GitHub Copilot | `~/.copilot/skills/` | `~/.copilot/mcp-config.json` | Natural language with skills and MCPs |
360
- | Codex | `~/.agents/skills/` | `~/.codex/config.toml` | Natural language with skills and MCPs |
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 4 skills + 2 MCPs for selected agents
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
- │ ├─ project-kickoff.md
427
- ├─ pbi-connect.md
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
- │ ├─ project-kickoff/
428
+ │ ├─ bi-kickoff/
434
429
  │ │ ├─ SKILL.md
435
430
  │ │ └─ scripts/update-check.js
436
- │ ├─ pbi-connect/
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 `pbi-connect`
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/runtime verification tool. The plugin helps agents work with project files, MCPs, PBIR, and semantic-model context more reliably.
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 `pbi-connect` and `report-design`, are Windows-first.
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 the richest plugin/slash-command experience, but the npm installer supports GitHub Copilot, Codex, Gemini CLI, and Kilo Code too.
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 4 skills + 2 MCPs user-level across your AI agents
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;
@@ -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`, `report-design`, or
335
- // `report-design/SKILL.md` and returns the canonical skill name.
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];