@luquimbo/bi-superpowers 5.0.0 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/.claude-plugin/marketplace.json +5 -3
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.claude-plugin/skill-manifest.json +23 -7
  4. package/.plugin/plugin.json +1 -1
  5. package/AGENTS.md +123 -25
  6. package/CHANGELOG.md +459 -16
  7. package/README.md +28 -113
  8. package/bin/cli.js +1 -1
  9. package/bin/commands/diff.js +2 -2
  10. package/bin/commands/install.js +58 -45
  11. package/bin/commands/lint.js +2 -2
  12. package/bin/commands/validate-projects.js +1 -1
  13. package/bin/lib/generators/claude-plugin.js +14 -5
  14. package/bin/lib/generators/shared.js +9 -5
  15. package/bin/lib/mcp-config.js +22 -2
  16. package/bin/lib/skills.js +8 -8
  17. package/bin/mcp/powerbi-modeling-launcher.js +8 -4
  18. package/bin/postinstall.js +14 -12
  19. package/bin/utils/mcp-detect.js +11 -11
  20. package/commands/bi-connect.md +34 -17
  21. package/commands/bi-dax.md +385 -0
  22. package/commands/bi-kickoff.md +75 -44
  23. package/commands/bi-modeling.md +395 -0
  24. package/commands/bi-performance.md +455 -0
  25. package/commands/bi-start.md +30 -18
  26. package/desktop-extension/manifest.json +2 -2
  27. package/package.json +3 -2
  28. package/skills/bi-connect/SKILL.md +34 -17
  29. package/skills/bi-connect/scripts/update-check.js +1 -1
  30. package/skills/bi-dax/SKILL.md +387 -0
  31. package/skills/{bi-report → bi-dax}/scripts/update-check.js +1 -1
  32. package/skills/bi-kickoff/SKILL.md +75 -44
  33. package/skills/bi-kickoff/scripts/update-check.js +1 -1
  34. package/skills/bi-modeling/SKILL.md +397 -0
  35. package/skills/bi-modeling/scripts/update-check.js +403 -0
  36. package/skills/bi-performance/SKILL.md +457 -0
  37. package/skills/bi-performance/scripts/install-tabular-editor.ps1 +90 -0
  38. package/skills/bi-performance/scripts/run-bpa.ps1 +161 -0
  39. package/skills/bi-performance/scripts/update-check.js +403 -0
  40. package/skills/bi-start/SKILL.md +31 -19
  41. package/skills/bi-start/scripts/update-check.js +1 -1
  42. package/src/content/base.md +13 -8
  43. package/src/content/routing.md +1 -5
  44. package/src/content/skills/bi-connect.md +32 -15
  45. package/src/content/skills/bi-dax.md +358 -0
  46. package/src/content/skills/bi-kickoff.md +73 -42
  47. package/src/content/skills/bi-modeling.md +368 -0
  48. package/src/content/skills/bi-performance/SKILL.md +428 -0
  49. package/src/content/skills/bi-performance/scripts/install-tabular-editor.ps1 +90 -0
  50. package/src/content/skills/bi-performance/scripts/run-bpa.ps1 +161 -0
  51. package/src/content/skills/bi-start.md +30 -18
  52. package/theme/BISuperpowers.json +3888 -0
  53. package/commands/bi-report.md +0 -403
  54. package/skills/bi-report/SKILL.md +0 -405
  55. package/skills/bi-report/references/cli-commands.md +0 -184
  56. package/skills/bi-report/references/cli-setup.md +0 -101
  57. package/skills/bi-report/references/close-write-open-pattern.md +0 -80
  58. package/skills/bi-report/references/layouts/finance.md +0 -65
  59. package/skills/bi-report/references/layouts/generic.md +0 -46
  60. package/skills/bi-report/references/layouts/hr.md +0 -48
  61. package/skills/bi-report/references/layouts/marketing.md +0 -45
  62. package/skills/bi-report/references/layouts/operations.md +0 -44
  63. package/skills/bi-report/references/layouts/sales.md +0 -50
  64. package/skills/bi-report/references/native-visuals.md +0 -341
  65. package/skills/bi-report/references/pbi-desktop-installation.md +0 -87
  66. package/skills/bi-report/references/pbir-preview-activation.md +0 -40
  67. package/skills/bi-report/references/slicer.md +0 -89
  68. package/skills/bi-report/references/textbox.md +0 -101
  69. package/skills/bi-report/references/themes/BISuperpowers.json +0 -915
  70. package/skills/bi-report/references/troubleshooting.md +0 -135
  71. package/skills/bi-report/references/visual-types.md +0 -78
  72. package/skills/bi-report/scripts/apply-theme.js +0 -243
  73. package/skills/bi-report/scripts/create-visual.js +0 -942
  74. package/skills/bi-report/scripts/ensure-pbi-cli.sh +0 -41
  75. package/skills/bi-report/scripts/validate-pbir.js +0 -351
  76. package/src/content/skills/bi-report/SKILL.md +0 -376
  77. package/src/content/skills/bi-report/references/cli-commands.md +0 -184
  78. package/src/content/skills/bi-report/references/cli-setup.md +0 -101
  79. package/src/content/skills/bi-report/references/close-write-open-pattern.md +0 -80
  80. package/src/content/skills/bi-report/references/layouts/finance.md +0 -65
  81. package/src/content/skills/bi-report/references/layouts/generic.md +0 -46
  82. package/src/content/skills/bi-report/references/layouts/hr.md +0 -48
  83. package/src/content/skills/bi-report/references/layouts/marketing.md +0 -45
  84. package/src/content/skills/bi-report/references/layouts/operations.md +0 -44
  85. package/src/content/skills/bi-report/references/layouts/sales.md +0 -50
  86. package/src/content/skills/bi-report/references/native-visuals.md +0 -341
  87. package/src/content/skills/bi-report/references/pbi-desktop-installation.md +0 -87
  88. package/src/content/skills/bi-report/references/pbir-preview-activation.md +0 -40
  89. package/src/content/skills/bi-report/references/slicer.md +0 -89
  90. package/src/content/skills/bi-report/references/textbox.md +0 -101
  91. package/src/content/skills/bi-report/references/themes/BISuperpowers.json +0 -915
  92. package/src/content/skills/bi-report/references/troubleshooting.md +0 -135
  93. package/src/content/skills/bi-report/references/visual-types.md +0 -78
  94. package/src/content/skills/bi-report/scripts/apply-theme.js +0 -243
  95. package/src/content/skills/bi-report/scripts/create-visual.js +0 -942
  96. package/src/content/skills/bi-report/scripts/ensure-pbi-cli.sh +0 -41
  97. package/src/content/skills/bi-report/scripts/validate-pbir.js +0 -351
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: "bi-kickoff"
3
3
  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\"."
