@luquimbo/bi-superpowers 5.0.1 → 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 +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.claude-plugin/skill-manifest.json +1 -1
- package/.plugin/plugin.json +1 -1
- package/AGENTS.md +3 -3
- package/CHANGELOG.md +35 -0
- package/README.md +6 -5
- package/bin/commands/validate-projects.js +1 -1
- package/commands/bi-modeling.md +1 -1
- package/package.json +4 -2
- package/skills/bi-connect/SKILL.md +1 -1
- package/skills/bi-connect/scripts/update-check.js +1 -1
- package/skills/bi-dax/SKILL.md +1 -1
- package/skills/bi-dax/scripts/update-check.js +1 -1
- package/skills/bi-kickoff/SKILL.md +1 -1
- package/skills/bi-kickoff/scripts/update-check.js +1 -1
- package/skills/bi-modeling/SKILL.md +2 -2
- package/skills/bi-modeling/scripts/update-check.js +1 -1
- package/skills/bi-performance/SKILL.md +1 -1
- package/skills/bi-performance/scripts/update-check.js +1 -1
- package/skills/bi-start/SKILL.md +1 -1
- package/skills/bi-start/scripts/update-check.js +1 -1
- package/src/content/skills/bi-modeling.md +1 -1
- 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
|
@@ -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": "5.0.
|
|
9
|
+
"version": "5.0.2",
|
|
10
10
|
"repository": "https://github.com/luquimbo/bi-superpowers"
|
|
11
11
|
},
|
|
12
12
|
"plugins": [
|
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": "5.0.
|
|
4
|
+
"version": "5.0.2",
|
|
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
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
- All semantic-model changes must go through the Power BI Modeling MCP against Power BI Desktop, then be persisted by Desktop save/export. Do not hand-edit `.tmdl` or other semantic model files.
|
|
17
17
|
- Report and visual design changes are manual Power BI Desktop work. Never edit PBIR report artifacts directly: no `.Report/**/visual.json`, `page.json`, `report.json`, `definition.pbir`, theme/resource JSON, coordinates, bookmarks, slicers, card settings, conditional formatting, or free-form visual changes by file patch.
|
|
18
18
|
- The only permitted report mutation is the plugin-owned field-swap/rebind command for template adaptation. Agents may not patch PBIR by hand, even when the requested change is "just replacing a measure." The command may write PBIR only to replace source fields/measures in existing visuals with target model fields/measures, using an explicit source-to-target mapping and preserving visual type, layout, formatting, interactions, IDs, theme, and bookmarks. The command must support dry-run, backup, validation, and a tight write scope limited to data bindings (`projections`, `prototypeQuery`, query refs, field parameters, sort/filter field references when required). If that command is unavailable, field swaps stay manual in Power BI Desktop.
|
|
19
|
-
- **Template is the reference.** The BISuperpowers
|
|
19
|
+
- **Template is the reference.** The BISuperpowers sales template (`templates/sales/sales-template.pbip`) encodes the patterns this plugin treats as default for any project: Auto Date/Time disabled, Date Table marked, `discourageImplicitMeasures: true`, the 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), parameterizable currency conversion via the Power Query `MonedaBase` parameter + `Modelo Configuración[ValorTexto]` + `Tipo de cambio[TipoCambioBase]`, dynamic dimensions via field parameters (`Aux Dimensiones ventas`), calculation groups for time intelligence, IBCS-aligned JSON theme. All specialist skills (`bi-kickoff`, `bi-modeling`, `bi-dax`, `bi-performance`, `bi-connect`) replicate these patterns in new projects and audit/migrate existing projects toward them. They are the floor, not optional decoration.
|
|
20
20
|
|
|
21
21
|
## Project Entry Points
|
|
22
22
|
- `AGENTS.md` (this file) — operational context, conventions, install + publish flow.
|
|
@@ -247,7 +247,7 @@ Los 6 skills quedan disponibles como MCP prompts. Claude Desktop is a compatibil
|
|
|
247
247
|
Use `validation/` when the user wants to test the plugin against public fixtures
|
|
248
248
|
or private client projects. Keep this boundary:
|
|
249
249
|
|
|
250
|
-
- `
|
|
250
|
+
- `templates/<domain>/` is the public template area (today: `templates/sales/`). Each template ships its own `AGENTS.md` and PBIP package.
|
|
251
251
|
- `validation/projects/*.json` stores sanitized metadata only.
|
|
252
252
|
- `validation/cases/*.md` stores manual validation playbooks.
|
|
253
253
|
- `validation.local.json` stores private local repo paths and is gitignored.
|
|
@@ -258,7 +258,7 @@ screenshots with private data, or private Git remotes into this public repo. Run
|
|
|
258
258
|
structural checks with:
|
|
259
259
|
|
|
260
260
|
```bash
|
|
261
|
-
super validate-projects --project template
|
|
261
|
+
super validate-projects --project sales-template
|
|
262
262
|
super validate-projects --strict
|
|
263
263
|
```
|
|
264
264
|
|
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,41 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [5.0.2] — 2026-05-08
|
|
11
|
+
|
|
12
|
+
### Changed — 2026-05-08 (templates folder + Calendario merge)
|
|
13
|
+
|
|
14
|
+
- Moved the canonical reference template from `examples/smoke-test/pbip-files/template.*`
|
|
15
|
+
to `templates/sales/sales-template.*` to make room for additional template
|
|
16
|
+
domains (`templates/<domain>/`). Removed the `examples/smoke-test/` umbrella
|
|
17
|
+
and the orphaned `super-test.*` Desktop cache. Filename rename to
|
|
18
|
+
`sales-template.*` was performed via Power BI Desktop "Save As" so the PBIP
|
|
19
|
+
descriptor JSONs (`.pbip` and `Report/definition.pbir`) were never
|
|
20
|
+
hand-edited.
|
|
21
|
+
- `templates/` now ships in the npm tarball (added to `package.json` files
|
|
22
|
+
whitelist). Excluded `**/.pbi/localSettings.json` from the tarball — those
|
|
23
|
+
files contain DPAPI-encrypted machine-specific Desktop bindings and must not
|
|
24
|
+
ship.
|
|
25
|
+
- Updated all repo-side references (skills, AGENTS.md, README.md,
|
|
26
|
+
ARCHITECTURE.md, CONTRIBUTING.md, validation registry) to point at the new
|
|
27
|
+
`templates/sales/` location.
|
|
28
|
+
- Merged the `Calendar` Power Query helper into the loaded `Calendario` Date
|
|
29
|
+
Table. `Calendario` is now rolling (ends at `Today` adjusted by the
|
|
30
|
+
`ZonaHoraria` parameter) and exposes 7 hidden 4-4-5 fiscal columns
|
|
31
|
+
(`Fiscal445Year`, `Fiscal445MonthNr`, `Fiscal445QuarterNr`,
|
|
32
|
+
`Fiscal445SemesterNr`, `Fiscal445MonthKey`, `Fiscal445QuarterKey`,
|
|
33
|
+
`Fiscal445SemesterKey`) consumed by `Aux Períodos`. The `Calendar` named
|
|
34
|
+
expression was deleted; `Aux Períodos` rebound to `Calendario` and renamed
|
|
35
|
+
`[Date]` → `[Fecha]` references.
|
|
36
|
+
|
|
37
|
+
### Removed — 2026-05-08 (orphan measures in sales template)
|
|
38
|
+
|
|
39
|
+
- Deleted 5 unused measures from `Métricas`: `Tipo de cambio seleccionado`,
|
|
40
|
+
`Ventas brutas`, `Métrica seleccionada`, `Color de tarjeta de tendencia`,
|
|
41
|
+
`Color de barras de tendencia`. Audit confirmed zero consumers in report
|
|
42
|
+
visuals, other measures, calculation items, or UDFs. Total measure count:
|
|
43
|
+
32 → 27.
|
|
44
|
+
|
|
10
45
|
### Fixed — 2026-05-08 (release readiness review)
|
|
11
46
|
|
|
12
47
|
- Updated all template-reference guidance to match the current smoke-test
|
package/README.md
CHANGED
|
@@ -504,6 +504,7 @@ bin/
|
|
|
504
504
|
commands/
|
|
505
505
|
skills/
|
|
506
506
|
src/content/
|
|
507
|
+
templates/
|
|
507
508
|
desktop-extension/
|
|
508
509
|
config.json
|
|
509
510
|
config.example.json
|
|
@@ -518,16 +519,16 @@ The npm package does not include:
|
|
|
518
519
|
|
|
519
520
|
```text
|
|
520
521
|
docs/superpowers/
|
|
521
|
-
examples/smoke-test/
|
|
522
522
|
validation/
|
|
523
523
|
validation.local.example.json
|
|
524
524
|
validation.local.json
|
|
525
525
|
node_modules/
|
|
526
526
|
*.test.js
|
|
527
|
+
**/.pbi/localSettings.json
|
|
527
528
|
```
|
|
528
529
|
|
|
529
|
-
`
|
|
530
|
-
`validation/` is
|
|
530
|
+
`templates/` ships canonical reference templates (today: `templates/sales/`). Each template is a complete PBIP package with `AGENTS.md`, semantic model, and report definition — used as the canonical "template-as-reference" by all specialist skills, and as the source for the upcoming `bi-kickoff` "create from template" branch (which will copy `templates/<domain>/` into `<user-repo>/pbip-files/<projectName>.*` with renaming).
|
|
531
|
+
`validation/` is 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.
|
|
531
532
|
|
|
532
533
|
---
|
|
533
534
|
|
|
@@ -582,7 +583,7 @@ Power BI work without committing customer repositories.
|
|
|
582
583
|
Public fixtures live in:
|
|
583
584
|
|
|
584
585
|
```text
|
|
585
|
-
|
|
586
|
+
templates/sales/
|
|
586
587
|
```
|
|
587
588
|
|
|
588
589
|
Sanitized validation metadata lives in:
|
|
@@ -604,7 +605,7 @@ map client projects on your own machine.
|
|
|
604
605
|
Run the structural validation:
|
|
605
606
|
|
|
606
607
|
```bash
|
|
607
|
-
super validate-projects --project template
|
|
608
|
+
super validate-projects --project sales-template
|
|
608
609
|
```
|
|
609
610
|
|
|
610
611
|
Run every descriptor, treating skipped private projects as failures:
|
package/commands/bi-modeling.md
CHANGED
|
@@ -334,7 +334,7 @@ Read `config.json → experienceLevel` if available; otherwise infer from how th
|
|
|
334
334
|
|
|
335
335
|
## Template Patterns to Replicate
|
|
336
336
|
|
|
337
|
-
The BISuperpowers
|
|
337
|
+
The BISuperpowers sales template (`templates/sales/sales-template.pbip` in the plugin repo, or the bundled copy that ships with `super install`) is the canonical reference. When designing a new model or auditing an existing one, replicate these structures **by default**:
|
|
338
338
|
|
|
339
339
|
### Structural patterns
|
|
340
340
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luquimbo/bi-superpowers",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.2",
|
|
4
4
|
"description": "Open-source Power BI Desktop toolkit for Claude Code, GitHub Copilot, Codex, Gemini CLI, and Kilo Code. Ships 6 BI skills and 2 official Microsoft MCP servers.",
|
|
5
5
|
"main": "bin/cli.js",
|
|
6
6
|
"bin": {
|
|
@@ -78,6 +78,7 @@
|
|
|
78
78
|
"commands/",
|
|
79
79
|
"skills/",
|
|
80
80
|
"src/content/",
|
|
81
|
+
"templates/",
|
|
81
82
|
"theme/",
|
|
82
83
|
"desktop-extension/",
|
|
83
84
|
"config.json",
|
|
@@ -86,6 +87,7 @@
|
|
|
86
87
|
"LICENSE",
|
|
87
88
|
"CHANGELOG.md",
|
|
88
89
|
"AGENTS.md",
|
|
89
|
-
"!**/*.test.js"
|
|
90
|
+
"!**/*.test.js",
|
|
91
|
+
"!**/.pbi/localSettings.json"
|
|
90
92
|
]
|
|
91
93
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "bi-connect"
|
|
3
3
|
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\"."
|
|
4
|
-
version: "5.0.
|
|
4
|
+
version: "5.0.2"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
<!-- Generated by BI Agent Superpowers. Edit src/content/skills/bi-connect.md instead. -->
|
|
@@ -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.
|
|
50
|
+
const BUNDLED_INSTALLED_VERSION = "5.0.2";
|
|
51
51
|
|
|
52
52
|
// ---------------------------------------------------------------------------
|
|
53
53
|
// Argument parsing
|
package/skills/bi-dax/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "bi-dax"
|
|
3
3
|
description: "Use when the user asks about Power BI DAX Expert Skill, especially phrases like \"bi-dax\", \"/bi-dax\", \"DAX\", \"medida DAX\", \"DAX measure\", \"fórmula DAX\"."
|
|
4
|
-
version: "5.0.
|
|
4
|
+
version: "5.0.2"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
<!-- Generated by BI Agent Superpowers. Edit src/content/skills/bi-dax.md instead. -->
|
|
@@ -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.
|
|
50
|
+
const BUNDLED_INSTALLED_VERSION = "5.0.2";
|
|
51
51
|
|
|
52
52
|
// ---------------------------------------------------------------------------
|
|
53
53
|
// Argument parsing
|
|
@@ -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.
|
|
4
|
+
version: "5.0.2"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
<!-- Generated by BI Agent Superpowers. Edit src/content/skills/bi-kickoff.md instead. -->
|
|
@@ -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.
|
|
50
|
+
const BUNDLED_INSTALLED_VERSION = "5.0.2";
|
|
51
51
|
|
|
52
52
|
// ---------------------------------------------------------------------------
|
|
53
53
|
// Argument parsing
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "bi-modeling"
|
|
3
3
|
description: "Use when the user asks about Power BI Data Modeling Skill, especially phrases like \"bi-modeling\", \"bi modeling\", \"/bi-modeling\", \"modelar\", \"modelo semántico\", \"semantic model\"."
|
|
4
|
-
version: "5.0.
|
|
4
|
+
version: "5.0.2"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
<!-- Generated by BI Agent Superpowers. Edit src/content/skills/bi-modeling.md instead. -->
|
|
@@ -336,7 +336,7 @@ Read `config.json → experienceLevel` if available; otherwise infer from how th
|
|
|
336
336
|
|
|
337
337
|
## Template Patterns to Replicate
|
|
338
338
|
|
|
339
|
-
The BISuperpowers
|
|
339
|
+
The BISuperpowers sales template (`templates/sales/sales-template.pbip` in the plugin repo, or the bundled copy that ships with `super install`) is the canonical reference. When designing a new model or auditing an existing one, replicate these structures **by default**:
|
|
340
340
|
|
|
341
341
|
### Structural patterns
|
|
342
342
|
|
|
@@ -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.
|
|
50
|
+
const BUNDLED_INSTALLED_VERSION = "5.0.2";
|
|
51
51
|
|
|
52
52
|
// ---------------------------------------------------------------------------
|
|
53
53
|
// Argument parsing
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "bi-performance"
|
|
3
3
|
description: "Use when the user asks about Power BI Performance Skill, especially phrases like \"bi-performance\", \"/bi-performance\", \"performance\", \"rendimiento\", \"lento\", \"slow\"."
|
|
4
|
-
version: "5.0.
|
|
4
|
+
version: "5.0.2"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
<!-- Generated by BI Agent Superpowers. Edit src/content/skills/bi-performance/SKILL.md instead. -->
|
|
@@ -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.
|
|
50
|
+
const BUNDLED_INSTALLED_VERSION = "5.0.2";
|
|
51
51
|
|
|
52
52
|
// ---------------------------------------------------------------------------
|
|
53
53
|
// Argument parsing
|
package/skills/bi-start/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "bi-start"
|
|
3
3
|
description: "Use when the user asks about BI Start Skill, especially phrases like \"bi-start\", \"bi start\", \"/bi-start\", \"empezar\", \"comenzar\", \"arranco\"."
|
|
4
|
-
version: "5.0.
|
|
4
|
+
version: "5.0.2"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
<!-- Generated by BI Agent Superpowers. Edit src/content/skills/bi-start.md instead. -->
|
|
@@ -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.
|
|
50
|
+
const BUNDLED_INSTALLED_VERSION = "5.0.2";
|
|
51
51
|
|
|
52
52
|
// ---------------------------------------------------------------------------
|
|
53
53
|
// Argument parsing
|
|
@@ -307,7 +307,7 @@ Read `config.json → experienceLevel` if available; otherwise infer from how th
|
|
|
307
307
|
|
|
308
308
|
## Template Patterns to Replicate
|
|
309
309
|
|
|
310
|
-
The BISuperpowers
|
|
310
|
+
The BISuperpowers sales template (`templates/sales/sales-template.pbip` in the plugin repo, or the bundled copy that ships with `super install`) is the canonical reference. When designing a new model or auditing an existing one, replicate these structures **by default**:
|
|
311
311
|
|
|
312
312
|
### Structural patterns
|
|
313
313
|
|
|
@@ -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
|
+
}
|