@luquimbo/bi-superpowers 4.1.5 → 5.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 (81) hide show
  1. package/.claude-plugin/marketplace.json +5 -5
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.claude-plugin/skill-manifest.json +17 -17
  4. package/.plugin/plugin.json +1 -1
  5. package/AGENTS.md +50 -54
  6. package/CHANGELOG.md +67 -0
  7. package/README.md +103 -24
  8. package/bin/cli.js +12 -8
  9. package/bin/commands/build-desktop.js +37 -2
  10. package/bin/commands/diff.js +2 -2
  11. package/bin/commands/install.js +29 -7
  12. package/bin/commands/lint.js +2 -2
  13. package/bin/commands/mcp-setup.js +20 -30
  14. package/bin/commands/validate-projects.js +425 -0
  15. package/bin/commands/watch.js +1 -1
  16. package/bin/lib/generators/claude-plugin.js +20 -5
  17. package/bin/lib/generators/shared.js +8 -8
  18. package/bin/lib/skills.js +5 -5
  19. package/bin/postinstall.js +3 -3
  20. package/commands/{pbi-connect.md → bi-connect.md} +151 -3
  21. package/commands/{project-kickoff.md → bi-kickoff.md} +9 -9
  22. package/commands/{report-design.md → bi-report.md} +12 -12
  23. package/commands/bi-start.md +20 -20
  24. package/desktop-extension/manifest.json +1 -1
  25. package/package.json +1 -1
  26. package/skills/{pbi-connect → bi-connect}/SKILL.md +153 -5
  27. package/skills/{pbi-connect → bi-connect}/scripts/update-check.js +1 -1
  28. package/skills/{project-kickoff → bi-kickoff}/SKILL.md +11 -11
  29. package/skills/{report-design → bi-kickoff}/scripts/update-check.js +1 -1
  30. package/skills/{report-design → bi-report}/SKILL.md +14 -14
  31. package/skills/{report-design → bi-report}/references/layouts/hr.md +1 -1
  32. package/{src/content/skills/report-design → skills/bi-report}/references/native-visuals.md +1 -1
  33. package/{src/content/skills/report-design → skills/bi-report}/references/pbir-preview-activation.md +3 -3
  34. package/{src/content/skills/report-design → skills/bi-report}/references/troubleshooting.md +1 -1
  35. package/skills/{project-kickoff → bi-report}/scripts/update-check.js +1 -1
  36. package/skills/bi-start/SKILL.md +21 -21
  37. package/skills/bi-start/scripts/update-check.js +1 -1
  38. package/src/content/base.md +6 -5
  39. package/src/content/routing.md +22 -20
  40. package/src/content/skills/{pbi-connect.md → bi-connect.md} +149 -1
  41. package/src/content/skills/{project-kickoff.md → bi-kickoff.md} +8 -8
  42. package/src/content/skills/{report-design → bi-report}/SKILL.md +11 -11
  43. package/src/content/skills/{report-design → bi-report}/references/layouts/hr.md +1 -1
  44. package/{skills/report-design → src/content/skills/bi-report}/references/native-visuals.md +1 -1
  45. package/{skills/report-design → src/content/skills/bi-report}/references/pbir-preview-activation.md +3 -3
  46. package/{skills/report-design → src/content/skills/bi-report}/references/troubleshooting.md +1 -1
  47. package/src/content/skills/bi-start.md +20 -20
  48. /package/skills/{report-design → bi-report}/references/cli-commands.md +0 -0
  49. /package/skills/{report-design → bi-report}/references/cli-setup.md +0 -0
  50. /package/skills/{report-design → bi-report}/references/close-write-open-pattern.md +0 -0
  51. /package/skills/{report-design → bi-report}/references/layouts/finance.md +0 -0
  52. /package/skills/{report-design → bi-report}/references/layouts/generic.md +0 -0
  53. /package/skills/{report-design → bi-report}/references/layouts/marketing.md +0 -0
  54. /package/skills/{report-design → bi-report}/references/layouts/operations.md +0 -0
  55. /package/skills/{report-design → bi-report}/references/layouts/sales.md +0 -0
  56. /package/skills/{report-design → bi-report}/references/pbi-desktop-installation.md +0 -0
  57. /package/skills/{report-design → bi-report}/references/slicer.md +0 -0
  58. /package/skills/{report-design → bi-report}/references/textbox.md +0 -0
  59. /package/skills/{report-design → bi-report}/references/themes/BISuperpowers.json +0 -0
  60. /package/skills/{report-design → bi-report}/references/visual-types.md +0 -0
  61. /package/skills/{report-design → bi-report}/scripts/apply-theme.js +0 -0
  62. /package/skills/{report-design → bi-report}/scripts/create-visual.js +0 -0
  63. /package/skills/{report-design → bi-report}/scripts/ensure-pbi-cli.sh +0 -0
  64. /package/skills/{report-design → bi-report}/scripts/validate-pbir.js +0 -0
  65. /package/src/content/skills/{report-design → bi-report}/references/cli-commands.md +0 -0
  66. /package/src/content/skills/{report-design → bi-report}/references/cli-setup.md +0 -0
  67. /package/src/content/skills/{report-design → bi-report}/references/close-write-open-pattern.md +0 -0
  68. /package/src/content/skills/{report-design → bi-report}/references/layouts/finance.md +0 -0
  69. /package/src/content/skills/{report-design → bi-report}/references/layouts/generic.md +0 -0
  70. /package/src/content/skills/{report-design → bi-report}/references/layouts/marketing.md +0 -0
  71. /package/src/content/skills/{report-design → bi-report}/references/layouts/operations.md +0 -0
  72. /package/src/content/skills/{report-design → bi-report}/references/layouts/sales.md +0 -0
  73. /package/src/content/skills/{report-design → bi-report}/references/pbi-desktop-installation.md +0 -0
  74. /package/src/content/skills/{report-design → bi-report}/references/slicer.md +0 -0
  75. /package/src/content/skills/{report-design → bi-report}/references/textbox.md +0 -0
  76. /package/src/content/skills/{report-design → bi-report}/references/themes/BISuperpowers.json +0 -0
  77. /package/src/content/skills/{report-design → bi-report}/references/visual-types.md +0 -0
  78. /package/src/content/skills/{report-design → bi-report}/scripts/apply-theme.js +0 -0
  79. /package/src/content/skills/{report-design → bi-report}/scripts/create-visual.js +0 -0
  80. /package/src/content/skills/{report-design → bi-report}/scripts/ensure-pbi-cli.sh +0 -0
  81. /package/src/content/skills/{report-design → bi-report}/scripts/validate-pbir.js +0 -0