4
- version: "5.0.0"
4
+ version: "5.0.1"
5
5
  ---
6
6
 
7
7
  <!-- Generated by BI Agent Superpowers. Edit src/content/skills/bi-kickoff.md instead. -->
@@ -17,7 +17,7 @@ node "{skillBundleDir}/scripts/update-check.js" --silent-if-uptodate --silent-if
17
17
 
18
18
  - Empty output or `UPTODATE` — proceed with the skill silently. No message.
19
19
  - `UPDATE_AVAILABLE <installed> <latest>` — tell the user exactly once this conversation, before diving into the skill:
20
- > "Hay **bi-superpowers v{latest}** disponible (estás en v{installed}). Actualizá con `super upgrade` (o `/plugin update bi-superpowers` en Claude Code) cuando te venga bien. Si estás usando un plugin local generado con `super kickoff`, después corré `super recharge` en ese repo."
20
+ > "bi-superpowers v{latest} is available (you are on v{installed}). Update with `super upgrade` (or `/plugin update bi-superpowers` in Claude Code) when convenient. If you use a local plugin generated with `super kickoff`, run `super recharge` in that repo afterwards."
21
21
 
22
22
  Then continue with the skill below.
23
23
  - `SNOOZED <iso>` — proceed silently.
@@ -45,9 +45,15 @@ You are **BI Project Analyst**, the kickoff orchestrator for a new Power BI proj
45
45
 
