← All skills
Power BI Custom Visuals Development
82 / 100 · Low risk
Fine to try.
By TheLobbi/Claude-m (GitHub) · coding · 19 stars · scanned at commit 703f383
This skill should be used when the user asks about developing, building, debugging, packaging, or certifying a custom Power BI visual with the pbiviz toolchain (powerbi-visuals-tools). Covers environment setup, the visual project structure, capabilities.json (data roles, dataView mappings, objects, features, privileges), the IVisual API lifecycle (constructor, update, getFormattingModel, destroy), reading the dataView (categorical, table, matrix, single), the modern format pane and formatting m…
Works with any agent that supports SKILL.md skills.
What this skill can do
Downloads and installs other software
The author does not mention this.
Found in 20 places.
Show 17 more
- powerbi-custom-visuals/skills/powerbi-custom-visuals/examples/scaffold-walkthrough.md, line 8
npm i -g powerbi-visuals-tools@latest # provides `pbiviz` - powerbi-custom-visuals/skills/powerbi-custom-visuals/examples/scaffold-walkthrough.md, line 55
npx eslint . --ext .js,.jsx,.ts,.tsx # no errors - powerbi-custom-visuals/skills/powerbi-custom-visuals/references/environment-setup.md, line 25
npm i -g powerbi-visuals-tools@latest - powerbi-custom-visuals/skills/powerbi-custom-visuals/references/packaging-certification.md, line 63
- `package.json` includes `typescript`, `eslint`, `eslint-plugin-powerbi-visuals`, and the lint command `npx eslint . --ext .js,.jsx,.ts,.tsx`. - powerbi-custom-visuals/skills/powerbi-custom-visuals/references/project-structure.md, line 80
"lint": "npx eslint . --ext .js,.jsx,.ts,.tsx", - powerbi-custom-visuals/skills/powerbi-custom-visuals/references/project-structure.md, line 96
`powerbi-visuals-api` is usually a **devDependency type-only** package (the host provides the runtime). The four certification-required packages are `typescript - powerbi-custom-visuals/skills/powerbi-custom-visuals/references/testing.md, line 23
"scripts": { "eslint": "npx eslint . --ext .js,.jsx,.ts,.tsx" } - powerbi-custom-visuals/skills/powerbi-custom-visuals/references/testing.md, line 37
The plugin flags the patterns certification forbids (external access, unsafe DOM, `eval`, etc.). `npx eslint . --ext .js,.jsx,.ts,.tsx` must return **no errors* - powerbi-custom-visuals/skills/powerbi-custom-visuals/references/testing.md, line 87
- `npx eslint . --ext .js,.jsx,.ts,.tsx` — no errors. - powerbi-custom-visuals/commands/pbiviz-certify.md, line 28
- `package.json` has `typescript`, `eslint`, `eslint-plugin-powerbi-visuals`, and the lint command `npx eslint . --ext .js,.jsx,.ts,.tsx`. - powerbi-custom-visuals/commands/pbiviz-certify.md, line 46
2. `npx eslint . --ext .js,.jsx,.ts,.tsx` - powerbi-custom-visuals/commands/pbiviz-dataview.md, line 45
1. Type-check (`npx tsc --noEmit` or rely on `pbiviz start`). - powerbi-custom-visuals/commands/pbiviz-debug.md, line 41
Apply the fix, then re-run `pbiviz start` (or `npx eslint . --ext .js,.jsx,.ts,.tsx`) and confirm the symptom is gone across empty, partial, and large data. - powerbi-custom-visuals/commands/pbiviz-migrate.md, line 46
1. `npx eslint . --ext .js,.jsx,.ts,.tsx` and type-check. - powerbi-custom-visuals/commands/pbiviz-package.md, line 35
1. `npx eslint . --ext .js,.jsx,.ts,.tsx` — no errors. - powerbi-custom-visuals/commands/pbiviz-scaffold.md, line 50
1. Run `npx eslint . --ext .js,.jsx,.ts,.tsx` and fix issues. - powerbi-custom-visuals/commands/pbiviz-setup.md, line 28
2. If absent, install it: `npm i -g powerbi-visuals-tools@latest` (harmless warnings may appear).
Connects to the internet
This is disclosed by the author in the skill's SKILL.md or README.
Found in 7 places.
Show 4 more
- powerbi-custom-visuals/agents/visual-reviewer.md, line 64
- No `fetch`/`XMLHttpRequest`/`WebSocket`; no `innerHTML`/`.html()` with user data; no `eval`/`Function`/unsafe timers. - powerbi-custom-visuals/agents/visual-reviewer.md, line 76
3. Grep for risky patterns: `innerHTML`, `eval(`, `fetch(`, `XMLHttpRequest`, `enumerateObjectInstances`, `externalJS`. - powerbi-custom-visuals/commands/pbiviz-certify.md, line 37
- `fetch(`, `XMLHttpRequest`, `WebSocket` - powerbi-custom-visuals/commands/pbiviz-debug.md, line 36
2. Grep for risky patterns (`innerHTML`, `eval(`, `fetch(`, `XMLHttpRequest`).
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'power-bi-custom-visuals-development' ] || [ -L ~/.agents/skills/'power-bi-custom-visuals-development' ]; then echo 'A skill folder named power-bi-custom-visuals-development already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/TheLobbi/Claude-m' "$d" && git -C "$d" checkout --quiet '703f383198963a3596f7a86ff63c9f98574a21b6' -- 'powerbi-custom-visuals/skills/powerbi-custom-visuals' && mkdir -p ~/.agents/skills && cp -R "$d"/'powerbi-custom-visuals/skills/powerbi-custom-visuals' ~/.agents/skills/'power-bi-custom-visuals-development' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'power-bi-custom-visuals-development' ~/.claude/skills/'power-bi-custom-visuals-development' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for TheLobbi/Claude-m shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/TheLobbi/Claude-m/)
Score history
| Date | Version | Score |
|---|
| 2026-11-11 | 703f383 | 82 |