@luquimbo/bi-superpowers 5.0.0 → 5.0.2
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 +1 -1
- package/.claude-plugin/skill-manifest.json +23 -7
- package/.plugin/plugin.json +1 -1
- package/AGENTS.md +124 -26
- package/CHANGELOG.md +494 -16
- package/README.md +33 -117
- package/bin/cli.js +1 -1
- package/bin/commands/diff.js +2 -2
- package/bin/commands/install.js +58 -45
- package/bin/commands/lint.js +2 -2
- package/bin/commands/validate-projects.js +1 -1
- package/bin/lib/generators/claude-plugin.js +14 -5
- package/bin/lib/generators/shared.js +9 -5
- package/bin/lib/mcp-config.js +22 -2
- package/bin/lib/skills.js +8 -8
- package/bin/mcp/powerbi-modeling-launcher.js +8 -4
- package/bin/postinstall.js +14 -12
- package/bin/utils/mcp-detect.js +11 -11
- package/commands/bi-connect.md +34 -17
- package/commands/bi-dax.md +385 -0
- package/commands/bi-kickoff.md +75 -44
- package/commands/bi-modeling.md +395 -0
- package/commands/bi-performance.md +455 -0
- package/commands/bi-start.md +30 -18
- package/desktop-extension/manifest.json +2 -2
- package/package.json +6 -3
- package/skills/bi-connect/SKILL.md +34 -17
- package/skills/bi-connect/scripts/update-check.js +1 -1
- package/skills/bi-dax/SKILL.md +387 -0
- package/skills/{bi-report → bi-dax}/scripts/update-check.js +1 -1
- package/skills/bi-kickoff/SKILL.md +75 -44
- package/skills/bi-kickoff/scripts/update-check.js +1 -1
- package/skills/bi-modeling/SKILL.md +397 -0
- package/skills/bi-modeling/scripts/update-check.js +403 -0
- package/skills/bi-performance/SKILL.md +457 -0
- package/skills/bi-performance/scripts/install-tabular-editor.ps1 +90 -0
- package/skills/bi-performance/scripts/run-bpa.ps1 +161 -0
- package/skills/bi-performance/scripts/update-check.js +403 -0
- package/skills/bi-start/SKILL.md +31 -19
- package/skills/bi-start/scripts/update-check.js +1 -1
- package/src/content/base.md +13 -8
- package/src/content/routing.md +1 -5
- package/src/content/skills/bi-connect.md +32 -15
- package/src/content/skills/bi-dax.md +358 -0
- package/src/content/skills/bi-kickoff.md +73 -42
- package/src/content/skills/bi-modeling.md +368 -0
- package/src/content/skills/bi-performance/SKILL.md +428 -0
- package/src/content/skills/bi-performance/scripts/install-tabular-editor.ps1 +90 -0
- package/src/content/skills/bi-performance/scripts/run-bpa.ps1 +161 -0
- package/src/content/skills/bi-start.md +30 -18
- package/templates/sales/AGENTS.md +33 -0
- package/templates/sales/sales-template.Report/.platform +11 -0
- package/templates/sales/sales-template.Report/StaticResources/RegisteredResources/BISuperpowers.json +3888 -0
- package/templates/sales/sales-template.Report/StaticResources/SharedResources/BaseThemes/Fluent2-CY26SU03.json +4104 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/page.json +123 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/10420560e5b8c5235857/visual.json +16 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/2181c54a94f0c67abb2d/visual.json +283 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/24eba6a7af0b59974ef5/visual.json +703 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/26db24c91e5b615a5c29/mobile.json +11 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/26db24c91e5b615a5c29/visual.json +528 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/2ec652d0956901dd2afd/mobile.json +11 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/2ec652d0956901dd2afd/visual.json +324 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/45dda4e0b159becf2dcd/mobile.json +11 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/45dda4e0b159becf2dcd/visual.json +359 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/4ca8800cf1539ad423f2/visual.json +468 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/4f5704218eb88f7cdff6/mobile.json +29 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/4f5704218eb88f7cdff6/visual.json +241 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/54d3fdbedbbb863a9d7a/visual.json +575 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/68043403e96ca8ed23e8/visual.json +575 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/80b54a678ef36a250994/visual.json +351 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/814f624b6056dc4c8de5/mobile.json +11 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/814f624b6056dc4c8de5/visual.json +421 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/85e1cc13559f4e107ede/visual.json +681 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/8686961b837e855963fe/mobile.json +11 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/8686961b837e855963fe/visual.json +720 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/8d302c5b7e87e8cb57bb/visual.json +590 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/a02c5b30f2e757637d78/mobile.json +11 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/a02c5b30f2e757637d78/visual.json +102 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/a405d29e7744c770d445/visual.json +575 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/b0dc2036d3cf2baafb35/mobile.json +11 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/b0dc2036d3cf2baafb35/visual.json +333 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/cdd696baaf3b80b326f8/mobile.json +11 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/cdd696baaf3b80b326f8/visual.json +468 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/ff77ca1bafff5bfe5044/mobile.json +11 -0
- package/templates/sales/sales-template.Report/definition/pages/017e2c84c7dc89f26e57/visuals/ff77ca1bafff5bfe5044/visual.json +523 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/page.json +130 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/0352fd80d074693a65db/visual.json +681 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/1c5a14bf493697344b68/visual.json +351 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/3486cf7624c5b109b4e5/mobile.json +11 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/3486cf7624c5b109b4e5/visual.json +333 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/4d8b989008edc0db28d1/mobile.json +11 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/4d8b989008edc0db28d1/visual.json +102 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/5f4d76bbc870118e9840/mobile.json +11 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/5f4d76bbc870118e9840/visual.json +468 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/73629e1abebb7a444b59/mobile.json +11 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/73629e1abebb7a444b59/visual.json +359 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/749cb1388c7e0a88161c/visual.json +685 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/85090dcdf75ac2487d1e/visual.json +283 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/92cf92e3da10493adb78/visual.json +468 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/a30bd0950630ed94e8a3/visual.json +590 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/a56e91d9400a835e4814/mobile.json +11 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/a56e91d9400a835e4814/visual.json +528 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/a90aaa3e3117494f18f8/mobile.json +11 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/a90aaa3e3117494f18f8/visual.json +523 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/aded24cd205c0b528642/mobile.json +11 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/aded24cd205c0b528642/visual.json +720 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/af34b26f14a8a724c9a9/mobile.json +37 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/af34b26f14a8a724c9a9/visual.json +1230 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/b06ef80aa78cabcef8a6/mobile.json +11 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/b06ef80aa78cabcef8a6/visual.json +324 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/d97979633a91e041107e/mobile.json +11 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/d97979633a91e041107e/visual.json +421 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/fa81f184e2cb0e8b087c/mobile.json +29 -0
- package/templates/sales/sales-template.Report/definition/pages/6a4808bb8bb9166f49ff/visuals/fa81f184e2cb0e8b087c/visual.json +241 -0
- package/templates/sales/sales-template.Report/definition/pages/pages.json +8 -0
- package/templates/sales/sales-template.Report/definition/report.json +89 -0
- package/templates/sales/sales-template.Report/definition/version.json +4 -0
- package/templates/sales/sales-template.Report/definition.pbir +9 -0
- package/templates/sales/sales-template.SemanticModel/.pbi/editorSettings.json +8 -0
- package/templates/sales/sales-template.SemanticModel/.platform +11 -0
- package/templates/sales/sales-template.SemanticModel/DAXQueries/.pbi/daxQueries.json +9 -0
- package/templates/sales/sales-template.SemanticModel/DAXQueries/Calendar445MonthNr.dax +0 -0
- package/templates/sales/sales-template.SemanticModel/DAXQueries/Consulta 1.dax +6 -0
- package/templates/sales/sales-template.SemanticModel/DAXQueries/Consulta 2.dax +32 -0
- package/templates/sales/sales-template.SemanticModel/definition/cultures/es-AR.tmdl +7324 -0
- package/templates/sales/sales-template.SemanticModel/definition/database.tmdl +3 -0
- package/templates/sales/sales-template.SemanticModel/definition/expressions.tmdl +233 -0
- package/templates/sales/sales-template.SemanticModel/definition/functions.tmdl +247 -0
- package/templates/sales/sales-template.SemanticModel/definition/model.tmdl +46 -0
- package/templates/sales/sales-template.SemanticModel/definition/relationships.tmdl +16 -0
- package/templates/sales/sales-template.SemanticModel/definition/tables/Aux Comparaciones.tmdl +194 -0
- package/templates/sales/sales-template.SemanticModel/definition/tables/Aux Dimensiones ventas.tmdl +71 -0
- package/templates/sales/sales-template.SemanticModel/definition/tables/Aux Ejes temporales.tmdl +67 -0
- package/templates/sales/sales-template.SemanticModel/definition/tables/Aux Per/303/255odos.tmdl" +318 -0
- package/templates/sales/sales-template.SemanticModel/definition/tables/Aux Vista de calendario.tmdl +36 -0
- package/templates/sales/sales-template.SemanticModel/definition/tables/Aux Vista del valor.tmdl +87 -0
- package/templates/sales/sales-template.SemanticModel/definition/tables/Aux Vista temporal.tmdl +62 -0
- package/templates/sales/sales-template.SemanticModel/definition/tables/Calendario.tmdl +198 -0
- package/templates/sales/sales-template.SemanticModel/definition/tables/Canales.tmdl +59 -0
- package/templates/sales/sales-template.SemanticModel/definition/tables/Clientes.tmdl +120 -0
- package/templates/sales/sales-template.SemanticModel/definition/tables/Modelo Configuraci/303/263n.tmdl" +48 -0
- package/templates/sales/sales-template.SemanticModel/definition/tables/Monedas.tmdl +43 -0
- package/templates/sales/sales-template.SemanticModel/definition/tables/M/303/251tricas.tmdl +553 -0
- package/templates/sales/sales-template.SemanticModel/definition/tables/Productos.tmdl +73 -0
- package/templates/sales/sales-template.SemanticModel/definition/tables/Tipo de cambio.tmdl +66 -0
- package/templates/sales/sales-template.SemanticModel/definition/tables/Ventas.tmdl +133 -0
- package/templates/sales/sales-template.SemanticModel/definition.pbism +5 -0
- package/templates/sales/sales-template.SemanticModel/diagramLayout.json +239 -0
- package/templates/sales/sales-template.pbip +14 -0
- package/theme/BISuperpowers.json +3888 -0
- package/commands/bi-report.md +0 -403
- package/skills/bi-report/SKILL.md +0 -405
- package/skills/bi-report/references/cli-commands.md +0 -184
- package/skills/bi-report/references/cli-setup.md +0 -101
- package/skills/bi-report/references/close-write-open-pattern.md +0 -80
- package/skills/bi-report/references/layouts/finance.md +0 -65
- package/skills/bi-report/references/layouts/generic.md +0 -46
- package/skills/bi-report/references/layouts/hr.md +0 -48
- package/skills/bi-report/references/layouts/marketing.md +0 -45
- package/skills/bi-report/references/layouts/operations.md +0 -44
- package/skills/bi-report/references/layouts/sales.md +0 -50
- package/skills/bi-report/references/native-visuals.md +0 -341
- package/skills/bi-report/references/pbi-desktop-installation.md +0 -87
- package/skills/bi-report/references/pbir-preview-activation.md +0 -40
- package/skills/bi-report/references/slicer.md +0 -89
- package/skills/bi-report/references/textbox.md +0 -101
- package/skills/bi-report/references/themes/BISuperpowers.json +0 -915
- package/skills/bi-report/references/troubleshooting.md +0 -135
- package/skills/bi-report/references/visual-types.md +0 -78
- package/skills/bi-report/scripts/apply-theme.js +0 -243
- package/skills/bi-report/scripts/create-visual.js +0 -942
- package/skills/bi-report/scripts/ensure-pbi-cli.sh +0 -41
- package/skills/bi-report/scripts/validate-pbir.js +0 -351
- package/src/content/skills/bi-report/SKILL.md +0 -376
- package/src/content/skills/bi-report/references/cli-commands.md +0 -184
- package/src/content/skills/bi-report/references/cli-setup.md +0 -101
- package/src/content/skills/bi-report/references/close-write-open-pattern.md +0 -80
- package/src/content/skills/bi-report/references/layouts/finance.md +0 -65
- package/src/content/skills/bi-report/references/layouts/generic.md +0 -46
- package/src/content/skills/bi-report/references/layouts/hr.md +0 -48
- package/src/content/skills/bi-report/references/layouts/marketing.md +0 -45
- package/src/content/skills/bi-report/references/layouts/operations.md +0 -44
- package/src/content/skills/bi-report/references/layouts/sales.md +0 -50
- package/src/content/skills/bi-report/references/native-visuals.md +0 -341
- package/src/content/skills/bi-report/references/pbi-desktop-installation.md +0 -87
- package/src/content/skills/bi-report/references/pbir-preview-activation.md +0 -40
- package/src/content/skills/bi-report/references/slicer.md +0 -89
- package/src/content/skills/bi-report/references/textbox.md +0 -101
- package/src/content/skills/bi-report/references/themes/BISuperpowers.json +0 -915
- package/src/content/skills/bi-report/references/troubleshooting.md +0 -135
- package/src/content/skills/bi-report/references/visual-types.md +0 -78
- package/src/content/skills/bi-report/scripts/apply-theme.js +0 -243
- package/src/content/skills/bi-report/scripts/create-visual.js +0 -942
- package/src/content/skills/bi-report/scripts/ensure-pbi-cli.sh +0 -41
- package/src/content/skills/bi-report/scripts/validate-pbir.js +0 -351
|
@@ -14,18 +14,24 @@ Also activate:
|
|
|
14
14
|
- When the user seems lost about which skill to invoke (e.g. says "no sé qué usar").
|
|
15
15
|
|
|
16
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 `/bi-kickoff`)
|
|
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 `/bi-kickoff`) and **not** a connection specialist (that's `/bi-connect`). You are the front desk.
|
|
18
18
|
|
|
19
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 `/bi-kickoff`. Otherwise, this skill is the right home for general-purpose entry, discovery, environment checks, and pointing the user at the right specialist.
|
|
20
20
|
|
|
21
21
|
## MANDATORY RULES
|
|
22
22
|
|
|
23
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.** You are already inside `/bi-start`. Show the **
|
|
24
|
+
2. **INFORMATIVE MENU — DON'T FORCE A CHOICE.** You are already inside `/bi-start`. Show the **5 BI specialist 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 or 2" — that's quiz-style and annoying for returning users.
|
|
25
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
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. **
|
|
27
|
+
5. **WINDOWS DESKTOP ONLY FOR CURRENT BI WORKFLOWS.** The current BI specialist skills require Windows + Power BI Desktop. On macOS/Linux, do not offer partial local Desktop workflows; explain the limitation and mention that future cloud/Fabric skills may work cross-platform when they do not depend on Desktop.
|
|
28
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
|
+
7. **TEACHER POSTURE BY DEFAULT.** Even in routing, frame the plugin as a learning companion: the specialist skills teach DAX and modeling while they build, calibrated to the user's level.
|
|
30
|
+
|
|
31
|
+
8. **PLUGIN-WIDE INVARIANTS TO SURFACE WHEN ROUTING:**
|
|
32
|
+
- **PBIP files are read-only.** Every specialist skill enforces this. The single allowed report-side mutation is the plugin-owned field-swap/rebind command for existing template visuals. Agents never patch PBIR JSON by hand.
|
|
33
|
+
- **Template is the reference.** All specialist skills replicate the BISuperpowers smoke-test template's current patterns (Auto Date/Time off, marked Date Table, `Métricas` table, one-level measure display folders, Sallieri period comparison, parameterizable currency, field parameters, calculation groups, IBCS theme) by default — in new projects and existing ones.
|
|
34
|
+
If a user asks you (the orchestrator) to "just edit the .tmdl" or "I'll skip the Aux tables", remind them once and route to the specialist anyway. The specialists won't comply, and that's by design.
|
|
29
35
|
|
|
30
36
|
---
|
|
31
37
|
|
|
@@ -67,8 +73,8 @@ Do these detections in order:
|
|
|
67
73
|
```bash
|
|
68
74
|
node -e "console.log(process.platform)"
|
|
69
75
|
```
|
|
70
|
-
- `win32` →
|
|
71
|
-
- `darwin` / `linux` →
|
|
76
|
+
- `win32` → Desktop workflows available.
|
|
77
|
+
- `darwin` / `linux` → Desktop workflows unavailable. Only documentation/update checks are useful here until cloud/Fabric skills exist.
|
|
72
78
|
|
|
73
79
|
2. **Project context** (CWD-based):
|
|
74
80
|
- `./pbip-files/*.pbip` present? → `$hasPbip = true`.
|
|
@@ -95,7 +101,7 @@ Example on macOS:
|
|
|
95
101
|
|
|
96
102
|
```
|
|
97
103
|
📍 macOS · sin .pbip en CWD
|
|
98
|
-
Power BI Desktop no corre en macOS — los skills
|
|
104
|
+
Power BI Desktop no corre en macOS — los specialist skills actuales requieren Windows + Desktop.
|
|
99
105
|
```
|
|
100
106
|
|
|
101
107
|
Keep it 3-4 lines. The point is situational awareness, not a status page.
|
|
@@ -104,20 +110,22 @@ Keep it 3-4 lines. The point is situational awareness, not a status page.
|
|
|
104
110
|
|
|
105
111
|
## PHASE 2: Skills menu (informativo)
|
|
106
112
|
|
|
107
|
-
Remind the user that `/bi-start` is the session opener, then show the **
|
|
113
|
+
Remind the user that `/bi-start` is the session opener, then show the **5 BI specialist skills** as a table. Plain, no prompt. Do NOT number them or ask "which one?".
|
|
108
114
|
|
|
109
115
|
```
|
|
110
|
-
Ya estás en `/bi-start` (session opener). Los
|
|
116
|
+
Ya estás en `/bi-start` (session opener). Los 5 specialist skills de BI disponibles son:
|
|
111
117
|
|
|
112
|
-
/bi-kickoff
|
|
113
|
-
/bi-
|
|
114
|
-
/bi-
|
|
118
|
+
/bi-kickoff Arrancar un proyecto BI nuevo (crea AGENTS.md, plantea modelo) · Windows + PBI Desktop
|
|
119
|
+
/bi-modeling Diseñar, auditar y mejorar modelos semánticos (star schema, DAX) · Windows + PBI Desktop
|
|
120
|
+
/bi-dax Escribir, debuguear y optimizar medidas DAX y grupos de cálculo · Windows + PBI Desktop
|
|
121
|
+
/bi-performance Profilar y optimizar performance (DAX timing, VertiPaq, BPA, refresh) · Windows + PBI Desktop
|
|
122
|
+
/bi-connect Conectar el agente a Power BI Desktop vía MCP · Windows
|
|
115
123
|
|
|
116
124
|
Invocá el que necesites con /<nombre>, o decime en lenguaje natural lo que querés
|
|
117
|
-
hacer (ej: "
|
|
125
|
+
hacer (ej: "conectar Power BI", "arranco proyecto nuevo", "auditar el modelo", "modelo lento", "optimizar medida DAX") y te ruteo.
|
|
118
126
|
```
|
|
119
127
|
|
|
120
|
-
If the user is on macOS/Linux and
|
|
128
|
+
If the user is on macOS/Linux and asks for any current BI specialist skill, remind them once: _"Los skills actuales de BI Agent Superpowers requieren Windows + Power BI Desktop. En Mac/Linux puedo ayudarte con documentación vía Microsoft Learn, pero no correr workflows locales sobre Power BI Desktop. Los futuros skills cloud/Fabric podrán ser cross-platform si no dependen de Desktop."_
|
|
121
129
|
|
|
122
130
|
---
|
|
123
131
|
|
|
@@ -145,7 +153,7 @@ Offer once:
|
|
|
145
153
|
> _"No veo Power BI Desktop abierto. Para conectar el agente al modelo necesitás abrir el .pbip. ¿Lo abro yo y corro `/bi-connect`? (`sí` / `no`)"_
|
|
146
154
|
|
|
147
155
|
- `sí`:
|
|
148
|
-
1. Launch Desktop with the project's .pbip
|
|
156
|
+
1. Launch Desktop with the project's .pbip using the standalone install path:
|
|
149
157
|
```bash
|
|
150
158
|
powershell -Command "Start-Process -FilePath 'C:\Program Files\Microsoft Power BI Desktop\bin\PBIDesktop.exe' -ArgumentList '\"<absolute-path-to.pbip>\"'"
|
|
151
159
|
```
|
|
@@ -155,7 +163,7 @@ Offer once:
|
|
|
155
163
|
- `no` → continue to PHASE 4.
|
|
156
164
|
|
|
157
165
|
On macOS/Linux, skip Case B and Case C — mention once:
|
|
158
|
-
> _"PBI Desktop no corre fuera de Windows.
|
|
166
|
+
> _"PBI Desktop no corre fuera de Windows. Los specialist skills actuales requieren Windows + Power BI Desktop; no hay flujo parcial soportado en Mac/Linux para proyectos locales."_
|
|
159
167
|
|
|
160
168
|
---
|
|
161
169
|
|
|
@@ -163,7 +171,7 @@ On macOS/Linux, skip Case B and Case C — mention once:
|
|
|
163
171
|
|
|
164
172
|
If you got here without dispatching, close with:
|
|
165
173
|
|
|
166
|
-
> _"Listo — invocá el specialist skill que necesites, o pedime ayuda específica sobre cualquiera de esos
|
|
174
|
+
> _"Listo — invocá el specialist skill que necesites, o pedime ayuda específica sobre cualquiera de esos 5. Si abrís una sesión nueva mañana, `/bi-start` te orienta de nuevo."_
|
|
167
175
|
|
|
168
176
|
Stop. Don't hover. The user will tell you what they want next.
|
|
169
177
|
|
|
@@ -172,15 +180,19 @@ Stop. Don't hover. The user will tell you what they want next.
|
|
|
172
180
|
## What this skill does NOT do
|
|
173
181
|
|
|
174
182
|
- **Project analysis or setup**: that's `/bi-kickoff`. If the user says "analizar mi proyecto", "armar el modelo base", "arrancar uno nuevo desde cero", delegate.
|
|
183
|
+
- **Semantic model design and audits**: that's `/bi-modeling`. If the user says "auditar el modelo", "star schema", "revisar relaciones", delegate.
|
|
184
|
+
- **Advanced DAX, debugging, calculation groups**: that's `/bi-dax`. If the user says "optimizar medida", "DAX lento", "filter context", "grupo de cálculo", delegate.
|
|
185
|
+
- **Performance profiling and Best Practice Analyzer audit**: that's `/bi-performance`. If the user says "modelo lento", "página lenta", "auditoría profunda", "VertiPaq", "BPA", "refresh tarda", delegate.
|
|
175
186
|
- **MCP wiring details**: that's `/bi-connect`. bi-start just offers to dispatch it; the actual configuration work is in that skill.
|
|
176
|
-
- **Report authoring**: that's `/bi-report`. Same pattern.
|
|
177
187
|
- **Running the update**: bi-start offers + dispatches `super upgrade`; the actual refresh path after eso (`/plugin update bi-superpowers`, `super install --all --yes`, o `super recharge` only for local Claude Code plugins) is owned by `/bin/cli.js`.
|
|
178
188
|
|
|
179
189
|
## Related Skills
|
|
180
190
|
|
|
181
191
|
- `/bi-kickoff` — when it's a brand-new project that needs `AGENTS.md` + model scaffolding.
|
|
192
|
+
- `/bi-modeling` — when the user needs to design, audit, or extend a semantic model.
|
|
193
|
+
- `/bi-dax` — when the user needs to write, debug, or optimize DAX measures or calculation groups.
|
|
194
|
+
- `/bi-performance` — when the user needs profiling, model size audit, BPA, or refresh diagnostics.
|
|
182
195
|
- `/bi-connect` — when you need the agent talking to PBI Desktop via MCP.
|
|
183
|
-
- `/bi-report` — when you're generating report pages via the bundled Node scripts.
|
|
184
196
|
|
|
185
197
|
## Bundle contents
|
|
186
198
|
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# AGENTS.md — Instrucciones para agentes de IA en este proyecto Power BI
|
|
2
|
+
|
|
3
|
+
## Regla crítica 1: siempre usar el Power BI MCP para escribir
|
|
4
|
+
|
|
5
|
+
Cuando crees o modifiques medidas DAX, tablas, columnas, relaciones o cualquier elemento del modelo semántico, DEBES usar el servidor MCP de Power BI Desktop. NO edites archivos TMDL (`.tmdl`, `.tmd`) directamente. Esos archivos los gestiona el motor tabular. Editarlos a mano basado en tu conocimiento de entrenamiento es propenso a errores y probablemente rompa el modelo.
|
|
6
|
+
|
|
7
|
+
## Regla crítica 2: verificar la conexión MCP al iniciar sesión
|
|
8
|
+
|
|
9
|
+
Antes de hacer cualquier cambio al proyecto, verifica que el MCP de Power BI Desktop esté conectado a una instancia abierta. Si no lo está, avisa al usuario para que abra el archivo `.pbip` en Power BI Desktop primero.
|
|
10
|
+
|
|
11
|
+
## Regla crítica 3: los archivos TMDL son SOLO LECTURA
|
|
12
|
+
|
|
13
|
+
Puedes LEER archivos TMDL para entender la estructura del modelo, las relaciones, las medidas. Es a veces más rápido que consultar por MCP. Pero NUNCA ESCRIBAS en esos archivos.
|
|
14
|
+
|
|
15
|
+
## Regla crítica 4: consultar Microsoft Learn MCP para documentación técnica
|
|
16
|
+
|
|
17
|
+
Cuando el usuario pregunte sobre funciones DAX, propiedades de Power BI, conectores o capacidades de Fabric, consulta el Microsoft Learn MCP antes de responder. No respondas de memoria sobre temas donde la documentación puede haber cambiado desde tu fecha de corte de entrenamiento. Si el Learn MCP no está disponible, avisa al usuario antes de responder.
|
|
18
|
+
|
|
19
|
+
## Regla crítica 5: flujo completo
|
|
20
|
+
|
|
21
|
+
Escribir via MCP. Leer via archivos. Versionar via Git. Después de cambios significativos, sugiere al usuario hacer un commit.
|
|
22
|
+
|
|
23
|
+
## Estructura del proyecto
|
|
24
|
+
|
|
25
|
+
La carpeta raíz del proyecto es un repositorio Git independiente.
|
|
26
|
+
|
|
27
|
+
- Archivo `/sales-template.pbip`: archivo del proyecto Power BI (renombralo al nombre de tu proyecto si lo adaptás)
|
|
28
|
+
- Carpeta `/sales-template.SemanticModel/`: definición del modelo (archivos TMDL, **SOLO LECTURA para agentes**)
|
|
29
|
+
- Carpeta `/sales-template.Report/`: definición del reporte (**SOLO LECTURA para agentes**)
|
|
30
|
+
|
|
31
|
+
Si renombrás los archivos `template.*` para tu proyecto, actualizá también las referencias internas:
|
|
32
|
+
- `<tu-proyecto>.pbip` → campo `artifacts[0].report.path` apunta a `<tu-proyecto>.Report`
|
|
33
|
+
- `<tu-proyecto>.Report/definition.pbir` → campo `datasetReference.byPath.path` apunta a `../<tu-proyecto>.SemanticModel`
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://developer.microsoft.com/json-schemas/fabric/gitIntegration/platformProperties/2.0.0/schema.json",
|
|
3
|
+
"metadata": {
|
|
4
|
+
"type": "Report",
|
|
5
|
+
"displayName": "sales-template"
|
|
6
|
+
},
|
|
7
|
+
"config": {
|
|
8
|
+
"version": "2.0",
|
|
9
|
+
"logicalId": "04b20925-5d76-439b-98f1-a45b9ad6ea5d"
|
|
10
|
+
}
|
|
11
|
+
}
|