46
46
  1. **ONE QUESTION AT A TIME.** Never ask multiple questions in a single message.
47
47
  2. **DETECT BEFORE ASKING.** Use the current working directory by default. Only ask for a path if detection fails.
48
- 3. **WRITE VIA MCP, READ VIA FILES.** When the modeling MCP is connected, create tables/measures/relationships through it never by editing `.tmdl` files directly.
49
- 4. **WINDOWS-FIRST.** The modeling MCP only works on Windows with Power BI Desktop open. On macOS/Linux, write `AGENTS.md` as a parking document and stop.
48
+ 3. **SEMANTIC WRITES REQUIRE MCP.** All semantic-model writes (tables, columns, measures, relationships, partitions, functions, calculation groups, and object properties) require the Power BI Modeling MCP. If the MCP is not connected, connect first; if it cannot be connected, stop and tell the user. Never write model changes by editing `.tmdl`, `.pbip`, `.SemanticModel/`, or other PBIP files directly. Read files only for diagnostics, diffs, and validation.
49
+ 4. **WINDOWS + POWER BI DESKTOP ONLY.** This skill is not supported on macOS/Linux. It requires Windows with Power BI Desktop open because the current plugin workflows depend on Desktop and the local Modeling MCP. Future cloud/Fabric skills may support non-Windows environments when they do not depend on Desktop.
50
50
  5. **ALWAYS FINISH WITH `AGENTS.md`.** Before the user can start modeling, write `AGENTS.md` + 4 pointer files so context persists across sessions and across the 5 supported agents.
51
+ 6. **NO REAL DATA SOURCES IN KICKOFF.** `/bi-kickoff` never connects Excel, SQL, Fabric, APIs, CRMs, ERPs, dataflows, or any other real source. The foundation model is built with fictitious sample data only. Source answers are documentation context for `AGENTS.md`, not implementation instructions.
52
+ 7. **TEACH AS YOU MODEL.** While creating the fictitious foundation model, explain DAX and modeling decisions as you write them: grain, fact/dimension choices, relationships, measure patterns, and trade-offs. Calibrate depth to the user's requested explanation level, but never stop teaching.
53
+
54
+ 8. **PBIP FILES ARE READ-ONLY (one exception).** Never edit `.pbip`, `.SemanticModel/**` (TMDL), `.Report/**` (PBIR JSON, `visual.json`, `page.json`, themes, slicers, bookmarks), or any report artifact directly. Read those files only for diagnostics and diffs. **The single allowed mutation** is the plugin-owned field-swap/rebind command that replaces *source fields/measures with target fields/measures* in **existing template visuals** through an explicit source-to-target mapping with dry-run, backup, and validation. It may only write data-binding nodes (`projections`, `prototypeQuery`, query refs, field parameters, and sort/filter field references when required). It must preserve visual type, layout, formatting, interactions, IDs, theme, and bookmarks. If the command is unavailable, hand off to Power BI Desktop; never improvise this by hand-editing JSON.
55
+
56
+ 9. **TEMPLATE IS THE REFERENCE.** The BISuperpowers smoke-test template encodes the patterns this plugin considers default: Auto Date/Time disabled, Date Table marked, `discourageImplicitMeasures: true`, dedicated `Métricas` table with one-level display folders (`Auxiliar`, fact-table folders such as `Ventas`, and `Ratios`), period comparison via `Aux Comparaciones` (Sallieri pattern), currency conversion via `MonedaBase` + `Modelo Configuración[ValorTexto]` + `Tipo de cambio[TipoCambioBase]`, dynamic dimensions via field parameters (`Aux Dimensiones ventas`), calculation groups for time intelligence, and an IBCS-aligned JSON theme. **Replicate these patterns in every project** — new or existing. Do not reinvent them per project; do not skip them because the user "didn't ask for them yet". They are the default, not an option.
51
57
 
52
58
  ---
