@luquimbo/bi-superpowers 4.1.6 → 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.
- package/.claude-plugin/marketplace.json +8 -6
- package/.claude-plugin/plugin.json +1 -1
- package/.claude-plugin/skill-manifest.json +35 -19
- package/.plugin/plugin.json +1 -1
- package/AGENTS.md +150 -26
- package/CHANGELOG.md +489 -14
- package/README.md +103 -114
- package/bin/cli.js +7 -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 +425 -0
- package/bin/lib/generators/claude-plugin.js +31 -7
- package/bin/lib/generators/shared.js +11 -7
- 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 +418 -0
- package/commands/bi-dax.md +385 -0
- package/commands/{project-kickoff.md → bi-kickoff.md} +78 -47
- package/commands/bi-modeling.md +395 -0
- package/commands/bi-performance.md +455 -0
- package/commands/bi-start.md +39 -27
- package/desktop-extension/manifest.json +2 -2
- package/package.json +3 -2
- package/skills/bi-connect/SKILL.md +420 -0
- package/skills/{pbi-connect → bi-connect}/scripts/update-check.js +1 -1
- package/skills/bi-dax/SKILL.md +387 -0
- package/skills/{report-design → bi-dax}/scripts/update-check.js +1 -1
- package/skills/{project-kickoff → bi-kickoff}/SKILL.md +79 -48
- package/skills/{project-kickoff → 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 +40 -28
- package/skills/bi-start/scripts/update-check.js +1 -1
- package/src/content/base.md +15 -10
- package/src/content/routing.md +15 -18
- package/src/content/skills/bi-connect.md +391 -0
- package/src/content/skills/bi-dax.md +358 -0
- package/src/content/skills/{project-kickoff.md → bi-kickoff.md} +75 -44
- 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 +39 -27
- package/theme/BISuperpowers.json +3888 -0
- package/commands/pbi-connect.md +0 -253
- package/commands/report-design.md +0 -403
- package/skills/pbi-connect/SKILL.md +0 -255
- package/skills/report-design/SKILL.md +0 -405
- package/skills/report-design/references/cli-commands.md +0 -184
- package/skills/report-design/references/cli-setup.md +0 -101
- package/skills/report-design/references/close-write-open-pattern.md +0 -80
- package/skills/report-design/references/layouts/finance.md +0 -65
- package/skills/report-design/references/layouts/generic.md +0 -46
- package/skills/report-design/references/layouts/hr.md +0 -48
- package/skills/report-design/references/layouts/marketing.md +0 -45
- package/skills/report-design/references/layouts/operations.md +0 -44
- package/skills/report-design/references/layouts/sales.md +0 -50
- package/skills/report-design/references/native-visuals.md +0 -341
- package/skills/report-design/references/pbi-desktop-installation.md +0 -87
- package/skills/report-design/references/pbir-preview-activation.md +0 -40
- package/skills/report-design/references/slicer.md +0 -89
- package/skills/report-design/references/textbox.md +0 -101
- package/skills/report-design/references/themes/BISuperpowers.json +0 -915
- package/skills/report-design/references/troubleshooting.md +0 -135
- package/skills/report-design/references/visual-types.md +0 -78
- package/skills/report-design/scripts/apply-theme.js +0 -243
- package/skills/report-design/scripts/create-visual.js +0 -942
- package/skills/report-design/scripts/ensure-pbi-cli.sh +0 -41
- package/skills/report-design/scripts/validate-pbir.js +0 -351
- package/src/content/skills/pbi-connect.md +0 -226
- package/src/content/skills/report-design/SKILL.md +0 -376
- package/src/content/skills/report-design/references/cli-commands.md +0 -184
- package/src/content/skills/report-design/references/cli-setup.md +0 -101
- package/src/content/skills/report-design/references/close-write-open-pattern.md +0 -80
- package/src/content/skills/report-design/references/layouts/finance.md +0 -65
- package/src/content/skills/report-design/references/layouts/generic.md +0 -46
- package/src/content/skills/report-design/references/layouts/hr.md +0 -48
- package/src/content/skills/report-design/references/layouts/marketing.md +0 -45
- package/src/content/skills/report-design/references/layouts/operations.md +0 -44
- package/src/content/skills/report-design/references/layouts/sales.md +0 -50
- package/src/content/skills/report-design/references/native-visuals.md +0 -341
- package/src/content/skills/report-design/references/pbi-desktop-installation.md +0 -87
- package/src/content/skills/report-design/references/pbir-preview-activation.md +0 -40
- package/src/content/skills/report-design/references/slicer.md +0 -89
- package/src/content/skills/report-design/references/textbox.md +0 -101
- package/src/content/skills/report-design/references/themes/BISuperpowers.json +0 -915
- package/src/content/skills/report-design/references/troubleshooting.md +0 -135
- package/src/content/skills/report-design/references/visual-types.md +0 -78
- package/src/content/skills/report-design/scripts/apply-theme.js +0 -243
- package/src/content/skills/report-design/scripts/create-visual.js +0 -942
- package/src/content/skills/report-design/scripts/ensure-pbi-cli.sh +0 -41
- package/src/content/skills/report-design/scripts/validate-pbir.js +0 -351
|
@@ -6,20 +6,22 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "AI-powered skills for Power BI Desktop development. Works with Claude Code, GitHub Copilot, Codex, Gemini CLI, and Kilo Code.",
|
|
9
|
-
"version": "
|
|
9
|
+
"version": "5.0.1",
|
|
10
10
|
"repository": "https://github.com/luquimbo/bi-superpowers"
|
|
11
11
|
},
|
|
12
12
|
"plugins": [
|
|
13
13
|
{
|
|
14
14
|
"name": "bi-superpowers",
|
|
15
|
-
"description": "
|
|
15
|
+
"description": "6 AI skills + Power BI Modeling and Microsoft Learn MCP servers for local Power BI Desktop workflows across 5 AI agents.",
|
|
16
16
|
"source": "./",
|
|
17
17
|
"strict": false,
|
|
18
18
|
"skills": [
|
|
19
|
-
"./skills/bi-
|
|
20
|
-
"./skills/
|
|
21
|
-
"./skills/
|
|
22
|
-
"./skills/
|
|
19
|
+
"./skills/bi-connect",
|
|
20
|
+
"./skills/bi-dax",
|
|
21
|
+
"./skills/bi-kickoff",
|
|
22
|
+
"./skills/bi-modeling",
|
|
23
|
+
"./skills/bi-performance",
|
|
24
|
+
"./skills/bi-start"
|
|
23
25
|
]
|
|
24
26
|
}
|
|
25
27
|
]
|
|
@@ -1,39 +1,55 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bi-superpowers",
|
|
3
|
-
"version": "
|
|
4
|
-
"skillCount":
|
|
3
|
+
"version": "5.0.1",
|
|
4
|
+
"skillCount": 6,
|
|
5
5
|
"skills": [
|
|
6
6
|
{
|
|
7
|
-
"name": "bi-
|
|
8
|
-
"title": "BI
|
|
9
|
-
"description": "Use when the user asks about BI
|
|
7
|
+
"name": "bi-connect",
|
|
8
|
+
"title": "Power BI MCP Connection Skill",
|
|
9
|
+
"description": "Use when the user asks about Power BI MCP Connection Skill, especially phrases like \"connect Power BI\", \"PBI connection\", \"MCP connection\", \"Power BI MCP\", \"DAX UDF\", \"DAX user-defined function\".",
|
|
10
10
|
"category": "command",
|
|
11
|
-
"triggerCount":
|
|
12
|
-
"path": "skills/bi-
|
|
11
|
+
"triggerCount": 26,
|
|
12
|
+
"path": "skills/bi-connect/SKILL.md"
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
|
-
"name": "
|
|
16
|
-
"title": "Power BI
|
|
17
|
-
"description": "Use when the user asks about Power BI
|
|
15
|
+
"name": "bi-dax",
|
|
16
|
+
"title": "Power BI DAX Expert Skill",
|
|
17
|
+
"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\".",
|
|
18
18
|
"category": "command",
|
|
19
|
-
"triggerCount":
|
|
20
|
-
"path": "skills/
|
|
19
|
+
"triggerCount": 51,
|
|
20
|
+
"path": "skills/bi-dax/SKILL.md"
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
|
-
"name": "
|
|
23
|
+
"name": "bi-kickoff",
|
|
24
24
|
"title": "Project Kickoff Skill",
|
|
25
25
|
"description": "Use when the user asks about Project Kickoff Skill, especially phrases like \"I'm starting a brand-new BI project from scratch\", \"analizar proyecto\", \"analyze project\", \"project kickoff\", \"nuevo proyecto\", \"new project\".",
|
|
26
26
|
"category": "command",
|
|
27
27
|
"triggerCount": 15,
|
|
28
|
-
"path": "skills/
|
|
28
|
+
"path": "skills/bi-kickoff/SKILL.md"
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
|
-
"name": "
|
|
32
|
-
"title": "
|
|
33
|
-
"description": "Use when the user asks about
|
|
31
|
+
"name": "bi-modeling",
|
|
32
|
+
"title": "Power BI Data Modeling Skill",
|
|
33
|
+
"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\".",
|
|
34
34
|
"category": "command",
|
|
35
|
-
"triggerCount":
|
|
36
|
-
"path": "skills/
|
|
35
|
+
"triggerCount": 39,
|
|
36
|
+
"path": "skills/bi-modeling/SKILL.md"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "bi-performance",
|
|
40
|
+
"title": "Power BI Performance Skill",
|
|
41
|
+
"description": "Use when the user asks about Power BI Performance Skill, especially phrases like \"bi-performance\", \"/bi-performance\", \"performance\", \"rendimiento\", \"lento\", \"slow\".",
|
|
42
|
+
"category": "command",
|
|
43
|
+
"triggerCount": 42,
|
|
44
|
+
"path": "skills/bi-performance/SKILL.md"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "bi-start",
|
|
48
|
+
"title": "BI Start Skill",
|
|
49
|
+
"description": "Use when the user asks about BI Start Skill, especially phrases like \"bi-start\", \"bi start\", \"/bi-start\", \"empezar\", \"comenzar\", \"arranco\".",
|
|
50
|
+
"category": "command",
|
|
51
|
+
"triggerCount": 22,
|
|
52
|
+
"path": "skills/bi-start/SKILL.md"
|
|
37
53
|
}
|
|
38
54
|
]
|
|
39
55
|
}
|
package/.plugin/plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"spec": "open-plugin-spec@1",
|
|
3
3
|
"name": "bi-superpowers",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "5.0.1",
|
|
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
|
@@ -6,15 +6,114 @@
|
|
|
6
6
|
|
|
7
7
|
## Project Overrides
|
|
8
8
|
- Primary interface is the `super` CLI and the slash-command skills listed below.
|
|
9
|
+
- Codex is the product's primary development and end-to-end validation baseline. Other agent adapters are compatibility targets unless a specific release cycle explicitly tests them.
|
|
9
10
|
- Adapters generate tool-specific configs; treat adapters as derived artifacts.
|
|
10
11
|
- No lessons/tasks files are required unless the user requests them.
|
|
11
12
|
- AI-generated code must include beginner-friendly comments and remain optimal for agent comprehension.
|
|
13
|
+
- Plugin skills must default to teacher mode: teach DAX, modeling, report reasoning, and Git/version-control habits as work is performed, calibrated to the user's level.
|
|
14
|
+
- Power BI users should be coached toward developer-grade workflow. Saving in Power BI Desktop is the authoring action; reviewing diffs and committing meaningful snapshots is the engineering action. Agents should explain the Git step, recommend commits after significant saved changes, and offer to create the commit automatically when the repo is clean and the change is coherent.
|
|
15
|
+
- PBIP files are version-control snapshots, not an authoring surface for agents. Agents may read `.pbip`, `.SemanticModel/`, and `.Report/` files for diagnostics, diffs, and validation only.
|
|
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
|
+
- 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
|
+
- 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 smoke-test template (`examples/smoke-test/pbip-files/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.
|
|
12
20
|
|
|
13
21
|
## Project Entry Points
|
|
14
|
-
- `AGENTS.md` (this file)
|
|
15
|
-
- `
|
|
16
|
-
- `
|
|
17
|
-
- `
|
|
22
|
+
- `AGENTS.md` (this file) — operational context, conventions, install + publish flow.
|
|
23
|
+
- `CLAUDE.md` — companion file referenced at session start; lists the five context files in read order.
|
|
24
|
+
- `ROADMAP.md` — strategic backlog, session log, decisions per cycle.
|
|
25
|
+
- `CHANGELOG.md` — historical record of every release plus the `[Unreleased]` accumulator.
|
|
26
|
+
- `README.md` — public-facing overview of skills, MCPs, install paths, supported agents.
|
|
27
|
+
- `validation/README.md` — repo-only validation harness guidance.
|
|
28
|
+
- `src/content/` — source of truth for skills (canonical authoring location).
|
|
29
|
+
- `bin/` — CLI, generators, MCP launcher, install helpers.
|
|
30
|
+
- `config.json` — local plugin user preferences template.
|
|
31
|
+
|
|
32
|
+
## Documentation Maintenance Contract
|
|
33
|
+
|
|
34
|
+
**Every commit that changes plugin behavior, conventions, install contracts, or strategic direction MUST update the relevant context files in the same commit.** This contract took effect on 2026-05-01 and exists because Lucas switches between Claude Code and Codex frequently — these files are the only handoff between sessions.
|
|
35
|
+
|
|
36
|
+
Per-commit checklist:
|
|
37
|
+
|
|
38
|
+
| File | Update when |
|
|
39
|
+
|---|---|
|
|
40
|
+
| `CHANGELOG.md` | Any user-visible change. Add an entry under `[Unreleased]` with the right section (Added / Changed / Fixed / Deprecated / Removed / Security / Breaking). |
|
|
41
|
+
| `ROADMAP.md` | Mark DONE items, append to the session log at the **top** of the section (most recent first), update "Where we are right now" if the strategic state changed, add Open Questions if you spot them. |
|
|
42
|
+
| `AGENTS.md` | Conventions, install contract, skill list, MCP list, or context-file references change. |
|
|
43
|
+
| `CLAUDE.md` | Same triggers as `AGENTS.md` if the change affects the read-order at session start. |
|
|
44
|
+
| `README.md` | User-visible API, install path, agent table, or capabilities change. |
|
|
45
|
+
| `validation/README.md` | Validation harness contract changes. |
|
|
46
|
+
|
|
47
|
+
Never ship a plugin-code commit without checking these. Acceptable exceptions (no doc update needed): pure refactors with no behavior change, dependency bumps, lint/format fixes. When in doubt, add at least a one-line `[Unreleased]` entry.
|
|
48
|
+
|
|
49
|
+
## Atomic Commits Strategy
|
|
50
|
+
|
|
51
|
+
**Codified 2026-05-01.** The agent commits autonomously as work progresses; the user explicitly authorizes pushes. The agent does NOT ask permission to commit each chunk — that's noise. The agent DOES ask before pushing to `origin`.
|
|
52
|
+
|
|
53
|
+
For BI project work, do not hide Git from the user. After MCP or manual Power BI
|
|
54
|
+
Desktop changes are saved/exported, inspect the diff, explain what changed in
|
|
55
|
+
plain language, and recommend a commit when the snapshot is meaningful. If the
|
|
56
|
+
user asks the agent to handle versioning, create the commit automatically once
|
|
57
|
+
the change is coherent and verified; otherwise offer the exact commit action and
|
|
58
|
+
teach why it matters.
|
|
59
|
+
|
|
60
|
+
### When to commit (autonomous triggers)
|
|
61
|
+
|
|
62
|
+
Commit immediately, without asking, when **all four** are true:
|
|
63
|
+
|
|
64
|
+
1. **Coherent unit complete** — one feature, one fix, one refactor, one doc batch, one test batch. Describable in a single conventional-commit subject line.
|
|
65
|
+
2. **Verified clean** — for code: `npm run lint` + `npm run format:check` pass; relevant `npm test` subset (or full suite) green. For docs only: visual diff sanity-checked.
|
|
66
|
+
3. **Documentation contract honored** — the 5 context files updated where relevant (per "Documentation Maintenance Contract" above). For pure-doc commits this folds into the same commit.
|
|
67
|
+
4. **Working tree was the agent's intent** — no leftover scratch files, no half-applied edits, no untracked binaries.
|
|
68
|
+
|
|
69
|
+
### When NOT to commit (autonomous anti-triggers)
|
|
70
|
+
|
|
71
|
+
Hold off committing — keep working — when any of these:
|
|
72
|
+
|
|
73
|
+
- Tests are failing or weren't run on touched code paths.
|
|
74
|
+
- Multiple unrelated changes are mixed in the working tree (split first; commit each separately).
|
|
75
|
+
- Mid-flight refactor, multi-file rename, or mid-spec implementation that's coherent only end-to-end.
|
|
76
|
+
- The user is mid-thought (clarification pending, design not approved, plan not validated).
|
|
77
|
+
- The commit would carry untrusted/secret content (`.env`, credentials, customer data).
|
|
78
|
+
|
|
79
|
+
### Commit message convention
|
|
80
|
+
|
|
81
|
+
Conventional Commits style. Subject ≤ 72 chars. Body explains the **why** when non-trivial.
|
|
82
|
+
|
|
83
|
+
| Prefix | Use for |
|
|
84
|
+
|---|---|
|
|
85
|
+
| `feat(scope):` | New user-visible capability |
|
|
86
|
+
| `fix(scope):` | Behavior bug fix |
|
|
87
|
+
| `docs(scope):` | Documentation-only changes |
|
|
88
|
+
| `chore(scope):` | Maintenance, deps, packaging |
|
|
89
|
+
| `refactor(scope):` | Internal restructure, no behavior change |
|
|
90
|
+
| `test(scope):` | Test additions/refactors only |
|
|
91
|
+
| `style:` | Formatting/whitespace only |
|
|
92
|
+
| `feat(scope)!:` or `BREAKING CHANGE:` | Breaking change |
|
|
93
|
+
|
|
94
|
+
Scopes used in this repo: `bi-start`, `bi-kickoff`, `bi-connect`, `bi-modeling`, `bi-dax`, `bi-performance`, `mcp`, `cli`, `install`, `update-check`, `generators`, `build-desktop`, `validation`, `docs`, `ci`, `release`, `roadmap`, `smoke-test`, `agents`. Add new scopes when needed.
|
|
95
|
+
|
|
96
|
+
Always include the `Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>` trailer when Claude Code is the author. Codex sessions sign their own way.
|
|
97
|
+
|
|
98
|
+
### Push policy
|
|
99
|
+
|
|
100
|
+
**Never push autonomously.** When a coherent batch of commits is ready, surface it to the user:
|
|
101
|
+
|
|
102
|
+
> "Hay N commits listos para pushear a `origin/main`. ¿Pusheo?"
|
|
103
|
+
|
|
104
|
+
Include a one-line summary per commit. Wait for explicit confirmation. Multiple commits accumulating locally is normal and fine.
|
|
105
|
+
|
|
106
|
+
The only exception is when the user explicitly authorizes a push as part of a workflow ("commit and push", "tag and push for release", "do it"). In that case treat it as a one-time grant, not standing.
|
|
107
|
+
|
|
108
|
+
### Verify-before-commit checklist (cheap, do every time)
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
npm run lint # ~3s
|
|
112
|
+
npm run format:check # ~1s
|
|
113
|
+
git status # confirm intent
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Run `npm test` when touching `bin/` code or scripts. Run `npm run build:plugin` when touching `src/content/` to confirm idempotent regen.
|
|
18
117
|
|
|
19
118
|
## Publishing to npm (for AI agents)
|
|
20
119
|
|
|
@@ -81,7 +180,7 @@ The repo uses **GitHub Actions** to publish automatically. The `NPM_TOKEN` is st
|
|
|
81
180
|
|
|
82
181
|
---
|
|
83
182
|
|
|
84
|
-
AI-powered toolkit for Power BI Desktop development
|
|
183
|
+
AI-powered toolkit for Power BI Desktop development, developed and stress-tested first in Codex, with compatibility adapters for Claude Code, GitHub Copilot, Gemini CLI, and Kilo Code.
|
|
85
184
|
|
|
86
185
|
Developed by **Lucas Sanchez** ([@luquimbo](https://github.com/luquimbo))
|
|
87
186
|
|
|
@@ -99,19 +198,19 @@ npm install -g @luquimbo/bi-superpowers
|
|
|
99
198
|
super install
|
|
100
199
|
```
|
|
101
200
|
|
|
102
|
-
The shared
|
|
103
|
-
- **
|
|
201
|
+
The shared v5.0.x contract is:
|
|
202
|
+
- **6 skills** — `bi-start` (session opener), `bi-kickoff` (new-project bootstrap), `bi-modeling` (semantic-model design + audit), `bi-dax` (DAX authoring + optimization), `bi-performance` (profiling + BPA via Tabular Editor 2), `bi-connect` (MCP connection + DAX UDFs)
|
|
104
203
|
- **2 MCP servers** — `powerbi-modeling-mcp`, `microsoft-learn`
|
|
105
204
|
|
|
106
205
|
Agent-specific behavior:
|
|
107
206
|
- **All agents** — the primary install is user-level via `super install`, not repo-local.
|
|
108
|
-
- **
|
|
109
|
-
- **
|
|
110
|
-
- **
|
|
111
|
-
- **Gemini CLI** —
|
|
112
|
-
- **Kilo Code** —
|
|
207
|
+
- **Codex** — primary tested baseline. Uses installed user-level skills + MCP config via natural-language prompts. Do not run `super kickoff` for Codex setup.
|
|
208
|
+
- **Claude Code** — compatibility adapter. `super kickoff` can optionally generate a project-local plugin with slash commands: `/bi-start`, `/bi-kickoff`, `/bi-connect`, but Claude Code is not currently the end-to-end release QA baseline.
|
|
209
|
+
- **GitHub Copilot** — compatibility adapter. Uses installed user-level skills + MCP config via natural-language prompts, but is not currently the end-to-end release QA baseline.
|
|
210
|
+
- **Gemini CLI** — compatibility adapter. Uses installed user-level skills + MCP config via natural-language prompts, but is not currently the end-to-end release QA baseline.
|
|
211
|
+
- **Kilo Code** — compatibility adapter. Uses installed user-level skills + MCP config via natural-language prompts, but is not currently the end-to-end release QA baseline.
|
|
113
212
|
|
|
114
|
-
|
|
213
|
+
All current local Power BI project skills require **Windows + Power BI Desktop**. Do not present Mac/Linux as supported for local Desktop workflows; only future cloud/Fabric skills may become cross-platform when they do not depend on Desktop.
|
|
115
214
|
|
|
116
215
|
### Claude Desktop
|
|
117
216
|
|
|
@@ -120,18 +219,19 @@ super build-desktop --output dist
|
|
|
120
219
|
# Double-click bi-superpowers.mcpb para instalar en Claude Desktop
|
|
121
220
|
```
|
|
122
221
|
|
|
123
|
-
Los
|
|
222
|
+
Los 6 skills quedan disponibles como MCP prompts. Claude Desktop is a compatibility target, not the primary end-to-end QA baseline.
|
|
124
223
|
|
|
125
224
|
---
|
|
126
225
|
|
|
127
226
|
## Workflow Orchestration
|
|
128
227
|
|
|
129
|
-
1. **
|
|
130
|
-
2. **
|
|
131
|
-
3. **
|
|
132
|
-
4. **
|
|
133
|
-
5. **
|
|
134
|
-
6. **
|
|
228
|
+
1. **Single-session by default (since 2026-05-01)**: Lucas runs one active dev session at a time on this repo. Do not create git worktrees, parallel branches, or async coordination files unless he explicitly asks. The previous worktrees convention (OQ-2) is deprecated in practice — keep it documented for emergencies only.
|
|
229
|
+
2. **Plan Mode (when allowed)**: For non-trivial work (3+ steps or architectural decisions), use plan mode when the environment supports it or the user asks. Re-plan if context changes.
|
|
230
|
+
3. **Subagents (when available)**: Use subagents only if the environment provides them. Delegate research/exploration in parallel, one task per subagent.
|
|
231
|
+
4. **Self-Improvement Loop (context-aware)**: Capture corrections only if the repo uses a lessons file or the user asks. Keep rules concise. Review lessons only when such a file exists.
|
|
232
|
+
5. **Verification Before Done**: Do not mark complete without proof. Run tests/checks when available, document limitations if you cannot.
|
|
233
|
+
6. **Demand Elegance (balanced)**: For non-trivial changes, prefer the elegant solution; avoid hacky fixes.
|
|
234
|
+
7. **Autonomous Bug Fixing**: For bug reports, own the fix end-to-end using logs/tests as evidence.
|
|
135
235
|
|
|
136
236
|
## Task Management
|
|
137
237
|
|
|
@@ -142,20 +242,42 @@ Los 4 skills quedan disponibles como MCP prompts.
|
|
|
142
242
|
5. **Document Results**: Add a review section when task tracking is in scope.
|
|
143
243
|
6. **Capture Lessons**: Update lessons only when the repo uses it or the user requests it.
|
|
144
244
|
|
|
245
|
+
## Project Validation Harness
|
|
246
|
+
|
|
247
|
+
Use `validation/` when the user wants to test the plugin against public fixtures
|
|
248
|
+
or private client projects. Keep this boundary:
|
|
249
|
+
|
|
250
|
+
- `examples/smoke-test/` is the public fixture area.
|
|
251
|
+
- `validation/projects/*.json` stores sanitized metadata only.
|
|
252
|
+
- `validation/cases/*.md` stores manual validation playbooks.
|
|
253
|
+
- `validation.local.json` stores private local repo paths and is gitignored.
|
|
254
|
+
- `validation/runs/` stores local logs and is gitignored.
|
|
255
|
+
|
|
256
|
+
Never copy customer repositories, `.pbix`, Excel files, credentials,
|
|
257
|
+
screenshots with private data, or private Git remotes into this public repo. Run
|
|
258
|
+
structural checks with:
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
super validate-projects --project template
|
|
262
|
+
super validate-projects --strict
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
MCP-backed validation still happens in the external client repo or public
|
|
266
|
+
fixture; this repo records only sanitized evidence and repeatable checks.
|
|
267
|
+
|
|
145
268
|
## Core Principles
|
|
146
269
|
|
|
147
270
|
- **Simplicity First**: Minimal, clear changes.
|
|
148
271
|
- **No Laziness**: Fix root causes, avoid temporary patches.
|
|
149
272
|
- **Minimal Impact**: Touch only what is necessary.
|
|
150
273
|
|
|
151
|
-
## Available Skills (
|
|
274
|
+
## Available Skills (3)
|
|
152
275
|
|
|
153
276
|
| Skill | Purpose | Trigger |
|
|
154
277
|
|-------|---------|---------|
|
|
155
278
|
| `/bi-start` | Session opener: environment snapshot, update check, and routing to the specialist skills | "bi-start", "empezar", "start session" |
|
|
156
|
-
| `/
|
|
157
|
-
| `/
|
|
158
|
-
| `/report-design` | Generate PBIR report pages via bundled Node scripts | "report design", "crear reportes" |
|
|
279
|
+
| `/bi-kickoff` | Analyze and plan BI projects | "analyze project", "new project" |
|
|
280
|
+
| `/bi-connect` | Connect to Power BI Desktop and guide DAX UDF authoring with Microsoft Learn + DAXLIB references | "connect Power BI", "MCP", "DAX UDF", "DAXLIB" |
|
|
159
281
|
|
|
160
282
|
## MCP Servers (2)
|
|
161
283
|
|
|
@@ -186,8 +308,8 @@ BI Agent Superpowers installs skills and MCP configuration at the user level for
|
|
|
186
308
|
project/
|
|
187
309
|
├── .claude-plugin/plugin.json # Plugin manifest
|
|
188
310
|
├── .mcp.json # Power BI Modeling + Microsoft Learn MCPs
|
|
189
|
-
├── commands/*.md #
|
|
190
|
-
├── skills/*/SKILL.md #
|
|
311
|
+
├── commands/*.md # 3 slash commands (bi-start, bi-connect, bi-kickoff)
|
|
312
|
+
├── skills/*/SKILL.md # 6 skills (discoverable)
|
|
191
313
|
└── config.json # User preferences
|
|
192
314
|
```
|
|
193
315
|
|
|
@@ -265,6 +387,8 @@ Connect AI assistants directly to Power BI and Excel:
|
|
|
265
387
|
| MCP Protocol | https://modelcontextprotocol.io |
|
|
266
388
|
| Power BI Docs | https://docs.microsoft.com/power-bi |
|
|
267
389
|
| DAX Guide | https://dax.guide |
|
|
390
|
+
| DAX UDF Docs | https://learn.microsoft.com/en-us/dax/best-practices/dax-user-defined-functions |
|
|
391
|
+
| DAXLIB | https://github.com/daxlib/daxlib |
|
|
268
392
|
|
|
269
393
|
---
|
|
270
394
|
|