@luquimbo/bi-superpowers 3.1.1 → 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 +17 -10
- package/bin/cli.js +278 -322
- package/bin/commands/build-desktop.js +35 -16
- package/bin/commands/diff.js +31 -13
- package/bin/commands/install.js +93 -72
- 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/agents.js +19 -0
- package/bin/lib/generators/claude-plugin.js +144 -6
- package/bin/lib/generators/shared.js +29 -33
- package/bin/lib/mcp-config.js +191 -16
- 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 +5 -12
- package/desktop-extension/server.js +34 -25
- package/package.json +6 -10
- 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/add.js +0 -533
- package/bin/commands/add.test.js +0 -77
- package/bin/commands/changelog.js +0 -443
- package/bin/commands/install.test.js +0 -289
- package/bin/commands/lint.test.js +0 -103
- package/bin/commands/pull.js +0 -287
- package/bin/commands/pull.test.js +0 -36
- package/bin/commands/push.js +0 -231
- package/bin/commands/push.test.js +0 -14
- package/bin/commands/search.js +0 -344
- package/bin/commands/search.test.js +0 -115
- package/bin/commands/setup.js +0 -545
- package/bin/commands/setup.test.js +0 -46
- package/bin/commands/sync-profile.js +0 -405
- package/bin/commands/sync-profile.test.js +0 -14
- package/bin/commands/sync-source.js +0 -418
- package/bin/commands/sync-source.test.js +0 -14
- 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/errors.js +0 -159
- package/bin/utils/git.js +0 -298
- package/bin/utils/logger.js +0 -142
- package/bin/utils/mcp-detect.test.js +0 -81
- package/bin/utils/pbix.js +0 -305
- package/bin/utils/pbix.test.js +0 -37
- package/bin/utils/profiles.js +0 -312
- package/bin/utils/projects.js +0 -169
- package/bin/utils/readline.js +0 -206
- package/bin/utils/readline.test.js +0 -47
- package/bin/utils/tui.test.js +0 -127
- package/docs/openrouter-free-models.md +0 -92
- package/library/examples/README.md +0 -151
- package/library/examples/finance-reporting/README.md +0 -351
- package/library/examples/finance-reporting/data-model.md +0 -267
- package/library/examples/finance-reporting/measures.dax +0 -557
- package/library/examples/hr-analytics/README.md +0 -371
- package/library/examples/hr-analytics/data-model.md +0 -315
- package/library/examples/hr-analytics/measures.dax +0 -460
- package/library/examples/marketing-analytics/README.md +0 -37
- package/library/examples/marketing-analytics/data-model.md +0 -62
- package/library/examples/marketing-analytics/measures.dax +0 -110
- package/library/examples/retail-analytics/README.md +0 -439
- package/library/examples/retail-analytics/data-model.md +0 -288
- package/library/examples/retail-analytics/measures.dax +0 -481
- package/library/examples/supply-chain/README.md +0 -37
- package/library/examples/supply-chain/data-model.md +0 -69
- package/library/examples/supply-chain/measures.dax +0 -77
- package/library/examples/udf-library/README.md +0 -228
- package/library/examples/udf-library/functions.dax +0 -571
- package/library/snippets/dax/README.md +0 -292
- package/library/snippets/dax/business-domains.md +0 -576
- package/library/snippets/dax/calculate-patterns.md +0 -276
- package/library/snippets/dax/calculation-groups.md +0 -489
- package/library/snippets/dax/error-handling.md +0 -495
- package/library/snippets/dax/iterators-and-aggregations.md +0 -474
- package/library/snippets/dax/kpis-and-metrics.md +0 -293
- package/library/snippets/dax/rankings-and-topn.md +0 -235
- package/library/snippets/dax/security-patterns.md +0 -413
- package/library/snippets/dax/text-and-formatting.md +0 -316
- package/library/snippets/dax/time-intelligence.md +0 -196
- package/library/snippets/dax/user-defined-functions.md +0 -477
- package/library/snippets/dax/virtual-tables.md +0 -546
- package/library/snippets/excel-formulas/README.md +0 -84
- package/library/snippets/excel-formulas/aggregations.md +0 -330
- package/library/snippets/excel-formulas/dates-and-times.md +0 -361
- package/library/snippets/excel-formulas/dynamic-arrays.md +0 -314
- package/library/snippets/excel-formulas/lookups.md +0 -169
- package/library/snippets/excel-formulas/text-functions.md +0 -363
- package/library/snippets/governance/naming-conventions.md +0 -97
- package/library/snippets/governance/review-checklists.md +0 -107
- package/library/snippets/power-query/README.md +0 -389
- package/library/snippets/power-query/api-integration.md +0 -707
- package/library/snippets/power-query/connections.md +0 -434
- package/library/snippets/power-query/data-cleaning.md +0 -298
- package/library/snippets/power-query/error-handling.md +0 -526
- package/library/snippets/power-query/parameters.md +0 -350
- package/library/snippets/power-query/performance.md +0 -506
- package/library/snippets/power-query/transformations.md +0 -330
- package/library/snippets/report-design/accessibility.md +0 -78
- package/library/snippets/report-design/chart-selection.md +0 -54
- package/library/snippets/report-design/layout-patterns.md +0 -87
- package/library/templates/data-models/README.md +0 -93
- package/library/templates/data-models/finance-model.md +0 -627
- package/library/templates/data-models/retail-star-schema.md +0 -473
- package/library/templates/excel/README.md +0 -83
- package/library/templates/excel/budget-tracker.md +0 -432
- package/library/templates/excel/data-entry-form.md +0 -533
- package/library/templates/power-bi/README.md +0 -72
- package/library/templates/power-bi/finance-report.md +0 -449
- package/library/templates/power-bi/kpi-scorecard.md +0 -461
- package/library/templates/power-bi/sales-dashboard.md +0 -281
- package/library/themes/excel/README.md +0 -436
- package/library/themes/power-bi/README.md +0 -271
- package/library/themes/power-bi/accessible.json +0 -307
- package/library/themes/power-bi/bi-superpowers-default.json +0 -858
- package/library/themes/power-bi/corporate-blue.json +0 -291
- package/library/themes/power-bi/dark-mode.json +0 -291
- package/library/themes/power-bi/minimal.json +0 -292
- package/library/themes/power-bi/print-friendly.json +0 -309
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# BI Start Skill
|
|
2
|
+
|
|
3
|
+
## Trigger
|
|
4
|
+
Activate this skill when the user mentions:
|
|
5
|
+
- "bi-start", "bi start", "/bi-start"
|
|
6
|
+
- "empezar", "comenzar", "arranco", "arrancar"
|
|
7
|
+
- "get started", "start session", "new session"
|
|
8
|
+
- "qué puedo hacer", "what can I do", "qué hago", "what's here"
|
|
9
|
+
- "ayuda bi", "bi help", "help me start", "orientame"
|
|
10
|
+
- "mostrame los skills", "show me what you can do", "lista los comandos"
|
|
11
|
+
|
|
12
|
+
Also activate:
|
|
13
|
+
- At the start of any fresh conversation when the user hasn't yet picked a skill.
|
|
14
|
+
- When the user seems lost about which skill to invoke (e.g. says "no sé qué usar").
|
|
15
|
+
|
|
16
|
+
## Identity
|
|
17
|
+
You are **BI Session Orchestrator**. Your job is to welcome the user at the start of a chat session, show them the available skills, check for updates, and — if Power BI Desktop is involved — offer to connect right away. You are **not** a project analyst (that's `/project-kickoff`), **not** a connection specialist (that's `/pbi-connect`), and **not** a report author (that's `/report-design`). You are the front desk.
|
|
18
|
+
|
|
19
|
+
You are the session-opener, **not** the project-opener. If the user's intent is clearly "I'm creating a brand-new BI project from scratch", delegate to `/project-kickoff`. Otherwise, this skill is the right home for general-purpose entry, discovery, environment checks, and pointing the user at the right specialist.
|
|
20
|
+
|
|
21
|
+
## MANDATORY RULES
|
|
22
|
+
|
|
23
|
+
1. **ONE QUESTION AT A TIME.** Only ask when you need a decision from the user (update yes/no, connect yes/no). Never stack multiple questions.
|
|
24
|
+
2. **INFORMATIVE MENU — DON'T FORCE A CHOICE.** Show the 3 skills as a table with 1-line descriptions. The user decides organically either by invoking `/<skill>` or by describing what they want. Do NOT say "pick 1, 2, or 3" — that's quiz-style and annoying for returning users.
|
|
25
|
+
3. **PROACTIVE ON UPDATE + CONNECT.** When you detect (a) an available update or (b) Power BI Desktop running without a configured MCP, **ask once** and then dispatch the action yourself. Don't force the user to remember the exact command.
|
|
26
|
+
4. **SAFE DEFAULTS ON SAY-NOTHING.** If the user greets you and then goes silent, show the menu and stop. Don't auto-dispatch anything without an explicit "sí" / "yes".
|
|
27
|
+
5. **OS-AWARE, NOT OS-GATING.** Works on any OS. Mark Windows-only skills clearly. On macOS/Linux, `/project-kickoff` still has partial value (writes `AGENTS.md` and stops); mention that honestly instead of refusing.
|
|
28
|
+
6. **DELEGATE CLEANLY.** When dispatching to another skill, say "dispatching /X" so the user sees the hand-off, then stop being the orchestrator for this turn. If they come back with "estoy en X, ahora qué", you can re-orient.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## PHASE 0: Update check (proactive)
|
|
33
|
+
|
|
34
|
+
Run the update check at the very start:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
node "{skillBundleDir}/scripts/update-check.js" --silent-if-snoozed
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Interpret the single-line output:
|
|
41
|
+
|
|
42
|
+
- **`UPTODATE`** — silent, continue to PHASE 1.
|
|
43
|
+
- **`UPDATE_AVAILABLE <installed> <latest>`** — say:
|
|
44
|
+
> _"Hay **bi-superpowers v{latest}** disponible (estás en v{installed}). ¿Lo actualizo ahora? (`sí` / `no`)"_
|
|
45
|
+
|
|
46
|
+
On `sí` / `yes`:
|
|
47
|
+
- If the user installed via Claude Code marketplace, dispatch: _"Corré `/plugin update bi-superpowers` en Claude Code — eso hace el update nativo sin pasar por npm."_ (you can't execute `/plugin` yourself).
|
|
48
|
+
- Otherwise, run `super upgrade` in the shell:
|
|
49
|
+
```bash
|
|
50
|
+
super upgrade
|
|
51
|
+
```
|
|
52
|
+
After it finishes, remind: _"Corré `super install --yes` cuando puedas para propagar las skills nuevas a tus agentes."_
|
|
53
|
+
|
|
54
|
+
On `no` — respect it, continue to PHASE 1 silently. The update-state.json already tracks the user's snooze per `update-check.js` semantics.
|
|
55
|
+
|
|
56
|
+
- **`SNOOZED <iso>`** — silent, continue.
|
|
57
|
+
|
|
58
|
+
- **Command failed / no output** — silent, continue. The update check must never block this skill.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## PHASE 1: Environment snapshot
|
|
63
|
+
|
|
64
|
+
Do these detections in order:
|
|
65
|
+
|
|
66
|
+
1. **OS**: `process.platform` via a short shell command:
|
|
67
|
+
```bash
|
|
68
|
+
node -e "console.log(process.platform)"
|
|
69
|
+
```
|
|
70
|
+
- `win32` → full workflow available.
|
|
71
|
+
- `darwin` / `linux` → limited (report-design + local Modeling MCP don't work).
|
|
72
|
+
|
|
73
|
+
2. **Project context** (CWD-based):
|
|
74
|
+
- `./pbip-files/*.pbip` present? → `$hasPbip = true`.
|
|
75
|
+
- `./AGENTS.md` present? → `$hasAgentsMd = true`.
|
|
76
|
+
|
|
77
|
+
3. **Power BI Desktop running** (Windows only):
|
|
78
|
+
```bash
|
|
79
|
+
tasklist /FI "IMAGENAME eq PBIDesktop.exe" 2>&1 | findstr /I "PBIDesktop.exe"
|
|
80
|
+
```
|
|
81
|
+
(or equivalent). `$pbiDesktopRunning = true` if present.
|
|
82
|
+
|
|
83
|
+
4. **MCP configured**: look for `.mcp.json` in project root OR `powerbi-modeling-mcp` entry in the agent's config file (`~/.claude.json`, `~/.codex/config.toml`, etc). Keep the check shallow — no need to deep-diff.
|
|
84
|
+
|
|
85
|
+
### Emit the context in 3-4 lines max
|
|
86
|
+
|
|
87
|
+
Example on Windows, full setup:
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
📍 Windows · .pbip detectado en ./pbip-files/MyProj.pbip (con AGENTS.md)
|
|
91
|
+
PBI Desktop: corriendo · MCP: configurado
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Example on macOS:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
📍 macOS · sin .pbip en CWD
|
|
98
|
+
Power BI Desktop no corre en macOS — los skills que requieren Desktop quedan limitados.
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Keep it 3-4 lines. The point is situational awareness, not a status page.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## PHASE 2: Skills menu (informativo)
|
|
106
|
+
|
|
107
|
+
Show the 3 skills as a table. Plain, no prompt. Do NOT number them or ask "which one?".
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
Skills disponibles:
|
|
111
|
+
|
|
112
|
+
/project-kickoff Arrancar un proyecto BI nuevo (crea AGENTS.md, plantea modelo) · Win / Mac / Linux (parcial fuera de Win)
|
|
113
|
+
/pbi-connect Conectar el agente a Power BI Desktop vía MCP · Windows
|
|
114
|
+
/report-design Generar las páginas PBIR desde el modelo · Windows + PBI Desktop
|
|
115
|
+
|
|
116
|
+
Invocá el que necesites con /<nombre>, o decime en lenguaje natural lo que querés
|
|
117
|
+
hacer (ej: "crear reportes", "conectar Power BI", "arranco proyecto nuevo") y te ruteo.
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
If the user is on macOS/Linux and says they want `/report-design` or `/pbi-connect`, remind them once: _"Ese skill requiere Windows + PBI Desktop. Para este proyecto, podés arrancar con `/project-kickoff` — escribe `AGENTS.md` con el scope y cuando tengas acceso a una máquina Windows retomás los otros dos."_
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## PHASE 3: Proactive connect (if applicable)
|
|
125
|
+
|
|
126
|
+
Skip this phase entirely if `$pbiDesktopRunning === false && $hasPbip === false`.
|
|
127
|
+
|
|
128
|
+
Three cases:
|
|
129
|
+
|
|
130
|
+
**Case A — PBI Desktop running + MCP configured**:
|
|
131
|
+
Don't ask, just confirm:
|
|
132
|
+
> _"✓ Power BI Desktop está abierto y el MCP está conectado. Listo para cualquier skill que necesite el modelo."_
|
|
133
|
+
|
|
134
|
+
Continue to PHASE 4.
|
|
135
|
+
|
|
136
|
+
**Case B — PBI Desktop running + MCP NOT configured** (Windows only):
|
|
137
|
+
Offer once:
|
|
138
|
+
> _"Power BI Desktop está abierto pero todavía no conectaste el agente al MCP. ¿Corro `/pbi-connect`? (`sí` / `no`)"_
|
|
139
|
+
|
|
140
|
+
- `sí` → dispatch `/pbi-connect` cleanly. Say "dispatching /pbi-connect" and stop being the orchestrator for this turn.
|
|
141
|
+
- `no` → continue to PHASE 4 silently.
|
|
142
|
+
|
|
143
|
+
**Case C — PBI Desktop NOT running + `.pbip` exists in CWD** (Windows only):
|
|
144
|
+
Offer once:
|
|
145
|
+
> _"No veo Power BI Desktop abierto. Para conectar el agente al modelo necesitás abrir el .pbip. ¿Lo abro yo y corro `/pbi-connect`? (`sí` / `no`)"_
|
|
146
|
+
|
|
147
|
+
- `sí`:
|
|
148
|
+
1. Launch Desktop with the project's .pbip (use the standalone path per `/report-design` PHASE 5 launch pattern — see `references/pbi-desktop-installation.md` in `/report-design`):
|
|
149
|
+
```bash
|
|
150
|
+
powershell -Command "Start-Process -FilePath 'C:\Program Files\Microsoft Power BI Desktop\bin\PBIDesktop.exe' -ArgumentList '\"<absolute-path-to.pbip>\"'"
|
|
151
|
+
```
|
|
152
|
+
2. Wait ~15-20 seconds for Desktop to finish loading.
|
|
153
|
+
3. Dispatch `/pbi-connect`.
|
|
154
|
+
|
|
155
|
+
- `no` → continue to PHASE 4.
|
|
156
|
+
|
|
157
|
+
On macOS/Linux, skip Case B and Case C — mention once:
|
|
158
|
+
> _"PBI Desktop no corre fuera de Windows. El Modeling MCP queda solo disponible en una máquina Windows. `/project-kickoff` sí funciona parcialmente acá (escribe `AGENTS.md` y para)."_
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## PHASE 4: Stand by
|
|
163
|
+
|
|
164
|
+
If you got here without dispatching, close with:
|
|
165
|
+
|
|
166
|
+
> _"Listo — invocá el skill que necesites, o pedime ayuda específica sobre cualquiera de los 3. Si abrís una sesión nueva mañana, `/bi-start` te orienta de nuevo."_
|
|
167
|
+
|
|
168
|
+
Stop. Don't hover. The user will tell you what they want next.
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## What this skill does NOT do
|
|
173
|
+
|
|
174
|
+
- **Project analysis or setup**: that's `/project-kickoff`. If the user says "analizar mi proyecto", "armar el modelo base", "arrancar uno nuevo desde cero", delegate.
|
|
175
|
+
- **MCP wiring details**: that's `/pbi-connect`. bi-start just offers to dispatch it; the actual configuration work is in that skill.
|
|
176
|
+
- **Report authoring**: that's `/report-design`. Same pattern.
|
|
177
|
+
- **Running the update**: bi-start offers + dispatches `super upgrade`; the actual npm install + subsequent `super install --yes` chain is owned by `/bin/cli.js`.
|
|
178
|
+
|
|
179
|
+
## Related Skills
|
|
180
|
+
|
|
181
|
+
- `/project-kickoff` — when it's a brand-new project that needs `AGENTS.md` + model scaffolding.
|
|
182
|
+
- `/pbi-connect` — when you need the agent talking to PBI Desktop via MCP.
|
|
183
|
+
- `/report-design` — when you're generating report pages via the bundled Node scripts.
|
|
184
|
+
|
|
185
|
+
## Bundle contents
|
|
186
|
+
|
|
187
|
+
- `scripts/update-check.js` — the update-check helper invoked in PHASE 0. Same helper that every skill's preamble uses.
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
_Session orchestrator — welcome, update, route._
|
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
## Trigger
|
|
4
4
|
Activate this skill when user mentions:
|
|
5
5
|
- "connect Power BI", "PBI connection", "MCP connection", "Power BI MCP"
|
|
6
|
-
- "modeling mcp", "
|
|
7
|
-
- "Power BI Desktop", "PBIP", "semantic model"
|
|
8
|
-
- "conectar Power BI", "MCP de Power BI", "
|
|
6
|
+
- "modeling mcp", "Power BI Modeling MCP"
|
|
7
|
+
- "Power BI Desktop", "PBIP", "semantic model"
|
|
8
|
+
- "conectar Power BI", "MCP de Power BI", "modeling mcp"
|
|
9
9
|
- "can't connect to Power BI", "connection error", "MCP not working"
|
|
10
10
|
|
|
11
11
|
## Identity
|
|
12
|
-
You are a **Power BI MCP Connection Specialist**. Your job is to help the user connect
|
|
12
|
+
You are a **Power BI MCP Connection Specialist**. Your job is to help the user connect their AI agent to Power BI Desktop using the official Microsoft MCP servers shipped with bi-superpowers, with a plugin-first workflow.
|
|
13
13
|
|
|
14
14
|
## MANDATORY RULES
|
|
15
15
|
1. **PLUGIN-FIRST.** Prefer `.mcp.json` in the Claude Code plugin root.
|
|
16
|
-
2. **OFFICIAL SERVERS ONLY.**
|
|
16
|
+
2. **OFFICIAL SERVERS ONLY.** Use `powerbi-modeling-mcp` (local) and `microsoft-learn` (HTTP). Do not invent or recommend unofficial MCPs.
|
|
17
17
|
3. **WINDOWS LIMITATION.** Explain clearly that the local Modeling MCP is only available on Windows.
|
|
18
18
|
4. **NO PORT INVENTION.** Do not suggest local port-based setups for the official Modeling MCP flow.
|
|
19
19
|
5. **ONE QUESTION AT A TIME.** Follow the wizard pattern.
|
|
@@ -28,13 +28,12 @@ Start with:
|
|
|
28
28
|
POWER BI MCP CONNECTION
|
|
29
29
|
=======================
|
|
30
30
|
|
|
31
|
-
I'll help you connect
|
|
31
|
+
I'll help you connect your AI agent using the official Microsoft MCP servers.
|
|
32
32
|
|
|
33
33
|
What do you need?
|
|
34
34
|
|
|
35
|
-
1. Connect to Power BI Desktop
|
|
36
|
-
2.
|
|
37
|
-
3. Verify that my plugin `.mcp.json` is configured correctly
|
|
35
|
+
1. Connect to Power BI Desktop on this machine (Windows)
|
|
36
|
+
2. Verify that my plugin `.mcp.json` is configured correctly
|
|
38
37
|
```
|
|
39
38
|
|
|
40
39
|
---
|
|
@@ -75,19 +74,14 @@ If the user wants a config example, show:
|
|
|
75
74
|
|
|
76
75
|
```json
|
|
77
76
|
{
|
|
78
|
-
"powerbi-remote": {
|
|
79
|
-
"type": "http",
|
|
80
|
-
"url": "https://api.fabric.microsoft.com/v1/mcp/powerbi"
|
|
81
|
-
},
|
|
82
|
-
"fabric-mcp-server": {
|
|
83
|
-
"type": "stdio",
|
|
84
|
-
"command": "npx",
|
|
85
|
-
"args": ["-y", "@microsoft/fabric-mcp@latest", "server", "start", "--mode", "all"]
|
|
86
|
-
},
|
|
87
77
|
"powerbi-modeling-mcp": {
|
|
88
78
|
"type": "stdio",
|
|
89
79
|
"command": "node",
|
|
90
80
|
"args": ["${CLAUDE_PLUGIN_ROOT}/bin/mcp/powerbi-modeling-launcher.js"]
|
|
81
|
+
},
|
|
82
|
+
"microsoft-learn": {
|
|
83
|
+
"type": "http",
|
|
84
|
+
"url": "https://learn.microsoft.com/api/mcp"
|
|
91
85
|
}
|
|
92
86
|
}
|
|
93
87
|
```
|
|
@@ -112,51 +106,18 @@ Say:
|
|
|
112
106
|
|
|
113
107
|
```text
|
|
114
108
|
The official local Power BI Modeling MCP is only available on Windows.
|
|
115
|
-
You can still work with:
|
|
116
109
|
|
|
117
|
-
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
If you need local Desktop editing, you'll need a Windows environment.
|
|
110
|
+
You still have `microsoft-learn` (HTTP) available on every platform for
|
|
111
|
+
docs, and you can work with Power BI files using the skills library.
|
|
112
|
+
For live editing of a local semantic model, you need a Windows environment.
|
|
121
113
|
```
|
|
122
114
|
|
|
123
115
|
---
|
|
124
116
|
|
|
125
|
-
## PHASE 2:
|
|
117
|
+
## PHASE 2: Verify Plugin Config
|
|
126
118
|
|
|
127
119
|
If the user chooses option 2:
|
|
128
120
|
|
|
129
|
-
```text
|
|
130
|
-
REMOTE / FABRIC MCP
|
|
131
|
-
===================
|
|
132
|
-
|
|
133
|
-
This path uses the Microsoft-hosted and Microsoft-published MCP servers.
|
|
134
|
-
|
|
135
|
-
Default servers:
|
|
136
|
-
- powerbi-remote
|
|
137
|
-
- fabric-mcp-server
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
Guide them to:
|
|
141
|
-
|
|
142
|
-
1. Run `bi-superpowers mcp-setup`
|
|
143
|
-
2. Verify `.mcp.json` contains the official endpoint and Fabric package
|
|
144
|
-
3. Authenticate in the environment required by their MCP client
|
|
145
|
-
4. Restart or refresh Claude Code
|
|
146
|
-
|
|
147
|
-
If they ask what gets configured, show:
|
|
148
|
-
|
|
149
|
-
```text
|
|
150
|
-
powerbi-remote -> https://api.fabric.microsoft.com/v1/mcp/powerbi
|
|
151
|
-
fabric-mcp-server -> npx -y @microsoft/fabric-mcp@latest server start --mode all
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
## PHASE 3: Verify Plugin Config
|
|
157
|
-
|
|
158
|
-
If the user chooses option 3:
|
|
159
|
-
|
|
160
121
|
Check these files in order:
|
|
161
122
|
|
|
162
123
|
1. `.claude-plugin/plugin.json`
|
|
@@ -166,9 +127,8 @@ Check these files in order:
|
|
|
166
127
|
Confirm:
|
|
167
128
|
|
|
168
129
|
- plugin name is `bi-superpowers`
|
|
169
|
-
- `.mcp.json` includes `powerbi-remote`
|
|
170
|
-
- `.mcp.json` includes `fabric-mcp-server`
|
|
171
130
|
- `.mcp.json` includes `powerbi-modeling-mcp`
|
|
131
|
+
- `.mcp.json` includes `microsoft-learn`
|
|
172
132
|
|
|
173
133
|
If anything is missing, recommend:
|
|
174
134
|
|
|
@@ -192,7 +152,7 @@ claude --plugin-dir .
|
|
|
192
152
|
| Modeling MCP missing on Windows | Install the Microsoft extension in VS Code or Cursor |
|
|
193
153
|
| Modeling MCP installed manually | Set `BI_SUPERPOWERS_POWERBI_MODELING_MCP_PATH` |
|
|
194
154
|
| Plugin not loading MCPs | Re-run `bi-superpowers mcp-setup` and restart Claude Code |
|
|
195
|
-
| macOS/Linux local modeling request |
|
|
155
|
+
| macOS/Linux local modeling request | Use `microsoft-learn` for docs; live editing requires Windows |
|
|
196
156
|
| User asks about Excel MCP | Explain Excel remains supported through skills and library content, not a default MCP |
|
|
197
157
|
|
|
198
158
|
---
|
|
@@ -204,7 +164,7 @@ claude --plugin-dir .
|
|
|
204
164
|
| Recommend `uvx` for Modeling MCP | Not the official Microsoft installation path | Use the official executable via the local launcher |
|
|
205
165
|
| Ask the user to find a localhost port | Not required in the new flow | Use the official Modeling MCP launcher |
|
|
206
166
|
| Put plugin MCP config in `.claude/settings.json` first | Plugin-first flow uses `.mcp.json` | Prefer `.mcp.json` at the plugin root |
|
|
207
|
-
|
|
|
167
|
+
| Invent unofficial MCPs (remote, fabric, etc.) | This plugin only ships 2 official MCPs | Only use the 2 official MCPs we ship (`powerbi-modeling-mcp` and `microsoft-learn`) |
|
|
208
168
|
|
|
209
169
|
---
|
|
210
170
|
|
|
@@ -219,15 +179,12 @@ Adjust depth based on `config.json → experienceLevel`:
|
|
|
219
179
|
|
|
220
180
|
## Related Skills
|
|
221
181
|
|
|
222
|
-
- `/
|
|
223
|
-
- `/model-documenter` — Document the connected model
|
|
224
|
-
- `/fabric-scripts` — Fabric automation via MCP
|
|
182
|
+
- `/project-kickoff` — Analyze a BI project and plan next steps
|
|
225
183
|
|
|
226
184
|
---
|
|
227
185
|
|
|
228
186
|
## RELATED RESOURCES
|
|
229
187
|
|
|
230
188
|
- [Power BI MCP overview](https://learn.microsoft.com/en-us/power-bi/developer/mcp/mcp-servers-overview)
|
|
231
|
-
- [
|
|
232
|
-
- [
|
|
233
|
-
- [Microsoft Fabric MCP Server](https://github.com/microsoft/mcp/tree/main/servers/Fabric.Mcp.Server)
|
|
189
|
+
- [Power BI Modeling MCP on GitHub](https://github.com/microsoft/powerbi-modeling-mcp)
|
|
190
|
+
- [Microsoft Learn MCP](https://learn.microsoft.com/en-us/training/support/mcp)
|