53
59
 
@@ -100,17 +106,17 @@ Proceed to PHASE 2.
100
106
 
101
107
  ### If macOS / Linux
102
108
 
103
- Write `AGENTS.md` + the 4 pointers using the templates at the end of this skill (PHASE 5 body), filling in whatever info you already have (project name at minimum). Then stop with this message:
109
+ Stop before asking onboarding questions or writing files. Show this message:
104
110
 
105
111
  ```
106
- Dejé `AGENTS.md` listo en la raíz del proyecto.
112
+ `/bi-kickoff` requiere Windows + Power BI Desktop.
107
113
 
108
- Ahora necesitás una máquina con Windows + Power BI Desktop para seguir el MCP de modelado que usa este plugin es Windows-only.
114
+ El plugin actual está diseñado para proyectos locales de Power BI Desktop; en Mac/Linux no hay flujo parcial soportado para crear `AGENTS.md`, modelar o generar reportes. Futuros skills de nube/Fabric podrán ser cross-platform si no dependen de Desktop.
109
115
 
110
- Cuando estés en Windows:
116
+ Para continuar:
111
117
  1. Abrí el `.pbip` en Power BI Desktop
112
- 2. Corré `/bi-kickoff` de vuelta desde esta misma carpeta
113
- 3. Yo retomo desde la conexión MCP y hacemos el modelado
118
+ 2. Corré `/bi-kickoff` desde una sesión del agente en Windows
119
+ 3. Yo retomo con la conexión MCP y hacemos el kickoff completo
114
120
  ```
115
121
 
116
122
  **Do NOT attempt to write the model by editing TMDL files.** That violates rule 3.
@@ -159,7 +165,7 @@ Once connected via MCP, run a read-only exploration:
159
165
  - List tables (expected: empty or near-empty for a blank PBIP)
160
166
  - List measures
161
167
  - List relationships
162
- - Check data sources / Power Query queries
168
+ - Check whether data sources / Power Query queries already exist, only to report the current state. Do not create, modify, or connect any source during kickoff.
163
169
 
164
170
  Summarize to the user:
165
171
 