@@ -6,7 +6,7 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "AI-powered skills for Power BI Desktop development. Works with Claude Code, GitHub Copilot, Codex, Gemini CLI, and Kilo Code.",
9
- "version": "4.1.5",
9
+ "version": "5.0.0",
10
10
  "repository": "https://github.com/luquimbo/bi-superpowers"
11
11
  },
12
12
  "plugins": [
@@ -16,10 +16,10 @@
16
16
  "source": "./",
17
17
  "strict": false,
18
18
  "skills": [
19
- "./skills/bi-start",
20
- "./skills/pbi-connect",
21
- "./skills/project-kickoff",
22
- "./skills/report-design"
19
+ "./skills/bi-connect",
20
+ "./skills/bi-kickoff",
21
+ "./skills/bi-report",
22
+ "./skills/bi-start"
23
23
  ]
24
24
  }
25
25
  ]
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bi-superpowers",
3
3
  "description": "Claude Code plugin for Power BI, Microsoft Fabric, and semantic model workflows powered by the official Microsoft MCP servers.",
4
- "version": "4.1.5",
4
+ "version": "5.0.0",
5
5
  "author": {
6
6
  "name": "Lucas Sanchez"
7
7
  },
@@ -1,39 +1,39 @@
1
1
  {
2
2
  "name": "bi-superpowers",
3
- "version": "4.1.5",
3
+ "version": "5.0.0",
4
4
  "skillCount": 4,
5
5
  "skills": [
6
6
  {
7
- "name": "bi-start",
8
- "title": "BI Start Skill",
9
- "description": "Use when the user asks about BI Start Skill, especially phrases like \"bi-start\", \"bi start\", \"/bi-start\", \"empezar\", \"comenzar\", \"arranco\".",
10
- "category": "command",
11
- "triggerCount": 22,
12
- "path": "skills/bi-start/SKILL.md"
13
- },
14
- {
15
- "name": "pbi-connect",
7
+ "name": "bi-connect",
16
8
  "title": "Power BI MCP Connection Skill",
17
- "description": "Use when the user asks about Power BI MCP Connection Skill, especially phrases like \"connect Power BI\", \"PBI connection\", \"MCP connection\", \"Power BI MCP\", \"modeling mcp\", \"Power BI Modeling MCP\".",
9
+ "description": "Use when the user asks about Power BI MCP Connection Skill, especially phrases like \"connect Power BI\", \"PBI connection\", \"MCP connection\", \"Power BI MCP\", \"DAX UDF\", \"DAX user-defined function\".",
18
10
  "category": "command",
19
- "triggerCount": 15,
20
- "path": "skills/pbi-connect/SKILL.md"
11
+ "triggerCount": 26,
12
+ "path": "skills/bi-connect/SKILL.md"
21
13
  },
22
14
  {
23
- "name": "project-kickoff",
15
+ "name": "bi-kickoff",
24
16
  "title": "Project Kickoff Skill",
25
17
  "description": "Use when the user asks about Project Kickoff Skill, especially phrases like \"I'm starting a brand-new BI project from scratch\", \"analizar proyecto\", \"analyze project\", \"project kickoff\", \"nuevo proyecto\", \"new project\".",
26
18
  "category": "command",
27
19
  "triggerCount": 15,
28
- "path": "skills/project-kickoff/SKILL.md"
20
+ "path": "skills/bi-kickoff/SKILL.md"
29
21
  },
30
22
  {
31
- "name": "report-design",
23
+ "name": "bi-report",
32
24
  "title": "Report Design Skill",
33
25
  "description": "Use when the user asks about Report Design Skill, especially phrases like \"crear reportes\", \"armar el reporte\", \"diseñar reporte\", \"report design\", \"create reports\", \"build dashboard\".",
34
26
  "category": "command",
35
27
  "triggerCount": 9,
36
- "path": "skills/report-design/SKILL.md"
28
+ "path": "skills/bi-report/SKILL.md"
29
+ },
30
+ {
31
+ "name": "bi-start",
32
+ "title": "BI Start Skill",
33
+ "description": "Use when the user asks about BI Start Skill, especially phrases like \"bi-start\", \"bi start\", \"/bi-start\", \"empezar\", \"comenzar\", \"arranco\".",
34
+ "category": "command",
35
+ "triggerCount": 22,
36
+ "path": "skills/bi-start/SKILL.md"
37
37
  }
38
38
  ]
39
39
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "spec": "open-plugin-spec@1",
3
3
  "name": "bi-superpowers",
4
- "version": "4.1.5",
4
+ "version": "5.0.0",
5
5
  "description": "Claude Code plugin for Power BI, Microsoft Fabric, and semantic model workflows powered by the official Microsoft MCP servers.",
6
6
  "author": {
7
7
  "name": "Lucas Sanchez"
package/AGENTS.md CHANGED
@@ -12,8 +12,10 @@
12
12
 
13
13
  ## Project Entry Points
14
14
  - `AGENTS.md` (this file)
15
- - `library/`
15
+ - `src/content/`
16
+ - `bin/`
16
17
  - `config.json`
18
+ - `validation/` (repo-only project validation descriptors and playbooks)
17
19
 
18
20
  ## Publishing to npm (for AI agents)
19
21
 
@@ -40,14 +42,18 @@ The repo uses **GitHub Actions** to publish automatically. The `NPM_TOKEN` is st
40
42
  ```
41
43
  5. **Run the local validations** (these also run in CI, but fail fast locally):
42
44
  ```bash
45
+ npm test
43
46
  npm run build:plugin
44
47
  npm run lint
45
48
  npm run format:check
49
+ npm audit --omit=dev --audit-level=moderate
50
+ node bin/cli.js scan --verbose
51
+ npm pack --dry-run --ignore-scripts
46
52
  ```
47
53
  6. **Commit with conventional commit message:**
48
54
  ```bash
49
- git add package.json package-lock.json [+ any regenerated files]
50
- git commit -m "chore: bump version to X.Y.Z"
55
+ git add package.json package-lock.json [+ source, docs, tests, regenerated files]
56
+ git commit -m "fix: describe the release change"
51
57
  ```
52
58
  7. **Create the version tag:**
53
59
  ```bash
@@ -94,24 +100,24 @@ npm install -g @luquimbo/bi-superpowers
94
100
  super install
95
101
  ```
96
102
 
97
- The shared v4.1.x contract is:
98
- - **4 skills** — `bi-start` (session opener), `project-kickoff`, `pbi-connect`, `report-design`
103
+ The shared v5.0.x contract is:
104
+ - **4 skills** — `bi-start` (session opener), `bi-kickoff`, `bi-connect`, `bi-report`
99
105
  - **2 MCP servers** — `powerbi-modeling-mcp`, `microsoft-learn`
100
106
 
101
107
  Agent-specific behavior:
102
108
  - **All agents** — the primary install is user-level via `super install`, not repo-local.
103
- - **Claude Code** — `super kickoff` can optionally generate a project-local plugin with slash commands: `/bi-start`, `/project-kickoff`, `/pbi-connect`, `/report-design`.
109
+ - **Claude Code** — `super kickoff` can optionally generate a project-local plugin with slash commands: `/bi-start`, `/bi-kickoff`, `/bi-connect`, `/bi-report`.
104
110
  - **GitHub Copilot** — uses the installed user-level skills + MCP config via natural-language prompts.
105
111
  - **Codex** — uses the installed user-level skills + MCP config via natural-language prompts. Do not run `super kickoff` for Codex setup.
106
112
  - **Gemini CLI** — uses the installed user-level skills + MCP config via natural-language prompts.
107
113
  - **Kilo Code** — uses the installed user-level skills + MCP config via natural-language prompts.
108
114
 
109
- `/report-design` has one extra runtime prerequisite on every agent: **Windows + Power BI Desktop (standalone) + Python 3.10+ + `pipx` + `pbi-cli-tool`**. The bundled Node scripts handle visual/theme authoring, but the current flow still uses `pbi` for connect, page ops, and validate. If that stack is not available yet, start with `bi-start`, `project-kickoff`, or `pbi-connect`.
115
+ `/bi-report` has one extra runtime prerequisite on every agent: **Windows + Power BI Desktop (standalone) + Python 3.10+ + `pipx` + `pbi-cli-tool`**. The bundled Node scripts handle visual/theme authoring, but the current flow still uses `pbi` for connect, page ops, and validate. If that stack is not available yet, start with `bi-start`, `bi-kickoff`, or `bi-connect`.
110
116
 
111
117
  ### Claude Desktop
112
118
 
113
119
  ```bash
114
- super build-desktop
120
+ super build-desktop --output dist
115
121
  # Double-click bi-superpowers.mcpb para instalar en Claude Desktop
116
122
  ```
117
123
 
@@ -137,6 +143,29 @@ Los 4 skills quedan disponibles como MCP prompts.
137
143
  5. **Document Results**: Add a review section when task tracking is in scope.
138
144
  6. **Capture Lessons**: Update lessons only when the repo uses it or the user requests it.
139
145
 
146
+ ## Project Validation Harness
147
+
148
+ Use `validation/` when the user wants to test the plugin against public fixtures
149
+ or private client projects. Keep this boundary:
150
+
151
+ - `examples/smoke-test/` is the public fixture area.
152
+ - `validation/projects/*.json` stores sanitized metadata only.
153
+ - `validation/cases/*.md` stores manual validation playbooks.
154
+ - `validation.local.json` stores private local repo paths and is gitignored.
155
+ - `validation/runs/` stores local logs and is gitignored.
156
+
157
+ Never copy customer repositories, `.pbix`, Excel files, credentials,
158
+ screenshots with private data, or private Git remotes into this public repo. Run
159
+ structural checks with:
160
+
161
+ ```bash
162
+ super validate-projects --project super-test
163
+ super validate-projects --strict
164
+ ```
165
+
166
+ MCP-backed validation still happens in the external client repo or public
167
+ fixture; this repo records only sanitized evidence and repeatable checks.
168
+
140
169
  ## Core Principles
141
170
 
142
171
  - **Simplicity First**: Minimal, clear changes.
@@ -148,9 +177,9 @@ Los 4 skills quedan disponibles como MCP prompts.
148
177
  | Skill | Purpose | Trigger |
149
178
  |-------|---------|---------|
150
179
  | `/bi-start` | Session opener: environment snapshot, update check, and routing to the specialist skills | "bi-start", "empezar", "start session" |
151
- | `/project-kickoff` | Analyze and plan BI projects | "analyze project", "new project" |
152
- | `/pbi-connect` | Connect to Power BI Desktop | "connect Power BI", "MCP" |
153
- | `/report-design` | Generate PBIR report pages via bundled Node scripts | "report design", "crear reportes" |
180
+ | `/bi-kickoff` | Analyze and plan BI projects | "analyze project", "new project" |
181
+ | `/bi-connect` | Connect to Power BI Desktop and guide DAX UDF authoring with Microsoft Learn + DAXLIB references | "connect Power BI", "MCP", "DAX UDF", "DAXLIB" |
182
+ | `/bi-report` | Generate PBIR report pages via bundled Node scripts | "report design", "crear reportes" |
154
183
 
155
184
  ## MCP Servers (2)
156
185
 
@@ -165,6 +194,8 @@ Los 4 skills quedan disponibles como MCP prompts.
165
194
 
166
195
  BI Agent Superpowers installs skills and MCP configuration at the user level for all supported agents. It can also generate a native Claude Code plugin from the same source of truth when a user explicitly wants repo-local Claude Code plugin files.
167
196
 
197
+ `super mcp-setup` is local-plugin maintenance only. It must run inside a repo already initialized by `super kickoff` (detected by `.bi-superpowers.json` or `.claude-plugin/plugin.json`). Do not use it for Codex, GitHub Copilot, Gemini CLI, Kilo Code, or normal Claude Code user-level setup; use `super install --all --yes` instead.
198
+
168
199
  ### Output Targets
169
200
 
170
201
  | Target | Format | Output |
@@ -179,10 +210,9 @@ BI Agent Superpowers installs skills and MCP configuration at the user level for
179
210
  project/
180
211
  ├── .claude-plugin/plugin.json # Plugin manifest
181
212
  ├── .mcp.json # Power BI Modeling + Microsoft Learn MCPs
182
- ├── commands/*.md # 4 slash commands (bi-start, pbi-connect, project-kickoff, report-design)
213
+ ├── commands/*.md # 4 slash commands (bi-start, bi-connect, bi-kickoff, bi-report)
183
214
  ├── skills/*/SKILL.md # 4 skills (discoverable)
184
- ├── config.json # User preferences
185
- └── library/ → symlink # Snippets, templates, themes
215
+ └── config.json # User preferences
186
216
  ```
187
217
 
188
218
  ### Desktop Extension (generated by build-desktop)
@@ -195,51 +225,15 @@ desktop-extension/
195
225
  └── skills/ # Bundled at build time
196
226
  ```
197
227
 
198
- Run `bi-superpowers recharge` after modifying skills to regenerate the plugin.
199
-
200
- ---
201
-
202
- ## Library Resources
203
-
204
- The `library/` folder contains reusable assets:
205
-
206
- ```
207
- library/
208
- ├── snippets/ # Code patterns
209
- │ ├── dax/ # Time intelligence, rankings, CALCULATE
210
- │ ├── power-query/ # Transformations, error handling
211
- │ ├── excel-formulas/ # Dynamic arrays, lookups
212
- │ ├── report-design/ # Chart selection, accessibility, layouts
213
- │ └── governance/ # Naming conventions, review checklists
214
- ├── templates/ # Project templates
215
- │ ├── power-bi/
216
- │ ├── excel/
217
- │ └── data-models/
218
- ├── themes/ # Visual themes
219
- │ └── power-bi/ # JSON theme files
220
- └── examples/ # Reference implementations
221
- ├── finance-reporting/
222
- ├── hr-analytics/
223
- ├── retail-analytics/
224
- ├── supply-chain/
225
- └── marketing-analytics/
226
- ```
227
-
228
- Reference patterns in prompts:
229
- ```
230
- "Using patterns from library/snippets/dax/time-intelligence.md,
231
- create a rolling 12-month average measure"
232
- ```
233
-
234
- ---
228
+ Run `npm run build:plugin` after modifying source skills, or `super recharge` when refreshing an initialized local Claude Code plugin in a user project.
235
229
 
236
230
  ## Configuration
237
231
 
238
- Project-local user preferences live in `config.json`:
232
+ Optional project-local user preferences live in `config.json` when a local Claude Code plugin is initialized:
239
233
 
240
234
  - This file is meant to be read by your AI tool as **context** (experience level, language, domain terms).
241
- - `bi-superpowers kickoff` will create it automatically from the package template if it doesn't exist.
242
- - The CLI stores selected AI tools in `.bi-superpowers.json` (also project-local) so `bi-superpowers recharge` knows what to regenerate.
235
+ - `super kickoff` creates it automatically from the package template if it doesn't exist.
236
+ - The CLI stores local-plugin metadata in `.bi-superpowers.json` so `super recharge` and `super mcp-setup` can refresh the initialized plugin safely.
243
237
 
244
238
  ```json
245
239
  {
@@ -295,6 +289,8 @@ Connect AI assistants directly to Power BI and Excel:
295
289
  | MCP Protocol | https://modelcontextprotocol.io |
296
290
  | Power BI Docs | https://docs.microsoft.com/power-bi |
297
291
  | DAX Guide | https://dax.guide |
292
+ | DAX UDF Docs | https://learn.microsoft.com/en-us/dax/best-practices/dax-user-defined-functions |
293
+ | DAXLIB | https://github.com/daxlib/daxlib |
298
294
 
299
295
  ---
300
296
 
package/CHANGELOG.md CHANGED
@@ -5,6 +5,73 @@ All notable changes to BI Agent Superpowers will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [Unreleased]
9
+
10
+ ## [5.0.0] — 2026-04-28
11
+
12
+ ### Breaking
13
+
14
+ - Standardized all public slash commands under the `/bi-*` namespace:
15
+ `/project-kickoff` is now `/bi-kickoff`, `/pbi-connect` is now
16
+ `/bi-connect`, and `/report-design` is now `/bi-report`.
17
+ - Regenerated the Claude Code plugin commands, user-level skills, skill
18
+ manifests, docs, and validation fixtures for the new command names.
19
+
20
+ ### Added
21
+
22
+ - Added the project validation harness and public `super validate-projects`
23
+ QA command for checking the bundled smoke project plus private client
24
+ descriptors without vendoring client repositories.
25
+ - `bi-connect` now includes a DAX UDF wiki that tells installed agents to use
26
+ Microsoft Learn for current UDF syntax and DAXLIB as an upstream reference for
27
+ reusable function patterns, without vendoring DAXLIB source by default.
28
+
29
+ ### Fixed
30
+
31
+ - `super validate-projects` now fails fast when `validation/projects` is missing,
32
+ so running it from the wrong directory cannot false-green with `0 checked`.
33
+ - Generated command and skill edit comments now point folder-based skills at the
34
+ real source path, for example `src/content/skills/bi-report/SKILL.md`.
35
+ - README update instructions use a neutral project placeholder and the BI Report
36
+ runtime table-of-contents anchor now matches the heading.
37
+ - Historical changelog entries were restored to the command and file names that
38
+ actually shipped in those older releases.
39
+
40
+ ## [4.1.6] — 2026-04-24
41
+
42
+ ### Fixed
43
+
44
+ - `super mcp-setup` now rejects every repo-local target, including legacy
45
+ `--tool cursor`, `--tool vscode`, `--tool kilocode`, `--tool open-code`, and
46
+ `--tool claude-code`, unless the target repo already has a BI Superpowers
47
+ local plugin marker from `super kickoff`.
48
+ - `super mcp-setup` now refuses to overwrite corrupt existing JSON configs and
49
+ writes through the same atomic backup path used by the user-level MCP config
50
+ writer.
51
+ - `super install` copy-mode refreshes now mirror managed skill directories, so
52
+ runtime scripts and references removed in a newer package cannot remain
53
+ installed from an older package.
54
+ - `super build-desktop --output <path>` now honors the documented output path.
55
+
56
+ ### Changed
57
+
58
+ - README, AGENTS, CLAUDE, Getting Started, Architecture, Security, Contributing,
59
+ and Roadmap docs now consistently describe the user-level install contract and
60
+ the optional local Claude Code plugin path.
61
+
62
+ ## [4.1.5] — 2026-04-24
63
+
64
+ ### Fixed
65
+
66
+ - Removed the obsolete `coordination/` QA shortcut from `AGENTS.md`.
67
+ - `super mcp-setup --tool claude-plugin` no longer creates `.mcp.json` in an
68
+ arbitrary directory without an existing local plugin marker.
69
+ - User-level MCP config writes validate the final path, `.tmp`, and `.bak`
70
+ paths before writing, rejecting pre-existing symlinks.
71
+ - `super upgrade` now points users to the canonical
72
+ `super install --all --yes` refresh command.
73
+ - Kilo Code path documentation now consistently uses `~/.kilo/mcp_settings.json`.
74
+
8
75
  ## [4.1.4] — 2026-04-24
9
76
 
10
77
  ### Fixed
package/README.md CHANGED
@@ -16,7 +16,7 @@ This is not a loose prompt pack. It is a reproducible Power BI agent layer:
16
16
  - **1 CLI** (`super`) for install, updates, local plugin generation, checks, and regeneration.
17
17
  - **Claude Code plugin artifacts** with slash commands, discoverable skills, and MCP configuration.
18
18
 
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.
19
+ > Status: `v5.0.x` is the current stable release line. The v5 line standardizes every public slash command under the `/bi-*` namespace.
20
20
 
21
21
  ---
22
22
 
@@ -32,10 +32,11 @@ This is not a loose prompt pack. It is a reproducible Power BI agent layer:
32
32
  - [CLI Reference](#cli-reference)
33
33
  - [Plugin File Tree](#plugin-file-tree)
34
34
  - [Requirements](#requirements)
35
- - [Report Design Runtime](#report-design-runtime)
35
+ - [BI Report Runtime](#bi-report-runtime)
36
36
  - [Updates](#updates)
37
37
  - [What Ships To npm](#what-ships-to-npm)
38
38
  - [Development](#development)
39
+ - [Project Validation Harness](#project-validation-harness)
39
40
  - [Troubleshooting](#troubleshooting)
40
41
  - [FAQ](#faq)
41
42
 
@@ -258,7 +259,7 @@ Use it when:
258
259
  - you do not know which skill to invoke;
259
260
  - you want the agent to check update status before work begins.
260
261
 
261
- ### `project-kickoff`
262
+ ### `bi-kickoff`
262
263
 
263
264
  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
265
 
@@ -268,7 +269,7 @@ Use it when:
268
269
  - starting a new PBIP project;
269
270
  - asking an agent to understand project structure before editing.
270
271
 
271
- ### `pbi-connect`
272
+ ### `bi-connect`
272
273
 
273
274
  Power BI Desktop connection skill. It helps the agent connect to the open Power BI Desktop model through the Microsoft Power BI Modeling MCP.
274
275
 
@@ -277,8 +278,9 @@ Use it when:
277
278
  - you need to list tables, columns, measures, or relationships;
278
279
  - you want to execute DAX queries;
279
280
  - you want the agent to inspect or modify the semantic model through Desktop.
281
+ - you want to write or review DAX user-defined functions using current Microsoft Learn syntax and DAXLIB patterns.
280
282
 
281
- ### `report-design`
283
+ ### `bi-report`
282
284
 
283
285
  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
286
 
@@ -310,7 +312,7 @@ Expected result:
310
312
  ### Analyze A Power BI Project
311
313
 
312
314
  ```text
313
- /project-kickoff
315
+ /bi-kickoff
314
316
  Analyze this Power BI repo. Tell me what exists, what is missing, and what plan we should follow.
315
317
  ```
316
318
 
@@ -319,12 +321,12 @@ Expected result:
319
321
  - project map;
320
322
  - risks and missing context;
321
323
  - recommended implementation path;
322
- - handoff to `pbi-connect` or `report-design` when appropriate.
324
+ - handoff to `bi-connect` or `bi-report` when appropriate.
323
325
 
324
326
  ### Connect To Power BI Desktop
325
327
 
326
328
  ```text
327
- /pbi-connect
329
+ /bi-connect
328
330
  Connect to the model currently open in Power BI Desktop and list tables, measures, columns, and relationships.
329
331
  ```
330
332
 
@@ -334,10 +336,24 @@ Expected result:
334
336
  - semantic model snapshot;
335
337
  - actionable diagnostics if Desktop or MCP wiring is not ready.
336
338
 
339
+ ### Write A DAX UDF With DAXLIB As Reference
340
+
341
+ ```text
342
+ /bi-connect
343
+ 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.
344
+ ```
345
+
346
+ Expected result:
347
+
348
+ - current UDF syntax/preview check;
349
+ - existing function inspection when a model is connected;
350
+ - DAXLIB-aware pattern selection without vendoring external code by default;
351
+ - tested function draft and validation steps.
352
+
337
353
  ### Generate A Report Page
338
354
 
339
355
  ```text
340
- /report-design
356
+ /bi-report
341
357
  Create an executive sales page with KPI cards, monthly trend, product ranking, and a slicer panel.
342
358
  ```
343
359
 
@@ -374,6 +390,14 @@ The installer always writes the universal skill copy to `~/.agents/skills/`, the
374
390
 
375
391
  You can install these MCPs manually, but `super install` writes the expected MCP config for each selected agent automatically.
376
392
 
393
+ For DAX user-defined functions, `bi-connect` also points agents at DAXLIB as an upstream reference:
394
+
395
+ - https://github.com/daxlib/daxlib
396
+ - https://docs.daxlib.org/
397
+ - https://github.com/daxlib
398
+
399
+ 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.
400
+
377
401
  ---
378
402
 
379
403
  ## CLI Reference
@@ -394,11 +418,15 @@ super recharge # Regenerate optional local Claude Code plugin artifacts
394
418
  super powers # List available skills
395
419
  super scan # Compare source skills with generated artifacts
396
420
  super checkup # Validate skill content
397
- super build-desktop # Build the Claude Desktop .mcpb extension
421
+ super validate-projects # Validate repo fixtures + local private project refs
422
+ super build-desktop # Build the Claude Desktop .mcpb extension in the current dir
423
+ super build-desktop --output dist
398
424
  super upgrade # Update the global CLI and print refresh steps
399
425
  super help # Show full CLI help
400
426
  ```
401
427
 
428
+ `super mcp-setup` is intentionally not part of normal setup. It only refreshes MCP config inside an existing local Claude Code plugin created by `super kickoff`; it refuses to write repo-local config in arbitrary projects. For Codex, GitHub Copilot, Gemini CLI, Kilo Code, and normal Claude Code user-level installs, use `super install --all --yes`.
429
+
402
430
  ---
403
431
 
404
432
  ## Plugin File Tree
@@ -420,20 +448,20 @@ project/
420
448
  ├─ .mcp.json
421
449
  ├─ commands/
422
450
  │ ├─ bi-start.md
423
- │ ├─ project-kickoff.md
424
- │ ├─ pbi-connect.md
425
- │ └─ report-design.md
451
+ │ ├─ bi-kickoff.md
452
+ │ ├─ bi-connect.md
453
+ │ └─ bi-report.md
426
454
  ├─ skills/
427
455
  │ ├─ bi-start/
428
456
  │ │ ├─ SKILL.md
429
457
  │ │ └─ scripts/update-check.js
430
- │ ├─ project-kickoff/
458
+ │ ├─ bi-kickoff/
431
459
  │ │ ├─ SKILL.md
432
460
  │ │ └─ scripts/update-check.js
433
- │ ├─ pbi-connect/
461
+ │ ├─ bi-connect/
434
462
  │ │ ├─ SKILL.md
435
463
  │ │ └─ scripts/update-check.js
436
- │ └─ report-design/
464
+ │ └─ bi-report/
437
465
  │ ├─ SKILL.md
438
466
  │ ├─ scripts/
439
467
  │ │ ├─ apply-theme.js
@@ -476,13 +504,13 @@ flowchart TD
476
504
  - Node.js 18 or newer.
477
505
  - At least one supported AI agent.
478
506
 
479
- ### For `pbi-connect`
507
+ ### For `bi-connect`
480
508
 
481
509
  - Windows.
482
510
  - Power BI Desktop open.
483
511
  - Power BI Modeling MCP available to the agent.
484
512
 
485
- ### For `report-design`
513
+ ### For `bi-report`
486
514
 
487
515
  - Windows.
488
516
  - Power BI Desktop standalone, not the Microsoft Store build.
@@ -493,9 +521,9 @@ flowchart TD
493
521
 
494
522
  ---
495
523
 
496
- ## Report Design Runtime
524
+ ## BI Report Runtime
497
525
 
498
- `report-design` uses bundled Node scripts for PBIR visual and theme authoring:
526
+ `bi-report` uses bundled Node scripts for PBIR visual and theme authoring:
499
527
 
500
528
  - `create-visual.js`
501
529
  - `apply-theme.js`
@@ -511,7 +539,7 @@ It still uses `pbi-cli-tool` for the current runtime flow:
511
539
  - `pbi report list-pages`
512
540
  - `pbi report validate`
513
541
 
514
- This means `pbi-cli-tool` is not optional for `report-design` today.
542
+ This means `pbi-cli-tool` is not optional for `bi-report` today.
515
543
 
516
544
  ---
517
545
 
@@ -539,6 +567,8 @@ super recharge
539
567
 
540
568
  `super upgrade` intentionally does not run `super install` or `super recharge` automatically. User-profile installs and project-local plugins are separate refresh targets.
541
569
 
570
+ On Windows, if symlink creation is not available and the installer falls back to copying skills, each re-run mirrors the managed skill directories. Removed or renamed bundled scripts are deleted from the copied install during refresh.
571
+
542
572
  ---
543
573
 
544
574
  ## What Ships To npm
@@ -566,12 +596,17 @@ package.json
566
596
  The npm package does not include:
567
597
 
568
598
  ```text
599
+ docs/superpowers/
569
600
  examples/smoke-test/
601
+ validation/
602
+ validation.local.example.json
603
+ validation.local.json
570
604
  node_modules/
571
605
  *.test.js
572
606
  ```
573
607
 
574
608
  `examples/smoke-test/` is intentionally repo-only. It is used for QA and manual validation, not for user installs.
609
+ `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.
575
610
 
576
611
  ---
577
612
 
@@ -618,6 +653,50 @@ Edit source files first, then regenerate generated outputs.
618
653
 
619
654
  ---
620
655
 
656
+ ## Project Validation Harness
657
+
658
+ In a source checkout, the repo can validate BI Agent Superpowers against real
659
+ Power BI work without committing customer repositories.
660
+
661
+ Public fixtures live in:
662
+
663
+ ```text
664
+ examples/smoke-test/
665
+ ```
666
+
667
+ Sanitized validation metadata lives in:
668
+
669
+ ```text
670
+ validation/projects/
671
+ validation/cases/
672
+ ```
673
+
674
+ Private local project paths live only in:
675
+
676
+ ```text
677
+ validation.local.json
678
+ ```
679
+
680
+ That file is gitignored. Copy `validation.local.example.json` when you want to
681
+ map client projects on your own machine.
682
+
683
+ Run the structural validation:
684
+
685
+ ```bash
686
+ super validate-projects --project super-test
687
+ ```
688
+
689
+ Run every descriptor, treating skipped private projects as failures:
690
+
691
+ ```bash
692
+ super validate-projects --strict
693
+ ```
694
+
695
+ This command is non-destructive. It checks project paths and required files; it
696
+ does not open Power BI Desktop, edit PBIP files, or copy private repos.
697
+
698
+ ---
699
+
621
700
  ## Publishing
622
701
 
623
702
  Publishing is handled by GitHub Actions. Do not run `npm publish` locally.
@@ -672,7 +751,7 @@ If npm's global bin directory is not in `PATH`, fix `PATH` or use your package m
672
751
  3. Confirm the Power BI Modeling MCP is installed.
673
752
  4. Restart the agent after MCP installation.
674
753
 
675
- ### `report-design` Stops Because Power BI Desktop Is The Microsoft Store Build
754
+ ### `bi-report` Stops Because Power BI Desktop Is The Microsoft Store Build
676
755
 
677
756
  Install the standalone Power BI Desktop build. The Store build can block flows required by CLI/MCP tooling.
678
757
 
@@ -697,7 +776,7 @@ No. Power BI Desktop remains the visual/runtime verification tool. The plugin he
697
776
 
698
777
  ### Does It Work Outside Windows?
699
778
 
700
- 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.
779
+ The CLI and several skills can run outside Windows. Workflows that depend on Power BI Desktop, especially `bi-connect` and `bi-report`, are Windows-first.
701
780
 
702
781
  ### Do I Need Claude Code?
703
782
 
@@ -705,7 +784,7 @@ No. Claude Code has the richest plugin/slash-command experience, but the npm ins
705
784
 
706
785
  ### Do I Need `pbi-cli-tool`?
707
786
 
708
- For `report-design`, yes. For `bi-start`, `project-kickoff`, and `pbi-connect`, not necessarily.
787
+ For `bi-report`, yes. For `bi-start`, `bi-kickoff`, and `bi-connect`, not necessarily.
709
788
 
710
789
  ### Can I Use Only The MCP Servers?
711
790