@luquimbo/bi-superpowers 3.2.0 → 4.1.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.
- package/.claude-plugin/marketplace.json +5 -3
- package/.claude-plugin/plugin.json +28 -2
- package/.claude-plugin/skill-manifest.json +22 -6
- package/.plugin/plugin.json +1 -1
- package/AGENTS.md +52 -36
- package/CHANGELOG.md +295 -0
- package/README.md +75 -26
- package/bin/build-plugin.js +11 -4
- package/bin/cli.js +113 -16
- package/bin/commands/build-desktop.js +35 -16
- package/bin/commands/diff.js +31 -13
- package/bin/commands/install.js +7 -3
- package/bin/commands/lint.js +40 -26
- package/bin/commands/mcp-setup.js +3 -10
- package/bin/commands/update-check.js +389 -0
- package/bin/lib/generators/claude-plugin.js +144 -6
- package/bin/lib/generators/shared.js +29 -33
- package/bin/lib/mcp-config.js +168 -12
- package/bin/lib/skills.js +115 -27
- package/bin/postinstall.js +4 -2
- package/bin/utils/mcp-detect.js +2 -2
- package/commands/bi-start.md +218 -0
- package/commands/pbi-connect.md +43 -65
- package/commands/project-kickoff.md +393 -673
- package/commands/report-design.md +403 -0
- package/desktop-extension/manifest.json +3 -3
- package/package.json +7 -5
- package/skills/bi-start/SKILL.md +220 -0
- package/skills/bi-start/scripts/update-check.js +389 -0
- package/skills/pbi-connect/SKILL.md +45 -67
- package/skills/pbi-connect/scripts/update-check.js +389 -0
- package/skills/project-kickoff/SKILL.md +395 -675
- package/skills/project-kickoff/scripts/update-check.js +389 -0
- package/skills/report-design/SKILL.md +405 -0
- package/skills/report-design/references/cli-commands.md +184 -0
- package/skills/report-design/references/cli-setup.md +101 -0
- package/skills/report-design/references/close-write-open-pattern.md +80 -0
- package/skills/report-design/references/layouts/finance.md +65 -0
- package/skills/report-design/references/layouts/generic.md +46 -0
- package/skills/report-design/references/layouts/hr.md +48 -0
- package/skills/report-design/references/layouts/marketing.md +45 -0
- package/skills/report-design/references/layouts/operations.md +44 -0
- package/skills/report-design/references/layouts/sales.md +50 -0
- package/skills/report-design/references/native-visuals.md +341 -0
- package/skills/report-design/references/pbi-desktop-installation.md +87 -0
- package/skills/report-design/references/pbir-preview-activation.md +40 -0
- package/skills/report-design/references/slicer.md +89 -0
- package/skills/report-design/references/textbox.md +101 -0
- package/skills/report-design/references/themes/BISuperpowers.json +915 -0
- package/skills/report-design/references/troubleshooting.md +135 -0
- package/skills/report-design/references/visual-types.md +78 -0
- package/skills/report-design/scripts/apply-theme.js +243 -0
- package/skills/report-design/scripts/create-visual.js +878 -0
- package/skills/report-design/scripts/ensure-pbi-cli.sh +41 -0
- package/skills/report-design/scripts/update-check.js +389 -0
- package/skills/report-design/scripts/validate-pbir.js +322 -0
- package/src/content/base.md +12 -68
- package/src/content/mcp-requirements.json +0 -25
- package/src/content/routing.md +19 -74
- package/src/content/skills/bi-start.md +191 -0
- package/src/content/skills/pbi-connect.md +22 -65
- package/src/content/skills/project-kickoff.md +372 -673
- package/src/content/skills/report-design/SKILL.md +376 -0
- package/src/content/skills/report-design/references/cli-commands.md +184 -0
- package/src/content/skills/report-design/references/cli-setup.md +101 -0
- package/src/content/skills/report-design/references/close-write-open-pattern.md +80 -0
- package/src/content/skills/report-design/references/layouts/finance.md +65 -0
- package/src/content/skills/report-design/references/layouts/generic.md +46 -0
- package/src/content/skills/report-design/references/layouts/hr.md +48 -0
- package/src/content/skills/report-design/references/layouts/marketing.md +45 -0
- package/src/content/skills/report-design/references/layouts/operations.md +44 -0
- package/src/content/skills/report-design/references/layouts/sales.md +50 -0
- package/src/content/skills/report-design/references/native-visuals.md +341 -0
- package/src/content/skills/report-design/references/pbi-desktop-installation.md +87 -0
- package/src/content/skills/report-design/references/pbir-preview-activation.md +40 -0
- package/src/content/skills/report-design/references/slicer.md +89 -0
- package/src/content/skills/report-design/references/textbox.md +101 -0
- package/src/content/skills/report-design/references/themes/BISuperpowers.json +915 -0
- package/src/content/skills/report-design/references/troubleshooting.md +135 -0
- package/src/content/skills/report-design/references/visual-types.md +78 -0
- package/src/content/skills/report-design/scripts/apply-theme.js +243 -0
- package/src/content/skills/report-design/scripts/create-visual.js +878 -0
- package/src/content/skills/report-design/scripts/ensure-pbi-cli.sh +41 -0
- package/src/content/skills/report-design/scripts/validate-pbir.js +322 -0
- package/bin/commands/install.test.js +0 -289
- package/bin/commands/lint.test.js +0 -103
- package/bin/lib/generators/claude-plugin.test.js +0 -111
- package/bin/lib/mcp-config.test.js +0 -310
- package/bin/lib/microsoft-mcp.test.js +0 -115
- package/bin/utils/mcp-detect.test.js +0 -81
- package/bin/utils/tui.test.js +0 -127
|
@@ -6,18 +6,20 @@
|
|
|
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": "
|
|
9
|
+
"version": "4.1.0",
|
|
10
10
|
"repository": "https://github.com/luquimbo/bi-superpowers"
|
|
11
11
|
},
|
|
12
12
|
"plugins": [
|
|
13
13
|
{
|
|
14
14
|
"name": "bi-superpowers",
|
|
15
|
-
"description": "
|
|
15
|
+
"description": "4 AI skills + Power BI Modeling and Microsoft Learn MCP servers for local Power BI Desktop workflows across 5 AI agents.",
|
|
16
16
|
"source": "./",
|
|
17
17
|
"strict": false,
|
|
18
18
|
"skills": [
|
|
19
|
+
"./skills/bi-start",
|
|
19
20
|
"./skills/pbi-connect",
|
|
20
|
-
"./skills/project-kickoff"
|
|
21
|
+
"./skills/project-kickoff",
|
|
22
|
+
"./skills/report-design"
|
|
21
23
|
]
|
|
22
24
|
}
|
|
23
25
|
]
|
|
@@ -1,8 +1,34 @@
|
|
|
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
|
+
"version": "4.1.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Lucas Sanchez"
|
|
7
|
-
}
|
|
7
|
+
},
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/luquimbo/bi-superpowers.git"
|
|
11
|
+
},
|
|
12
|
+
"homepage": "https://github.com/luquimbo/bi-superpowers#readme",
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"keywords": [
|
|
15
|
+
"power-bi",
|
|
16
|
+
"excel",
|
|
17
|
+
"dax",
|
|
18
|
+
"power-query",
|
|
19
|
+
"mcp",
|
|
20
|
+
"ai-agent",
|
|
21
|
+
"business-intelligence",
|
|
22
|
+
"data-modeling",
|
|
23
|
+
"semantic-model",
|
|
24
|
+
"ibcs",
|
|
25
|
+
"data-visualization",
|
|
26
|
+
"fabric",
|
|
27
|
+
"tmdl",
|
|
28
|
+
"claude-plugin",
|
|
29
|
+
"claude-code",
|
|
30
|
+
"claude-desktop",
|
|
31
|
+
"mcpb",
|
|
32
|
+
"ai-superpowers"
|
|
33
|
+
]
|
|
8
34
|
}
|
|
@@ -1,23 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bi-superpowers",
|
|
3
|
-
"version": "
|
|
4
|
-
"skillCount":
|
|
3
|
+
"version": "4.1.0",
|
|
4
|
+
"skillCount": 4,
|
|
5
5
|
"skills": [
|
|
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
|
+
},
|
|
6
14
|
{
|
|
7
15
|
"name": "pbi-connect",
|
|
8
16
|
"title": "Power BI MCP Connection Skill",
|
|
9
|
-
"description": "Use when the user asks about Power BI MCP Connection Skill, especially phrases like \"connect Power BI\", \"
|
|
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\".",
|
|
10
18
|
"category": "command",
|
|
11
|
-
"triggerCount":
|
|
19
|
+
"triggerCount": 15,
|
|
12
20
|
"path": "skills/pbi-connect/SKILL.md"
|
|
13
21
|
},
|
|
14
22
|
{
|
|
15
23
|
"name": "project-kickoff",
|
|
16
24
|
"title": "Project Kickoff Skill",
|
|
17
|
-
"description": "Project Kickoff Skill
|
|
25
|
+
"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\".",
|
|
18
26
|
"category": "command",
|
|
19
|
-
"triggerCount":
|
|
27
|
+
"triggerCount": 15,
|
|
20
28
|
"path": "skills/project-kickoff/SKILL.md"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "report-design",
|
|
32
|
+
"title": "Report Design Skill",
|
|
33
|
+
"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
|
+
"category": "command",
|
|
35
|
+
"triggerCount": 9,
|
|
36
|
+
"path": "skills/report-design/SKILL.md"
|
|
21
37
|
}
|
|
22
38
|
]
|
|
23
39
|
}
|
package/.plugin/plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"spec": "open-plugin-spec@1",
|
|
3
3
|
"name": "bi-superpowers",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "4.1.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
|
@@ -17,6 +17,36 @@
|
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
+
## QA Codex Shortcut
|
|
21
|
+
|
|
22
|
+
When the user says `qa codex` in a new session for this repo, treat it as activating the external QA review workflow.
|
|
23
|
+
|
|
24
|
+
Role split:
|
|
25
|
+
- **Codex** — external QA / code reviewer
|
|
26
|
+
- **Claude Code** — primary implementer
|
|
27
|
+
- **Lucas** — bridge between both agents
|
|
28
|
+
|
|
29
|
+
Default review protocol:
|
|
30
|
+
1. Read `coordination/ACTIVE_PLAN.md` first.
|
|
31
|
+
2. Read `coordination/TO_CODEX_REVIEW.md` second.
|
|
32
|
+
3. If `TO_CODEX_REVIEW.md` references an audit or follow-up review file, read that too.
|
|
33
|
+
4. Review commits or staged diffs with focus on:
|
|
34
|
+
- functional bugs
|
|
35
|
+
- regressions
|
|
36
|
+
- reasonable missing tests
|
|
37
|
+
- drift between `src/content/...` and generated artifacts
|
|
38
|
+
- build/release risks
|
|
39
|
+
- Windows + Power BI Desktop risks
|
|
40
|
+
5. Return prioritized findings first and a short summary second.
|
|
41
|
+
|
|
42
|
+
Working rules:
|
|
43
|
+
- Codex is a second opinion, not the implementation owner and not a release gate.
|
|
44
|
+
- Do not assume you saw the whole previous session; rely on the coordination `.md` files.
|
|
45
|
+
- If the user asks for a prompt for Claude, provide a copy-paste-ready prompt that explicitly references the coordination files above.
|
|
46
|
+
- This shortcut is a repo convention for future sessions, not implicit model memory.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
20
50
|
## Publishing to npm (for AI agents)
|
|
21
51
|
|
|
22
52
|
When the user asks for things like **"publica una nueva versión"**, **"publish a patch"**, **"sube esto a npm"**, **"release v1.2.0"**, follow this flow.
|
|
@@ -79,7 +109,7 @@ The repo uses **GitHub Actions** to publish automatically. The `NPM_TOKEN` is st
|
|
|
79
109
|
|
|
80
110
|
---
|
|
81
111
|
|
|
82
|
-
AI-powered toolkit for Power BI,
|
|
112
|
+
AI-powered toolkit for Power BI Desktop development across Claude Code, GitHub Copilot, Codex, Gemini CLI, and Kilo Code.
|
|
83
113
|
|
|
84
114
|
Developed by **Lucas Sanchez** ([@luquimbo](https://github.com/luquimbo))
|
|
85
115
|
|
|
@@ -87,27 +117,28 @@ Developed by **Lucas Sanchez** ([@luquimbo](https://github.com/luquimbo))
|
|
|
87
117
|
|
|
88
118
|
## Installation
|
|
89
119
|
|
|
90
|
-
###
|
|
120
|
+
### Supported Coding Agents
|
|
91
121
|
|
|
92
122
|
```bash
|
|
93
123
|
# 1. Install the CLI globally
|
|
94
124
|
npm install -g @luquimbo/bi-superpowers
|
|
95
125
|
|
|
96
|
-
# 2.
|
|
97
|
-
|
|
98
|
-
super kickoff
|
|
99
|
-
|
|
100
|
-
# 3. Run Claude Code with the plugin
|
|
101
|
-
claude --plugin-dir .
|
|
126
|
+
# 2. Install skills + MCPs for your coding agents
|
|
127
|
+
super install
|
|
102
128
|
```
|
|
103
129
|
|
|
104
|
-
|
|
105
|
-
- **
|
|
106
|
-
- **
|
|
107
|
-
- **4 Microsoft MCP servers** — Power BI, Fabric, Modeling, Microsoft Learn
|
|
108
|
-
- **Biblioteca completa** — snippets, templates, themes de Power BI
|
|
130
|
+
The shared v4.0.0 contract is:
|
|
131
|
+
- **4 skills** — `bi-start` (session opener), `project-kickoff`, `pbi-connect`, `report-design`
|
|
132
|
+
- **2 MCP servers** — `powerbi-modeling-mcp`, `microsoft-learn`
|
|
109
133
|
|
|
110
|
-
|
|
134
|
+
Agent-specific behavior:
|
|
135
|
+
- **Claude Code** — `super kickoff` can also generate a project-local plugin with slash commands: `/project-kickoff`, `/pbi-connect`, `/report-design`
|
|
136
|
+
- **GitHub Copilot** — uses the installed skills + MCP config via natural-language prompts
|
|
137
|
+
- **Codex** — uses the installed skills + MCP config via natural-language prompts
|
|
138
|
+
- **Gemini CLI** — uses the installed skills + MCP config via natural-language prompts
|
|
139
|
+
- **Kilo Code** — uses the installed skills + MCP config via natural-language prompts
|
|
140
|
+
|
|
141
|
+
`/report-design` has one extra runtime prerequisite on every agent: **Windows + Power BI Desktop + Python 3.10+ + `pipx` + `pbi-cli-tool`**. If that CLI stack is not available yet, start with `project-kickoff` and `pbi-connect`.
|
|
111
142
|
|
|
112
143
|
### Claude Desktop
|
|
113
144
|
|
|
@@ -116,23 +147,7 @@ super build-desktop
|
|
|
116
147
|
# Double-click bi-superpowers.mcpb para instalar en Claude Desktop
|
|
117
148
|
```
|
|
118
149
|
|
|
119
|
-
Los
|
|
120
|
-
|
|
121
|
-
### Other AI agents (experimental — skills only)
|
|
122
|
-
|
|
123
|
-
Los 24 skills funcionan en **GitHub Copilot, Codex, Gemini CLI, Kilo Code** vía el estándar abierto Agent Skills, pero con limitaciones:
|
|
124
|
-
|
|
125
|
-
- Los slash commands (`/dax-doctor`, etc.) **solo funcionan en Claude Code**. En otros agentes hay que usar lenguaje natural.
|
|
126
|
-
- Los MCP servers **solo funcionan en agentes con soporte MCP** (Claude Code, Copilot en VS Code, Codex).
|
|
127
|
-
- La configuración automática de MCPs Microsoft (Power BI Desktop local, Fabric auth) **solo está automatizada en el flujo de Claude Code**.
|
|
128
|
-
|
|
129
|
-
Si igual querés los skills en otro agente:
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
npx @luquimbo/bi-superpowers install
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
Instala los 24 skills en `~/.agents/skills/` con symlinks a los directorios específicos de cada agente. Este comando es un bonus para usuarios avanzados; la experiencia full sigue siendo Claude Code.
|
|
150
|
+
Los 4 skills quedan disponibles como MCP prompts.
|
|
136
151
|
|
|
137
152
|
---
|
|
138
153
|
|
|
@@ -160,18 +175,19 @@ Instala los 24 skills en `~/.agents/skills/` con symlinks a los directorios espe
|
|
|
160
175
|
- **No Laziness**: Fix root causes, avoid temporary patches.
|
|
161
176
|
- **Minimal Impact**: Touch only what is necessary.
|
|
162
177
|
|
|
163
|
-
## Available Skills (
|
|
178
|
+
## Available Skills (3)
|
|
164
179
|
|
|
165
180
|
| Skill | Purpose | Trigger |
|
|
166
181
|
|-------|---------|---------|
|
|
167
182
|
| `/project-kickoff` | Analyze and plan BI projects | "analyze project", "new project" |
|
|
168
183
|
| `/pbi-connect` | Connect to Power BI Desktop | "connect Power BI", "MCP" |
|
|
184
|
+
| `/report-design` | Generate PBIR report pages via `pbi-cli-tool` | "report design", "crear reportes" |
|
|
169
185
|
|
|
170
186
|
## MCP Servers (2)
|
|
171
187
|
|
|
172
188
|
| MCP | Type | Purpose |
|
|
173
189
|
|-----|------|---------|
|
|
174
|
-
| `powerbi-modeling` | stdio | Local connection to Power BI Desktop via XMLA |
|
|
190
|
+
| `powerbi-modeling-mcp` | stdio | Local connection to Power BI Desktop via XMLA |
|
|
175
191
|
| `microsoft-learn` | http | Microsoft Learn docs in context |
|
|
176
192
|
|
|
177
193
|
---
|
|
@@ -192,9 +208,9 @@ BI Agent Superpowers generates a native Claude Code plugin from a single source
|
|
|
192
208
|
```
|
|
193
209
|
project/
|
|
194
210
|
├── .claude-plugin/plugin.json # Plugin manifest
|
|
195
|
-
├── .mcp.json # Power BI +
|
|
196
|
-
├── commands/*.md #
|
|
197
|
-
├── skills/*/SKILL.md #
|
|
211
|
+
├── .mcp.json # Power BI Modeling + Microsoft Learn MCPs
|
|
212
|
+
├── commands/*.md # 3 slash commands (pbi-connect, project-kickoff, report-design)
|
|
213
|
+
├── skills/*/SKILL.md # 4 skills (discoverable)
|
|
198
214
|
├── config.json # User preferences
|
|
199
215
|
└── library/ → symlink # Snippets, templates, themes
|
|
200
216
|
```
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,301 @@ 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
|
+
## [4.1.0] — 2026-04-21
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **New skill: `/bi-start`** — session-opener that every new chat conversation can
|
|
13
|
+
arrange around. Shows an informative menu of the 4 skills, runs the update
|
|
14
|
+
check, and — on Windows when a `.pbip` project is detected — offers to
|
|
15
|
+
connect to Power BI Desktop via MCP in one step. Designed to replace the
|
|
16
|
+
"but wait, which command do I type?" moment at the start of a session.
|
|
17
|
+
`/project-kickoff` is now reserved for brand-new BI project bootstraps.
|
|
18
|
+
- **Three-level auto-update architecture** (closes ROADMAP item 4):
|
|
19
|
+
- _Level 1 (CLI banner)_: `update-notifier@^5.1.0` wrapped in `bin/cli.js`
|
|
20
|
+
— every `super <cmd>` spawns a detached background check against the
|
|
21
|
+
npm registry (24h cache) and prints a yellow update banner at process
|
|
22
|
+
exit when a newer version is on npm.
|
|
23
|
+
- _Level 2 (cross-agent skill preamble)_: `bin/commands/update-check.js`
|
|
24
|
+
is a standalone Node helper with 24h cache + escalating snooze
|
|
25
|
+
(24h → 48h → 7d) + network fallback. The Claude Code plugin generator
|
|
26
|
+
prepends an "update check" preamble to every `SKILL.md` and
|
|
27
|
+
`commands/*.md` that instructs the agent to run the helper at the top
|
|
28
|
+
of each conversation and — at most once per conversation — surface a
|
|
29
|
+
one-line "hay bi-superpowers vX disponible" notice. Works regardless
|
|
30
|
+
of the agent (Claude Code, Copilot, Codex, Gemini CLI, Kilo).
|
|
31
|
+
- _Level 3 (Claude Code native)_: `/plugin update bi-superpowers` via
|
|
32
|
+
the Claude Code marketplace, documented in `README.md`. Zero-npm UX
|
|
33
|
+
for users who installed via the marketplace.
|
|
34
|
+
- **`.gitattributes`** normalizing text files to LF — fixes
|
|
35
|
+
`npm run format:check` on Windows working trees (the CRLF-via-autocrlf
|
|
36
|
+
vs. Prettier `endOfLine: "lf"` mismatch that quietly broke `prepack`
|
|
37
|
+
for Windows developers).
|
|
38
|
+
- **`apply-theme.js` test coverage** — 13 new tests across happy path,
|
|
39
|
+
idempotent replacement, error paths, and atomic write/backup behavior.
|
|
40
|
+
Was previously the most dangerous script with zero tests.
|
|
41
|
+
- **`update-check.js` test coverage** — 30 tests across `compareVersions`,
|
|
42
|
+
cache freshness, snooze state + escalation, filesystem persistence,
|
|
43
|
+
and end-to-end CLI behavior via `spawnSync` (no real network calls).
|
|
44
|
+
- **Plugin manifest enrichment** (`.claude-plugin/plugin.json`) — now
|
|
45
|
+
inherits `repository`, `homepage`, `license`, and `keywords` from
|
|
46
|
+
`package.json` so Claude Code plugin marketplace listings match the
|
|
47
|
+
npm package metadata.
|
|
48
|
+
- **Desktop extension build includes folder-based skills** — the `.mcpb`
|
|
49
|
+
extension produced by `super build-desktop` was silently dropping
|
|
50
|
+
`report-design` (the flagship skill) because the bundler only picked
|
|
51
|
+
up flat `.md` files. Now uses `loadSkills()` which handles both flat
|
|
52
|
+
and folder-based layouts. 5 regression tests.
|
|
53
|
+
- **Skill trigger parser extracts multiple quoted fragments per bullet** —
|
|
54
|
+
`project-kickoff` went from `triggerCount: 0` to `9` in
|
|
55
|
+
`.claude-plugin/skill-manifest.json`; `pbi-connect` from `5` to `15`;
|
|
56
|
+
`report-design` from `3` to `9`.
|
|
57
|
+
- **`validate-pbir.js` detects duplicate `visual.name` on the same page** —
|
|
58
|
+
PBI Desktop accepts the file, but filter/bookmark refs collide.
|
|
59
|
+
- **README rewrite**: dual install paths clearly segmented by audience
|
|
60
|
+
(Claude Code users → marketplace, everyone else → npm + `super install`),
|
|
61
|
+
mirrored update instructions, and OQ-1 resolution explained inline.
|
|
62
|
+
- **Opus 4.7 1M code review report** at
|
|
63
|
+
`coordination/CODE_REVIEW_OPUS_2026-04-21.md` — 3 blockers + 5 high +
|
|
64
|
+
8 medium + 7 low findings across the whole repo (all resolved in this
|
|
65
|
+
release, except 4 mediums/3 lows explicitly deferred as product calls).
|
|
66
|
+
|
|
67
|
+
### Changed
|
|
68
|
+
|
|
69
|
+
- **`/project-kickoff` triggers narrowed to "new project" intent** —
|
|
70
|
+
"empezar", "arranco", "get started", "comenzar", "qué tengo aquí"
|
|
71
|
+
previously all landed on `/project-kickoff`. They now route to
|
|
72
|
+
`/bi-start`. `/project-kickoff` keeps "nuevo proyecto", "analizar
|
|
73
|
+
proyecto", "bootstrap BI", "armar el modelo base", etc.
|
|
74
|
+
- **Galería de Visuales regenerated via `create-visual.js` end-to-end**
|
|
75
|
+
(ROADMAP item 2) — the 22 visuals on the theme page in
|
|
76
|
+
`examples/smoke-test/` are now produced by the script, not
|
|
77
|
+
hand-written. Both validators green (`pbi report validate` +
|
|
78
|
+
`node validate-pbir.js`).
|
|
79
|
+
- **`super upgrade`** prints a formatted "next steps" block after the
|
|
80
|
+
reinstall with both update paths. Also resets
|
|
81
|
+
`~/.bi-superpowers/update-state.json` on success so the new version
|
|
82
|
+
starts clean.
|
|
83
|
+
- **SKILL.md PHASE 4.2 contradictions fixed** — the cheatsheet no longer
|
|
84
|
+
recommends `lineStackedColumnComboChart` (blocked by `create-visual.js`
|
|
85
|
+
because Desktop renders it as an empty container), and the stale
|
|
86
|
+
"write visual.json with the raw typeId" fallback paragraph that
|
|
87
|
+
contradicted MANDATORY RULE 2 is gone.
|
|
88
|
+
- **Stale `pbi-cli-tool` references removed** from 5 user-facing surfaces
|
|
89
|
+
(`bin/postinstall.js`, `bin/commands/install.js`,
|
|
90
|
+
`bin/lib/generators/shared.js`, `desktop-extension/manifest.json`,
|
|
91
|
+
`README.md`). The skill now says "Power BI Desktop (Windows)" —
|
|
92
|
+
`pbi-cli-tool` is optional for model introspection only.
|
|
93
|
+
- **Tarball trimmed** — `files` whitelist now excludes `**/*.test.js`.
|
|
94
|
+
Package size: 175.8 kB → 152.4 kB (103 → 88 files).
|
|
95
|
+
- **`desktop-extension/manifest.json` platforms narrowed to `["win32"]`** —
|
|
96
|
+
the extension was declaring `darwin + linux` compatibility but its
|
|
97
|
+
flagship skill stops on non-Windows. Non-Windows users get the full
|
|
98
|
+
skill set via `npm install -g && super install` instead.
|
|
99
|
+
- **Visual-type count drift fixed** — the allowlist actually has 28 native
|
|
100
|
+
types, not 25/26/27 as variously documented across `create-visual.js`,
|
|
101
|
+
`create-visual.test.js`, and `SKILL.md` (4 places). All now say 28.
|
|
102
|
+
- **`getSkillPurpose` map pruned** — 19 dead entries for skills that never
|
|
103
|
+
existed in v4 (dax, power-query, dax-doctor, governance, etc.) were
|
|
104
|
+
removed. Parity test added so the map stays in sync with
|
|
105
|
+
`src/content/skills/` automatically.
|
|
106
|
+
|
|
107
|
+
### Fixed
|
|
108
|
+
|
|
109
|
+
- **`escapePbiLiteral` now collapses newlines/tabs to single spaces** —
|
|
110
|
+
a `--title` containing a newline produced a malformed PBI literal.
|
|
111
|
+
- **`apply-theme.js --name` rejects path separators** — previously accepted
|
|
112
|
+
`--name "../../evil.json"` which would write outside
|
|
113
|
+
`StaticResources/RegisteredResources/`. Local-only issue, but still
|
|
114
|
+
defense-in-depth.
|
|
115
|
+
- **Textbox no longer double-renders `--title`** — `--title` for a textbox
|
|
116
|
+
is a paragraph shortcut, but the generator was also applying it as the
|
|
117
|
+
container title, so Desktop rendered the title twice (inner paragraph +
|
|
118
|
+
container chrome). Now the textbox container is always chrome-less
|
|
119
|
+
regardless of `--title`.
|
|
120
|
+
- **Textbox omits `drillFilterOtherVisuals`** — textboxes have no query;
|
|
121
|
+
the flag was meaningless noise in the generated `visual.json`.
|
|
122
|
+
|
|
123
|
+
### Removed
|
|
124
|
+
|
|
125
|
+
- **19 dead `getSkillPurpose` entries** for never-shipped skills
|
|
126
|
+
(`dax`, `power-query`, `data-modeling`, `data-model-design`,
|
|
127
|
+
`excel-formulas`, `theme-tweaker`, `rls-design`, `query-performance`,
|
|
128
|
+
`data-quality`, `fast-standard`, `testing-validation`, `contributions`,
|
|
129
|
+
`dax-doctor`, `model-documenter`, `migration-assistant`, `report-layout`,
|
|
130
|
+
`governance`, `semantic-model`, `deployment`, `dax-udf`). Map is now
|
|
131
|
+
parity-tested against the actual `src/content/skills/` tree.
|
|
132
|
+
|
|
133
|
+
### Test count
|
|
134
|
+
|
|
135
|
+
- 227 → **301** (+74 tests across 80 suites).
|
|
136
|
+
|
|
137
|
+
### Migration
|
|
138
|
+
|
|
139
|
+
Upgrading from v4.0.x is backwards-compatible at the user level — no config
|
|
140
|
+
changes required. Recommended sequence:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
# Users on Claude Code marketplace:
|
|
144
|
+
/plugin update bi-superpowers
|
|
145
|
+
|
|
146
|
+
# Users on npm:
|
|
147
|
+
super upgrade
|
|
148
|
+
super install --yes # propagate the new skills to all agents
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Session-opener users: when you previously said "empezar" / "arranco" /
|
|
152
|
+
"get started", you now land in `/bi-start` (menu + update + connect),
|
|
153
|
+
which will route you to `/project-kickoff` if you actually mean to
|
|
154
|
+
bootstrap a new project.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## [4.0.0] — 2026-04-15
|
|
159
|
+
|
|
160
|
+
### Breaking — `/report-design` pivoted to CLI-first architecture
|
|
161
|
+
|
|
162
|
+
The `/report-design` skill has been rewritten to orchestrate the
|
|
163
|
+
[`pbi-cli-tool`](https://github.com/MinaSaad1/pbi-cli) CLI (MIT,
|
|
164
|
+
by MinaSaad1) instead of hand-writing PBIR JSON. This is a **breaking
|
|
165
|
+
change** because students now need Python 3.10+ and `pbi-cli-tool`
|
|
166
|
+
installed (the skill auto-guides installation in PHASE 0).
|
|
167
|
+
|
|
168
|
+
**Why the pivot.** Smoke testing proved that Power BI Desktop does
|
|
169
|
+
NOT render externally-written `visual.json` files while the app is
|
|
170
|
+
running. The only reliable pattern is: close Desktop → write via CLI
|
|
171
|
+
→ reopen Desktop fresh. This "close-write-open" pattern is now the
|
|
172
|
+
backbone of the skill. The `pbi-cli-tool` CLI handles all PBIR
|
|
173
|
+
JSON generation (schema versioning, binding syntax, visual types) —
|
|
174
|
+
removing our most fragile maintenance burden.
|
|
175
|
+
|
|
176
|
+
### Added
|
|
177
|
+
|
|
178
|
+
- `close-write-open-pattern.md` — documents the core insight:
|
|
179
|
+
PBI Desktop caches the report in memory and ignores external disk
|
|
180
|
+
changes. Visuals must be added while Desktop is killed, then Desktop
|
|
181
|
+
relaunched to do a fresh disk scan.
|
|
182
|
+
- `cli-setup.md` — step-by-step Python + pipx + pbi-cli-tool install
|
|
183
|
+
- `cli-commands.md` — cheatsheet of `pbi` commands used by the skill
|
|
184
|
+
- `ensure-pbi-cli.sh` — idempotent install helper script
|
|
185
|
+
- PHASE 3 in SKILL.md now explicitly kills `PBIDesktop.exe` (with
|
|
186
|
+
user confirmation) before generating visuals
|
|
187
|
+
- PHASE 5 relaunches Desktop via `Start-Process` for fresh scan
|
|
188
|
+
- `examples/smoke-test/` — live test project with model + CLI-generated
|
|
189
|
+
visuals (excluded from npm via `files` whitelist)
|
|
190
|
+
- `research/` folder (gitignored) for third-party reference repos
|
|
191
|
+
|
|
192
|
+
### Removed
|
|
193
|
+
|
|
194
|
+
- `references/primitives/*.md` (6 files) — hand-written visual JSON
|
|
195
|
+
templates, replaced by CLI generation
|
|
196
|
+
- `references/bootstrap-card.md` — bootstrap pattern, CLI handles this
|
|
197
|
+
- `references/file-templates.md` — PBIR file structure, CLI handles this
|
|
198
|
+
- `references/fluent-palette.md` — theme colors, Desktop applies Fluent
|
|
199
|
+
- `references/known-uncertainties.md` — schema uncertainty, CLI handles
|
|
200
|
+
- `scripts/validate-pbir.js` — replaced by `pbi report validate`
|
|
201
|
+
|
|
202
|
+
### Changed
|
|
203
|
+
|
|
204
|
+
- SKILL.md completely rewritten around CLI workflow (~200 lines,
|
|
205
|
+
down from ~400)
|
|
206
|
+
- Layout files updated to use CLI visual type names (`card`,
|
|
207
|
+
`line_chart`, `bar_chart`, `matrix`, `table`)
|
|
208
|
+
- `project-kickoff.md` PHASE 7 handoff updated to mention CLI prereq
|
|
209
|
+
- `base.md` and `routing.md` descriptions updated
|
|
210
|
+
- `troubleshooting.md` rewritten for CLI-specific errors
|
|
211
|
+
- `report-design` added to `COMMAND_SKILLS` in the generator (now a
|
|
212
|
+
slash command, not just a reference skill)
|
|
213
|
+
|
|
214
|
+
### Credits
|
|
215
|
+
|
|
216
|
+
- [`pbi-cli-tool`](https://github.com/MinaSaad1/pbi-cli) by MinaSaad1
|
|
217
|
+
(MIT License) — the execution layer for PBIR report generation
|
|
218
|
+
- [`power-bi-agentic-development`](https://github.com/data-goblin/power-bi-agentic-development)
|
|
219
|
+
by Kurt Buhler (GPL-3.0) — studied as reference for workflow patterns
|
|
220
|
+
and PBIR mental model; no code incorporated
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## [3.4.0] — 2026-04-15
|
|
225
|
+
|
|
226
|
+
### Added
|
|
227
|
+
|
|
228
|
+
- **New skill: `/report-design`.** Authors 3 PBIR report pages directly
|
|
229
|
+
from a ready semantic model. Produces Pro-quality visuals — conditional
|
|
230
|
+
formatting, KPI cards with trend coloring, matrix with gradients,
|
|
231
|
+
slicers, sorted bar charts, pixel-perfect 1280×720 grid layout.
|
|
232
|
+
Adapts layout to domain (finance / sales / hr / operations / marketing /
|
|
233
|
+
otro).
|
|
234
|
+
- **Folder-based skill support.** The skill loader and plugin generator
|
|
235
|
+
now accept skills authored as a folder with `SKILL.md` + `references/`
|
|
236
|
+
+ `scripts/` subfolders (Anthropic's skill convention). Used by
|
|
237
|
+
`/report-design` — the main SKILL.md is a thin orchestrator and the
|
|
238
|
+
agent loads PBIR templates, layouts, and troubleshooting notes on
|
|
239
|
+
demand from `references/`. Ships a `validate-pbir.js` helper under
|
|
240
|
+
`scripts/` that structurally validates a generated `.Report/` folder.
|
|
241
|
+
- `/project-kickoff` now ends with a handoff to `/report-design` once
|
|
242
|
+
the model base has 1 fact + 1 dim + 3 measures.
|
|
243
|
+
|
|
244
|
+
### Changed
|
|
245
|
+
|
|
246
|
+
- `base.md` and `routing.md` updated to reflect the 3-skill catalog.
|
|
247
|
+
- The `description` field in `package.json` now reads "3 skills".
|
|
248
|
+
|
|
249
|
+
### Notes — PBIR Preview risk
|
|
250
|
+
|
|
251
|
+
PBIR (Power BI Enhanced Report format) is a Microsoft Public Preview
|
|
252
|
+
feature at the time of this release. Students must activate
|
|
253
|
+
**File → Options → Preview features → Power BI Project (.pbip) save
|
|
254
|
+
format (PBIR)** in Power BI Desktop before `/report-design` can write
|
|
255
|
+
report files. If Microsoft ships a schema update that breaks our
|
|
256
|
+
templates, run `super upgrade` — we commit to keeping the plugin in
|
|
257
|
+
sync with PBIR changes while the feature is in preview.
|
|
258
|
+
|
|
259
|
+
The skill is intentionally conservative: it reads existing PBIR files
|
|
260
|
+
from the project first to learn the local schema version, and mirrors
|
|
261
|
+
those patterns in everything it writes. If any primitive doesn't render,
|
|
262
|
+
`references/troubleshooting.md` has concrete remedies.
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## [3.3.0] — 2026-04-14
|
|
267
|
+
|
|
268
|
+
### Changed
|
|
269
|
+
|
|
270
|
+
- **Dropped Fabric MCP and Remote Power BI MCP references everywhere.** The
|
|
271
|
+
plugin now documents only the 2 MCPs it actually ships: `powerbi-modeling-mcp`
|
|
272
|
+
(local, Windows) and `microsoft-learn` (HTTP, any platform). The `pbi-connect`
|
|
273
|
+
skill, `project-kickoff` skill, `base.md`, `routing.md`, `mcp-setup` command,
|
|
274
|
+
and `mcp-requirements.json` were all updated to match.
|
|
275
|
+
- **Fixed naming inconsistency.** `bin/lib/mcp-config.js` now writes
|
|
276
|
+
`powerbi-modeling-mcp` (the canonical Microsoft name) across all 5 agents,
|
|
277
|
+
aligned with `.mcp.json` and `bin/lib/microsoft-mcp.js`. Previously it wrote
|
|
278
|
+
`powerbi-modeling` (short form), which caused a naming mismatch for users
|
|
279
|
+
who ran both `super install` and the plugin-first flow.
|
|
280
|
+
- **Narrowed `routing.md` and `base.md`** to the 2-skill reality (was still
|
|
281
|
+
listing 24 skills from v2 architecture).
|
|
282
|
+
|
|
283
|
+
### Added
|
|
284
|
+
|
|
285
|
+
- Tests for `bin/lib/generators/shared.js` (`parseSkillMetadata`,
|
|
286
|
+
`getSkillPurpose`, `generateSkillsSection`, header/footer) — 23 new tests.
|
|
287
|
+
- Tests for `bin/build-plugin.js` `verifyPluginOutputs` — covers the prepack
|
|
288
|
+
safety net.
|
|
289
|
+
- `.nvmrc` pinning Node 22 for contributors.
|
|
290
|
+
|
|
291
|
+
### Notes
|
|
292
|
+
|
|
293
|
+
- Users upgrading from 3.2.x should re-run `super install` so the new
|
|
294
|
+
canonical server name (`powerbi-modeling-mcp`) lands in their agent
|
|
295
|
+
configs. The old entry will linger as dead config until cleaned manually;
|
|
296
|
+
accepted as soft-launch tech debt.
|
|
297
|
+
- Scorecards, Power BI Goals, and Dataflows Gen 2 creation are **not**
|
|
298
|
+
supported by the official Microsoft MCPs as of 2026-01. Those flows need
|
|
299
|
+
the Power BI REST API or Fabric REST API directly — outside the MCP scope.
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
8
303
|
## [3.0.0] — 2026-04-11
|
|
9
304
|
|
|
10
305
|
### BREAKING CHANGES — massive scope reduction
|