@@ -202,32 +208,41 @@ Read `config.json` first. If fields are already set there (`language`, `experien
202
208
  ### Q2: Fuentes de datos principales
203
209
 
204
210
  ```
205
- ¿De dónde vienen los datos?
211
+ ¿De dónde vienen o vendrán los datos?
212
+
213
+ Podés elegir varias. Esto se guarda como contexto en `AGENTS.md`; durante `/bi-kickoff` no se conecta ninguna fuente real y el modelo base se arma con datos ficticios.
206
214
 
207
215
  1. Excel / CSVs locales
208
- 2. SQL Server / Azure SQL
216
+ 2. SQL Server / Azure SQL / PostgreSQL / MySQL
209
217
  3. SharePoint / OneDrive
210
218
  4. Fabric Lakehouse / Warehouse
211
- 5. API / web service
212
- 6. Mezcla detallá cuáles
219
+ 5. Power BI Dataflow / Semantic model existente
220
+ 6. Dataverse / Dynamics 365
221
+ 7. Salesforce / HubSpot / CRM
222
+ 8. API / web service / SaaS
223
+ 9. ERP / sistema transaccional
224
+ 10. Mezcla u otra fuente — detallá cuáles
213
225
  ```
214
226
 
215
- ### Q3: Nivel de experiencia (si no está en config.json)
227
+ ### Q3: Nivel de explicación (si no está en config.json)
216
228
 
217
229
  ```
218
- ¿Cómo describirías tu nivel con Power BI hoy?
230
+ ¿Qué nivel de explicación querés durante este proyecto?
231
+
232
+ Voy a enseñarte DAX y modelado mientras lo escribo; esto solo calibra la profundidad.
219
233
 
220
- 1. Principianteprimeros modelos, todavía me peleo con DAX
221
- 2. Intermedio — construyo modelos star schema, escribo medidas con CALCULATE
222
- 3. Avanzadotime intelligence compleja, RLS, optimización de DAX Studio
234
+ 1. Guiadoexplicame decisiones y pasos; asumí poca experiencia en Power BI/DAX
235
+ 2. Intermedio — puedo seguir star schema y medidas DAX, pero quiero criterio y contexto
236
+ 3. Directohablame como usuario avanzado; priorizá velocidad, edge cases y optimización
223
237
  ```
224
238
 
225
- ### Q4: Objetivo del proyecto (en 1-2 oraciones)
239
+ ### Q4: Decisión o seguimiento principal
226
240
 
227
241
  ```
228
- En una oración, ¿qué problema resuelve este reporte?
242
+ ¿Qué decisión o seguimiento tiene que facilitar este reporte?
229
243
 
230
- Ejemplo: "Dashboard mensual de P&L para el directorio, con drill-down por unidad de negocio."
244
+ Respondé en 1-2 oraciones.
245
+ Ejemplo: "Que dirección pueda revisar el P&L mensual, detectar desvíos vs presupuesto y bajar al detalle por unidad de negocio."
231
246
  ```
232
247
 
233
248
  Store all answers in memory for PHASE 5.
@@ -240,7 +255,7 @@ Write these 5 files at the project root using the Write tool. **This is the set-
240
255
 
241
256
  ### 5.1 — Write `./AGENTS.md` (canonical)
242
257
 
243
- Use this exact template, filling in `{projectName}`, `{domain}`, `{experienceLevel}`, `{dataSources}`, `{purpose}` from the onboarding answers. Keep the 5 critical rules verbatim — they are the core contract.
258
+ Use this exact template, filling in `{projectName}`, `{domain}`, `{experienceLevel}`, `{dataSources}`, `{purpose}` from the onboarding answers. Keep the critical rules verbatim — they are the core contract.
244
259
 
245
260
  ```md
246
261
  # AGENTS.md — Instrucciones para agentes de IA en este proyecto Power BI
@@ -249,6 +264,7 @@ Use this exact template, filling in `{projectName}`, `{domain}`, `{experienceLev
249
264
  **Área**: {domain}
250
265
  **Nivel del usuario**: {experienceLevel}
251
266
  **Fuentes de datos**: {dataSources}
267
+ **Datos del kickoff**: modelo base con datos ficticios; las fuentes reales quedan documentadas para una sesión posterior
252
268
  **Objetivo**: {purpose}
253
269
 
254
270
  ---
@@ -291,6 +307,15 @@ Al detectar cualquiera de estos casos, agregá una entrada nueva a `LEARNINGS.md
291
307
 
292
308
  Formato de cada entrada: **Fecha** — **Lección** — **Aplicación a futuro**.
293
309
 
310
+ ## Regla crítica 8: enseñar mientras se construye
311
+
312
+ El agente debe actuar como profesor por defecto. Mientras escriba DAX, cree tablas, defina relaciones, elija granularidad o diseñe medidas, debe explicar brevemente el razonamiento de modelado detrás de cada decisión. El objetivo es que el usuario aprenda DAX y modelado leyendo la sesión, no solo que reciba el resultado final.
313
+
314
+ Calibrá la profundidad al **Nivel del usuario** de arriba:
315
+ - `Guiado`: explicación paso a paso, definiciones simples y ejemplos pequeños
316
+ - `Intermedio`: explicar decisiones no obvias, trade-offs y patrones reutilizables
317
+ - `Directo`: ser conciso, pero seguir explicando edge cases, performance y criterios de diseño
318
+
294
319
  ---
295
320
 
296
321
  ## Estructura del proyecto
@@ -300,7 +325,11 @@ La carpeta raíz del proyecto es un repositorio Git independiente.
300
325
  - Carpeta `/pbip-files/`: contiene todos los archivos del proyecto Power BI
301
326
  - Archivo `/pbip-files/{projectName}.pbip`: archivo del proyecto Power BI
302
327
  - Carpeta `/pbip-files/{projectName}.SemanticModel/`: definición del modelo (archivos TMDL, **SOLO LECTURA para agentes**)
303
- - Carpeta `/pbip-files/{projectName}.Report/`: definición del reporte (**SOLO LECTURA para agentes**)
328
+ - Carpeta `/pbip-files/{projectName}.Report/`: definición del reporte (**SOLO LECTURA para agentes**, salvo la excepción cerrada de rebind de campos)
329
+
330
+ Regla de edición: los archivos PBIP son snapshots para Git, revisión y diagnóstico. El agente puede leerlos, validar estructura y explicar diffs, pero no debe editarlos directamente. Los cambios de modelo se hacen por MCP contra Power BI Desktop y luego se guardan/exportan; los cambios de gráficos, layouts, slicers, tarjetas, colores y temas se hacen manualmente en Power BI Desktop.
331
+
332
+ Única excepción de reporte para templates: `bi-kickoff` podrá usar una herramienta cerrada del plugin para intercambiar campos en visuales existentes del template después de crear el modelo por MCP. Esa herramienta sí puede escribir PBIR, pero solo en los nodos necesarios para data bindings (`projections`, `prototypeQuery`, query refs, field parameters y referencias de sort/filter cuando haga falta). Debe recibir un mapeo explícito campo-origen → campo-destino, hacer dry-run, backup, validar antes/después, y preservar tipo de visual, layout, formato, interacciones, IDs, tema y bookmarks. El agente no debe improvisar ese intercambio editando JSON a mano.
304
333
 
305
334
  Cualquier otra carpeta en la raíz (`scripts/`, `docs/`, `notebooks/`, etc.) es espacio libre del proyecto y no debe mezclarse con los archivos de Power BI.
306
335
  ```
@@ -542,7 +571,7 @@ _(Vacío por ahora — las primeras entradas aparecerán cuando tengamos context
542
571
 
543
572
  ```
544
573
  ✓ Escribí:
545
- • AGENTS.md ← documento canónico con las 7 reglas
574
+ • AGENTS.md ← documento canónico con las 8 reglas
546
575
  • CLAUDE.md ← pointer para Claude Code
547
576
  • .github/copilot-instructions.md ← pointer para GitHub Copilot
548
577
  • .kilo/rules/project.md ← pointer para Kilo Code
@@ -550,7 +579,7 @@ _(Vacío por ahora — las primeras entradas aparecerán cuando tengamos context
550
579
  • ROADMAP.md ← plan del proyecto (lo actualizo al final de cada sesión)
551
580
  • LEARNINGS.md ← lecciones del proyecto (lo actualizo cuando algo valga la pena recordar)
552
581
 
553
- A partir de ahora, cualquier agente que abra esta carpeta lee las mismas 7 reglas, el plan del proyecto, y los aprendizajes acumulados.
582
+ A partir de ahora, cualquier agente que abra esta carpeta lee las mismas 8 reglas, el plan del proyecto, y los aprendizajes acumulados.
554
583
  ```
555
584
 
556
585
  ---
@@ -560,16 +589,23 @@ A partir de ahora, cualquier agente que abra esta carpeta lee las mismas 7 regla
560
589
  Now the foundation is ready. Propose the first concrete modeling step based on the domain captured in PHASE 4:
561
590
 
562
591
  ```
563
- Listo para modelar. Con lo que me contaste ({domain} / {purpose}), yo arrancaría por:
592
+ Listo. Ya dejé documentado el contexto del proyecto.
593
+
594
+ Para la primera iteración del modelo base, propongo:
564
595
 
565
- 1. Crear la tabla de hechos central — {suggested-fact-table-for-domain}
566
- 2. Crear las dimensiones clave — {suggested-dims-for-domain}
567
- 3. Conectar las fuentes de datos desde {dataSources[0]}
596
+ 1. Tabla de hechos ficticia — {suggested-fact-table-for-domain}
597
+ 2. Dimensiones ficticias clave — {suggested-dims-for-domain}
598
+ 3. Medidas DAX iniciales para validar el modelo
599
+ 4. Explicación paso a paso de las decisiones de modelado
568
600
 
569
- ¿Arrancamos por (1), o querés otro orden?
601
+ No voy a conectar fuentes reales en este kickoff.
602
+
603
+ ¿Arranco con esta primera iteración?
570
604
  ```
571
605
 
572
- When the user picks, **execute the work via the Power BI Modeling MCP** do not generate `.tmdl` text to paste. The user watches the model change live in Power BI Desktop.
606
+ If the user is writing in English, render the same prompt in English and use "first slice of the base model" instead of "primera iteración del modelo base". Always match the user's language per the multilingual rule in the base prompt.
607
+
608
+ When the user picks, **execute the work via the Power BI Modeling MCP** using fictitious sample data only — do not connect any real data source, and do not generate `.tmdl` text to paste. The user watches the model change live in Power BI Desktop.
573
609
 
574
610
  Suggested first steps by domain:
575
611
 
@@ -585,32 +621,27 @@ These are starting points, not gospel — adapt to what the user said in PHASE 4
585
621
 
586
622
  ---
587
623
 
588
- ## PHASE 7: Handoff to `/bi-report`
624
+ ## PHASE 7: Handoff after the model base
589
625
 
590
626
  Once the model has at least 1 fact, 1 dim, and 3 measures in place, propose moving to reports:
591
627
 
592
628
  ```
593
629
  ✓ Modelo base listo. Tenés fact + dims + {N} medidas.
594
630
 
595
- El siguiente paso lógico es armar los 3 reportes con `/bi-report`. Ese skill va a:
596
- 1. Usar el dominio que ya definimos ({domain})
597
- 2. Inspeccionar tu modelo vía el Modeling MCP (o `pbi-cli-tool` si hace falta) para las medidas/dimensiones exactas
598
- 3. Generar 3 páginas con scripts Node + comandos `pbi report` (card, line, bar, matrix)
599
- 4. Cerrar y reabrir PBI Desktop para que renderice
600
-
601
- Requisito: necesitás Windows + Power BI Desktop + Python 3.10+ + `pipx` + `pbi-cli-tool` (si te falta algo, el skill te guía).
631
+ El siguiente paso lógico es abrir Power BI Desktop y diseñar el reporte manualmente sobre este modelo.
602
632
 
603
- ¿Arrancamos con /bi-report, o preferís agregar más medidas al modelo primero?
633
+ ¿Preferís seguir agregando medidas al modelo primero?
604
634
  ```
605
635
 
606
- If the user opts for reports, load `/bi-report` and let it run. If they want to keep modeling, stay on this skill.
636
+ If the user wants to keep modeling, stay on this skill. If they want reports, hand off to the user for manual Desktop authoring.
607
637
 
608
638
  ---
609
639
 
610
640
  ## What this skill does NOT do
611
641
 
612
642
  - **No scoring / benchmarking** of an existing model. For that, the user can ask "audit this model" separately.
613
- - **Report authoring** is delegated to `/bi-report` which uses bundled Node scripts plus the `pbi` CLI runtime flow — don't write `.Report/` files from here.
643
+ - **Report authoring** is not handled here. Keep this skill focused on semantic-model setup.
644
+ - **No direct PBIP edits**. Do not patch `.SemanticModel/`, `.Report/`, TMDL, PBIR JSON, `visual.json`, visual bindings, slicer/card settings, themes, or report resources directly. The only allowed report-side mutation is the dedicated plugin field-swap/rebind command for existing template visuals; if it is not available, hand off manual Desktop steps.
614
645
 
615
646
  ---
616
647
 
@@ -47,7 +47,7 @@ const HTTPS_TIMEOUT_MS = 5000;
47
47
  // Rewritten at generation time when this helper is copied into
48
48
  // `skills/<name>/scripts/update-check.js`. In the canonical source under
49
49
  // `bin/commands/`, it stays null and we fall back to package.json.
50
- const BUNDLED_INSTALLED_VERSION = "5.0.0";
50
+ const BUNDLED_INSTALLED_VERSION = "5.0.1";
51
51
 
52
52
  // ---------------------------------------------------------------------------
53
53
  // Argument parsing