@luquimbo/bi-superpowers 4.1.6 → 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.
- package/.claude-plugin/marketplace.json +5 -5
- package/.claude-plugin/plugin.json +1 -1
- package/.claude-plugin/skill-manifest.json +17 -17
- package/.plugin/plugin.json +1 -1
- package/AGENTS.md +34 -8
- package/CHANGELOG.md +32 -0
- package/README.md +97 -23
- package/bin/cli.js +6 -0
- package/bin/commands/diff.js +2 -2
- package/bin/commands/install.js +3 -3
- package/bin/commands/lint.js +2 -2
- package/bin/commands/validate-projects.js +425 -0
- package/bin/lib/generators/claude-plugin.js +20 -5
- package/bin/lib/generators/shared.js +7 -7
- package/bin/lib/skills.js +5 -5
- package/bin/postinstall.js +3 -3
- package/commands/{pbi-connect.md → bi-connect.md} +151 -3
- package/commands/{project-kickoff.md → bi-kickoff.md} +9 -9
- package/commands/{report-design.md → bi-report.md} +12 -12
- package/commands/bi-start.md +20 -20
- package/desktop-extension/manifest.json +1 -1
- package/package.json +1 -1
- package/skills/{pbi-connect → bi-connect}/SKILL.md +153 -5
- package/skills/{pbi-connect → bi-connect}/scripts/update-check.js +1 -1
- package/skills/{project-kickoff → bi-kickoff}/SKILL.md +11 -11
- package/skills/{report-design → bi-kickoff}/scripts/update-check.js +1 -1
- package/skills/{report-design → bi-report}/SKILL.md +14 -14
- package/skills/{report-design → bi-report}/references/layouts/hr.md +1 -1
- package/{src/content/skills/report-design → skills/bi-report}/references/native-visuals.md +1 -1
- package/{src/content/skills/report-design → skills/bi-report}/references/pbir-preview-activation.md +3 -3
- package/{src/content/skills/report-design → skills/bi-report}/references/troubleshooting.md +1 -1
- package/skills/{project-kickoff → bi-report}/scripts/update-check.js +1 -1
- package/skills/bi-start/SKILL.md +21 -21
- package/skills/bi-start/scripts/update-check.js +1 -1
- package/src/content/base.md +3 -3
- package/src/content/routing.md +20 -19
- package/src/content/skills/{pbi-connect.md → bi-connect.md} +149 -1
- package/src/content/skills/{project-kickoff.md → bi-kickoff.md} +8 -8
- package/src/content/skills/{report-design → bi-report}/SKILL.md +11 -11
- package/src/content/skills/{report-design → bi-report}/references/layouts/hr.md +1 -1
- package/{skills/report-design → src/content/skills/bi-report}/references/native-visuals.md +1 -1
- package/{skills/report-design → src/content/skills/bi-report}/references/pbir-preview-activation.md +3 -3
- package/{skills/report-design → src/content/skills/bi-report}/references/troubleshooting.md +1 -1
- package/src/content/skills/bi-start.md +20 -20
- /package/skills/{report-design → bi-report}/references/cli-commands.md +0 -0
- /package/skills/{report-design → bi-report}/references/cli-setup.md +0 -0
- /package/skills/{report-design → bi-report}/references/close-write-open-pattern.md +0 -0
- /package/skills/{report-design → bi-report}/references/layouts/finance.md +0 -0
- /package/skills/{report-design → bi-report}/references/layouts/generic.md +0 -0
- /package/skills/{report-design → bi-report}/references/layouts/marketing.md +0 -0
- /package/skills/{report-design → bi-report}/references/layouts/operations.md +0 -0
- /package/skills/{report-design → bi-report}/references/layouts/sales.md +0 -0
- /package/skills/{report-design → bi-report}/references/pbi-desktop-installation.md +0 -0
- /package/skills/{report-design → bi-report}/references/slicer.md +0 -0
- /package/skills/{report-design → bi-report}/references/textbox.md +0 -0
- /package/skills/{report-design → bi-report}/references/themes/BISuperpowers.json +0 -0
- /package/skills/{report-design → bi-report}/references/visual-types.md +0 -0
- /package/skills/{report-design → bi-report}/scripts/apply-theme.js +0 -0
- /package/skills/{report-design → bi-report}/scripts/create-visual.js +0 -0
- /package/skills/{report-design → bi-report}/scripts/ensure-pbi-cli.sh +0 -0
- /package/skills/{report-design → bi-report}/scripts/validate-pbir.js +0 -0
- /package/src/content/skills/{report-design → bi-report}/references/cli-commands.md +0 -0
- /package/src/content/skills/{report-design → bi-report}/references/cli-setup.md +0 -0
- /package/src/content/skills/{report-design → bi-report}/references/close-write-open-pattern.md +0 -0
- /package/src/content/skills/{report-design → bi-report}/references/layouts/finance.md +0 -0
- /package/src/content/skills/{report-design → bi-report}/references/layouts/generic.md +0 -0
- /package/src/content/skills/{report-design → bi-report}/references/layouts/marketing.md +0 -0
- /package/src/content/skills/{report-design → bi-report}/references/layouts/operations.md +0 -0
- /package/src/content/skills/{report-design → bi-report}/references/layouts/sales.md +0 -0
- /package/src/content/skills/{report-design → bi-report}/references/pbi-desktop-installation.md +0 -0
- /package/src/content/skills/{report-design → bi-report}/references/slicer.md +0 -0
- /package/src/content/skills/{report-design → bi-report}/references/textbox.md +0 -0
- /package/src/content/skills/{report-design → bi-report}/references/themes/BISuperpowers.json +0 -0
- /package/src/content/skills/{report-design → bi-report}/references/visual-types.md +0 -0
- /package/src/content/skills/{report-design → bi-report}/scripts/apply-theme.js +0 -0
- /package/src/content/skills/{report-design → bi-report}/scripts/create-visual.js +0 -0
- /package/src/content/skills/{report-design → bi-report}/scripts/ensure-pbi-cli.sh +0 -0
- /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": "
|
|
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-
|
|
20
|
-
"./skills/
|
|
21
|
-
"./skills/
|
|
22
|
-
"./skills/
|
|
19
|
+
"./skills/bi-connect",
|
|
20
|
+
"./skills/bi-kickoff",
|
|
21
|
+
"./skills/bi-report",
|
|
22
|
+
"./skills/bi-start"
|
|
23
23
|
]
|
|
24
24
|
}
|
|
25
25
|
]
|
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bi-superpowers",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0",
|
|
4
4
|
"skillCount": 4,
|
|
5
5
|
"skills": [
|
|
6
6
|
{
|
|
7
|
-
"name": "bi-
|
|
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\", \"
|
|
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":
|
|
20
|
-
"path": "skills/
|
|
11
|
+
"triggerCount": 26,
|
|
12
|
+
"path": "skills/bi-connect/SKILL.md"
|
|
21
13
|
},
|
|
22
14
|
{
|
|
23
|
-
"name": "
|
|
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/
|
|
20
|
+
"path": "skills/bi-kickoff/SKILL.md"
|
|
29
21
|
},
|
|
30
22
|
{
|
|
31
|
-
"name": "report
|
|
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
|
|
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
|
}
|
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": "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
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
- `src/content/`
|
|
16
16
|
- `bin/`
|
|
17
17
|
- `config.json`
|
|
18
|
+
- `validation/` (repo-only project validation descriptors and playbooks)
|
|
18
19
|
|
|
19
20
|
## Publishing to npm (for AI agents)
|
|
20
21
|
|
|
@@ -99,19 +100,19 @@ npm install -g @luquimbo/bi-superpowers
|
|
|
99
100
|
super install
|
|
100
101
|
```
|
|
101
102
|
|
|
102
|
-
The shared
|
|
103
|
-
- **4 skills** — `bi-start` (session opener), `
|
|
103
|
+
The shared v5.0.x contract is:
|
|
104
|
+
- **4 skills** — `bi-start` (session opener), `bi-kickoff`, `bi-connect`, `bi-report`
|
|
104
105
|
- **2 MCP servers** — `powerbi-modeling-mcp`, `microsoft-learn`
|
|
105
106
|
|
|
106
107
|
Agent-specific behavior:
|
|
107
108
|
- **All agents** — the primary install is user-level via `super install`, not repo-local.
|
|
108
|
-
- **Claude Code** — `super kickoff` can optionally generate a project-local plugin with slash commands: `/bi-start`, `/
|
|
109
|
+
- **Claude Code** — `super kickoff` can optionally generate a project-local plugin with slash commands: `/bi-start`, `/bi-kickoff`, `/bi-connect`, `/bi-report`.
|
|
109
110
|
- **GitHub Copilot** — uses the installed user-level skills + MCP config via natural-language prompts.
|
|
110
111
|
- **Codex** — uses the installed user-level skills + MCP config via natural-language prompts. Do not run `super kickoff` for Codex setup.
|
|
111
112
|
- **Gemini CLI** — uses the installed user-level skills + MCP config via natural-language prompts.
|
|
112
113
|
- **Kilo Code** — uses the installed user-level skills + MCP config via natural-language prompts.
|
|
113
114
|
|
|
114
|
-
`/report
|
|
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`.
|
|
115
116
|
|
|
116
117
|
### Claude Desktop
|
|
117
118
|
|
|
@@ -142,6 +143,29 @@ Los 4 skills quedan disponibles como MCP prompts.
|
|
|
142
143
|
5. **Document Results**: Add a review section when task tracking is in scope.
|
|
143
144
|
6. **Capture Lessons**: Update lessons only when the repo uses it or the user requests it.
|
|
144
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
|
+
|
|
145
169
|
## Core Principles
|
|
146
170
|
|
|
147
171
|
- **Simplicity First**: Minimal, clear changes.
|
|
@@ -153,9 +177,9 @@ Los 4 skills quedan disponibles como MCP prompts.
|
|
|
153
177
|
| Skill | Purpose | Trigger |
|
|
154
178
|
|-------|---------|---------|
|
|
155
179
|
| `/bi-start` | Session opener: environment snapshot, update check, and routing to the specialist skills | "bi-start", "empezar", "start session" |
|
|
156
|
-
| `/
|
|
157
|
-
| `/
|
|
158
|
-
| `/report
|
|
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" |
|
|
159
183
|
|
|
160
184
|
## MCP Servers (2)
|
|
161
185
|
|
|
@@ -186,7 +210,7 @@ BI Agent Superpowers installs skills and MCP configuration at the user level for
|
|
|
186
210
|
project/
|
|
187
211
|
├── .claude-plugin/plugin.json # Plugin manifest
|
|
188
212
|
├── .mcp.json # Power BI Modeling + Microsoft Learn MCPs
|
|
189
|
-
├── commands/*.md # 4 slash commands (bi-start,
|
|
213
|
+
├── commands/*.md # 4 slash commands (bi-start, bi-connect, bi-kickoff, bi-report)
|
|
190
214
|
├── skills/*/SKILL.md # 4 skills (discoverable)
|
|
191
215
|
└── config.json # User preferences
|
|
192
216
|
```
|
|
@@ -265,6 +289,8 @@ Connect AI assistants directly to Power BI and Excel:
|
|
|
265
289
|
| MCP Protocol | https://modelcontextprotocol.io |
|
|
266
290
|
| Power BI Docs | https://docs.microsoft.com/power-bi |
|
|
267
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 |
|
|
268
294
|
|
|
269
295
|
---
|
|
270
296
|
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,38 @@ 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
|
+
|
|
8
40
|
## [4.1.6] — 2026-04-24
|
|
9
41
|
|
|
10
42
|
### 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: `
|
|
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
|
|
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
|
-
### `
|
|
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
|
-
### `
|
|
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
|
|
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
|
-
/
|
|
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 `
|
|
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
|
-
/
|
|
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
|
|
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,6 +418,7 @@ 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
|
|
421
|
+
super validate-projects # Validate repo fixtures + local private project refs
|
|
397
422
|
super build-desktop # Build the Claude Desktop .mcpb extension in the current dir
|
|
398
423
|
super build-desktop --output dist
|
|
399
424
|
super upgrade # Update the global CLI and print refresh steps
|
|
@@ -423,20 +448,20 @@ project/
|
|
|
423
448
|
├─ .mcp.json
|
|
424
449
|
├─ commands/
|
|
425
450
|
│ ├─ bi-start.md
|
|
426
|
-
│ ├─
|
|
427
|
-
│ ├─
|
|
428
|
-
│ └─ report
|
|
451
|
+
│ ├─ bi-kickoff.md
|
|
452
|
+
│ ├─ bi-connect.md
|
|
453
|
+
│ └─ bi-report.md
|
|
429
454
|
├─ skills/
|
|
430
455
|
│ ├─ bi-start/
|
|
431
456
|
│ │ ├─ SKILL.md
|
|
432
457
|
│ │ └─ scripts/update-check.js
|
|
433
|
-
│ ├─
|
|
458
|
+
│ ├─ bi-kickoff/
|
|
434
459
|
│ │ ├─ SKILL.md
|
|
435
460
|
│ │ └─ scripts/update-check.js
|
|
436
|
-
│ ├─
|
|
461
|
+
│ ├─ bi-connect/
|
|
437
462
|
│ │ ├─ SKILL.md
|
|
438
463
|
│ │ └─ scripts/update-check.js
|
|
439
|
-
│ └─ report
|
|
464
|
+
│ └─ bi-report/
|
|
440
465
|
│ ├─ SKILL.md
|
|
441
466
|
│ ├─ scripts/
|
|
442
467
|
│ │ ├─ apply-theme.js
|
|
@@ -479,13 +504,13 @@ flowchart TD
|
|
|
479
504
|
- Node.js 18 or newer.
|
|
480
505
|
- At least one supported AI agent.
|
|
481
506
|
|
|
482
|
-
### For `
|
|
507
|
+
### For `bi-connect`
|
|
483
508
|
|
|
484
509
|
- Windows.
|
|
485
510
|
- Power BI Desktop open.
|
|
486
511
|
- Power BI Modeling MCP available to the agent.
|
|
487
512
|
|
|
488
|
-
### For `report
|
|
513
|
+
### For `bi-report`
|
|
489
514
|
|
|
490
515
|
- Windows.
|
|
491
516
|
- Power BI Desktop standalone, not the Microsoft Store build.
|
|
@@ -496,9 +521,9 @@ flowchart TD
|
|
|
496
521
|
|
|
497
522
|
---
|
|
498
523
|
|
|
499
|
-
## Report
|
|
524
|
+
## BI Report Runtime
|
|
500
525
|
|
|
501
|
-
`report
|
|
526
|
+
`bi-report` uses bundled Node scripts for PBIR visual and theme authoring:
|
|
502
527
|
|
|
503
528
|
- `create-visual.js`
|
|
504
529
|
- `apply-theme.js`
|
|
@@ -514,7 +539,7 @@ It still uses `pbi-cli-tool` for the current runtime flow:
|
|
|
514
539
|
- `pbi report list-pages`
|
|
515
540
|
- `pbi report validate`
|
|
516
541
|
|
|
517
|
-
This means `pbi-cli-tool` is not optional for `report
|
|
542
|
+
This means `pbi-cli-tool` is not optional for `bi-report` today.
|
|
518
543
|
|
|
519
544
|
---
|
|
520
545
|
|
|
@@ -571,12 +596,17 @@ package.json
|
|
|
571
596
|
The npm package does not include:
|
|
572
597
|
|
|
573
598
|
```text
|
|
599
|
+
docs/superpowers/
|
|
574
600
|
examples/smoke-test/
|
|
601
|
+
validation/
|
|
602
|
+
validation.local.example.json
|
|
603
|
+
validation.local.json
|
|
575
604
|
node_modules/
|
|
576
605
|
*.test.js
|
|
577
606
|
```
|
|
578
607
|
|
|
579
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.
|
|
580
610
|
|
|
581
611
|
---
|
|
582
612
|
|
|
@@ -623,6 +653,50 @@ Edit source files first, then regenerate generated outputs.
|
|
|
623
653
|
|
|
624
654
|
---
|
|
625
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
|
+
|
|
626
700
|
## Publishing
|
|
627
701
|
|
|
628
702
|
Publishing is handled by GitHub Actions. Do not run `npm publish` locally.
|
|
@@ -677,7 +751,7 @@ If npm's global bin directory is not in `PATH`, fix `PATH` or use your package m
|
|
|
677
751
|
3. Confirm the Power BI Modeling MCP is installed.
|
|
678
752
|
4. Restart the agent after MCP installation.
|
|
679
753
|
|
|
680
|
-
### `report
|
|
754
|
+
### `bi-report` Stops Because Power BI Desktop Is The Microsoft Store Build
|
|
681
755
|
|
|
682
756
|
Install the standalone Power BI Desktop build. The Store build can block flows required by CLI/MCP tooling.
|
|
683
757
|
|
|
@@ -702,7 +776,7 @@ No. Power BI Desktop remains the visual/runtime verification tool. The plugin he
|
|
|
702
776
|
|
|
703
777
|
### Does It Work Outside Windows?
|
|
704
778
|
|
|
705
|
-
The CLI and several skills can run outside Windows. Workflows that depend on Power BI Desktop, especially `
|
|
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.
|
|
706
780
|
|
|
707
781
|
### Do I Need Claude Code?
|
|
708
782
|
|
|
@@ -710,7 +784,7 @@ No. Claude Code has the richest plugin/slash-command experience, but the npm ins
|
|
|
710
784
|
|
|
711
785
|
### Do I Need `pbi-cli-tool`?
|
|
712
786
|
|
|
713
|
-
For `report
|
|
787
|
+
For `bi-report`, yes. For `bi-start`, `bi-kickoff`, and `bi-connect`, not necessarily.
|
|
714
788
|
|
|
715
789
|
### Can I Use Only The MCP Servers?
|
|
716
790
|
|
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.
|
|
@@ -171,6 +173,7 @@ Developer tools:
|
|
|
171
173
|
checkup [file] Lint/validate skill source files
|
|
172
174
|
scan Diff between source skills and generated plugin
|
|
173
175
|
sentinel Watch skill sources and auto-regenerate
|
|
176
|
+
validate-projects Validate public fixtures + local private project references
|
|
174
177
|
|
|
175
178
|
Options:
|
|
176
179
|
--dry-run Preview changes without writing files (kickoff, recharge)
|
|
@@ -187,6 +190,7 @@ Examples:
|
|
|
187
190
|
super build-desktop # Build .mcpb for Claude Desktop
|
|
188
191
|
super build-desktop --output dist
|
|
189
192
|
super mcp-setup # Existing local Claude Code plugin only
|
|
193
|
+
super validate-projects # Developer QA against validation/ descriptors
|
|
190
194
|
|
|
191
195
|
Open source — MIT licensed.
|
|
192
196
|
Documentation: https://github.com/luquimbo/bi-superpowers
|
|
@@ -757,6 +761,7 @@ const runDiff = createCommandWrapper(diffCommand, 'Diff');
|
|
|
757
761
|
const runMcpSetup = createCommandWrapper(mcpSetupCommand, 'MCP setup');
|
|
758
762
|
const runBuildDesktop = createCommandWrapper(buildDesktopCommand, 'Build Desktop');
|
|
759
763
|
const runInstall = createCommandWrapper(installCommand, 'Install');
|
|
764
|
+
const runValidateProjects = createCommandWrapper(validateProjectsCommand, 'Validate projects');
|
|
760
765
|
|
|
761
766
|
// Register wrapper-based commands into the command map (phase 2).
|
|
762
767
|
commands.install = runInstall;
|
|
@@ -766,6 +771,7 @@ commands.sentinel = runWatch;
|
|
|
766
771
|
commands['mcp-setup'] = runMcpSetup;
|
|
767
772
|
commands.mcp = runMcpSetup;
|
|
768
773
|
commands['build-desktop'] = runBuildDesktop;
|
|
774
|
+
commands['validate-projects'] = runValidateProjects;
|
|
769
775
|
commands.lint = runLint;
|
|
770
776
|
commands.diff = runDiff;
|
|
771
777
|
commands.watch = runWatch;
|
package/bin/commands/diff.js
CHANGED
|
@@ -331,8 +331,8 @@ function diffCommand(args, config) {
|
|
|
331
331
|
let skillFiles = [];
|
|
332
332
|
|
|
333
333
|
if (options.skill) {
|
|
334
|
-
// normalizeSkillName accepts `dax`, `dax.md`, `report
|
|
335
|
-
// `report
|
|
334
|
+
// normalizeSkillName accepts `dax`, `dax.md`, `bi-report`, or
|
|
335
|
+
// `bi-report/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];
|
package/bin/commands/install.js
CHANGED
|
@@ -496,11 +496,11 @@ async function installCommand(args, config) {
|
|
|
496
496
|
'\n' +
|
|
497
497
|
chalk.gray(' /bi-start — Arrancar una sesión: menú + update + conexión') +
|
|
498
498
|
'\n' +
|
|
499
|
-
chalk.gray(' /
|
|
499
|
+
chalk.gray(' /bi-kickoff — Analizá tu proyecto BI (proyecto nuevo)') +
|
|
500
500
|
'\n' +
|
|
501
|
-
chalk.gray(' /
|
|
501
|
+
chalk.gray(' /bi-connect — Conectá Power BI + guía UDF DAX') +
|
|
502
502
|
'\n' +
|
|
503
|
-
chalk.gray(' /report
|
|
503
|
+
chalk.gray(' /bi-report — Generá reportes PBIR para Power BI Desktop (Windows)'),
|
|
504
504
|
{
|
|
505
505
|
padding: 1,
|
|
506
506
|
margin: { top: 1 },
|
package/bin/commands/lint.js
CHANGED
|
@@ -366,7 +366,7 @@ function lintCommand(args, config) {
|
|
|
366
366
|
// Determine which files to lint. Use the shared skill loader so we
|
|
367
367
|
// catch both flat (`<name>.md`) and folder-based (`<name>/SKILL.md`)
|
|
368
368
|
// skills — a previous version filtered with `f.endsWith('.md')` and
|
|
369
|
-
// silently skipped every folder-based skill (e.g. `report
|
|
369
|
+
// silently skipped every folder-based skill (e.g. `bi-report`).
|
|
370
370
|
const allSkills = readSkillDirectory(skillsDir);
|
|
371
371
|
const skillsByName = new Map(allSkills.map((s) => [s.name, s]));
|
|
372
372
|
let filesToLint = [];
|
|
@@ -379,7 +379,7 @@ function lintCommand(args, config) {
|
|
|
379
379
|
return f;
|
|
380
380
|
}
|
|
381
381
|
// Look up by skill name. normalizeSkillName accepts `dax`,
|
|
382
|
-
// `dax.md`, `report
|
|
382
|
+
// `dax.md`, `bi-report`, or `bi-report/SKILL.md`.
|
|
383
383
|
const skill = skillsByName.get(normalizeSkillName(f));
|
|
384
384
|
if (skill) return skill.path;
|
|
385
385
|
|