Audita modelo Power BI (PBIP) e gera relatório priorizado com anti-patterns, score 0-100 e recomendações acionáveis. Use quando o usuário pedir "audita esse modelo", "revisa esse power bi", "tá bem feito?", "manda ver no review", ou apontar uma pasta PBIP pra análise crítica.
npx skills add https://github.com/xperiun/claude-code-powerbi-skills --skill pbi-modelo-review
> 📦 Distribuída publicamente: github.com/xperiun/claude-code-powerbi-skills — pasta claude-code/pbi-modelo-review/ (skill nativa) + claude-web/pbi-modelo-review.zip (upload no Claude.ai). Mudança aqui exige sincronizar lá: atualizar pasta + regenerar ZIP (Python zipfile, ver CLAUDE.md) + commit + bump CHANGELOG. Repo é open-source, leiame público — evitar referências internas (Xperiun-only) na SKILL.md.
Audita um projeto Power BI (formato PBIP) e devolve relatório priorizado com:
.pbix e quer mapa rápido de qualidadeNão usar quando:
/pbi-doc/pbi-dax-create/pbi-perf).SemanticModel/ e .Report/. Se o usuário só tem .pbix, instruir conversão antes de prosseguir:Power BI Desktop → File → Save as → Power BI Project (.pbip).tmdl (via filesystem ou upload — ver "Modos de execução" abaixo)Se faltar PBIP, retornar mensagem curta:
> Esse projeto ainda está em .pbix (binário). Pra eu auditar, salva como Power BI Project: File → Save as → Power BI Project (.pbip). Vira uma pasta de texto e aí eu consigo ler. Avisa quando converter.
E encerrar — não tentar rodar nada.
A skill detecta automaticamente o ambiente e adapta input/output:
.SemanticModel/.tmdl da pasta ./SemanticModel/./_review/index.html + ./_review/relatorio.md na raiz do projeto Power BI> Pra eu auditar, anexe nesse chat:
> - Os arquivos .tmdl da pasta SemanticModel/definition/ (model.tmdl, relationships.tmdl, expressions.tmdl)
> - Os arquivos da pasta SemanticModel/definition/tables/ (1 .tmdl por tabela)
>
> Pode arrastar todos de uma vez ou zipar a pasta SemanticModel/ e subir o ZIP.
Verificar se a pasta .SemanticModel/ é acessível via filesystem:
Se ambíguo, perguntar uma vez:
> Você tá rodando isso no Claude Code (CLI/IDE com acesso à pasta) ou no claude.ai (web)? Pra Code eu leio a pasta sozinho; pra web preciso que você suba os arquivos.
tudo)tudo → reporta crítico + médio + levecrítico+médio → ignora leves (foco no que cobra juros)só crítico → só o que bloqueia produçãoSe o usuário não especificar, perguntar uma vez antes de rodar:
> Quer auditoria completa (todos os níveis) ou só os críticos+médios? Default é completa.
./SemanticModel/ (ou *.SemanticModel/ na raiz).tmdl em ./SemanticModel/tables/./SemanticModel/model.tmdl, ./SemanticModel/relationships.tmdl (se existir)measure em todos os tmdl), N relacionamentos, tamanho do projetoLer references/checks.md e rodar as 6 famílias de check descritas lá:
/, variáveis não usadas, CALCULATE aninhadoCada check encontrado vira um issue com:
id (slug único, ex: model-flat-detected)categoria (uma das 6 acima)severidade (critical | medium | light)titulo (uma frase, máx 90 chars)path (caminho do arquivo + linha quando aplicável)por_que_importa (1-2 parágrafos explicativos)como_corrigir (1 parágrafo + opcionalmente um snippet TMDL/DAX)Fórmula simples:
score = max(0, 100 - (criticos × 4) - (medios × 1.5) - (leves × 0.4))
Limites:
A label sempre usa champagne gold (vibe v4 "alerta elegante", não "vermelho de painel").
Filtrar issues conforme severidade mínima escolhida e gerar dois arquivos:
A. Markdown (versionável Git):
templates/relatorio.md./_review/relatorio.md na raiz do projeto Power BIB. HTML standalone (visual):
🚨 REGRA INVIOLÁVEL — usar templates/relatorio.html LITERAL:
templates/relatorio.html — esse arquivo já tem todo o CSS, todo o HTML estrutural, todos os tokens DS v4 (Bebas Neue, accent-gold, gold-grid + beams animados, orb-v2 elipses blue/purple, brackets), todo o JS de filtro de severidade.{{...}} pelos dados de auditoria reais. Lista completa em references/checks.md desta skill (seção "Placeholders do templates/relatorio.html").--accent-gold-bright #E8C9A0, --accent-glow #7099FF, --neon-magenta #C47FFF)<div class="gold-grid">, <div class="section-orb">, ou ornamentos do template<!-- ... --> — comentários são instruções pra você, não conteúdo a substituir.<style>...</style> ou <script>...</script> — CSS e JS ficam intocados.ã, ç, é, á, õ, ê, í, ú) e símbolos especiais (├, └, ─, →, ↔, ↑, ↓, ⚠, ·, —) devem aparecer como caracteres reais UTF-8, NÃO como sequências escapadas/HTML entities/mojibake.críticos, →, Atenção, ⚠crÃticos, â, Atenção./_review/index.html (modo Code) ou retornar como artifact (modo Web).#f5a623 (laranja) ou #7c6af7 (roxo), ou fonte 'Segoe UI' → ignorou template, refaz.ã ou â → encoding quebrado, refaz UTF-8.Devolver mensagem curta no chat com:
_review/index.html no navegador pra ver completo"[raiz do projeto Power BI do usuário]/
├── SemanticModel/ ← input (não tocar)
├── Report/ ← input (não tocar)
└── _review/ ← OUTPUT da skill
├── relatorio.md ← versão markdown (commitável)
└── index.html ← versão visual standalone
| Cenário | O que fazer |
|---|---|
| Modelo sem .SemanticModel/ | Mensagem de pré-requisito (PBIP), encerra |
| Pasta _review/ já existe | Sobrescrever (skill é idempotente) — mas avisar no chat |
| Modelo perfeito (zero issues) | Score 100 + celebrar + listar 3 melhores patterns encontrados (já que não tem o que reclamar) |
| Modelo apocalíptico (>50 críticos) | Truncar relatório nos top 30 críticos + linha "+ N issues não listados — começa por aqui antes" |
| Erro lendo um .tmdl específico (corrupção) | Reportar arquivo problemático no chat, seguir com os demais |
| Projeto enorme (>500 medidas) | Avisar "modelo grande, vou processar em chunks · ~5min" antes de começar |
_review/.SemanticModel/ ou .Report/ — somente leitura nesses./_review/ (cria se não existe, sobrescreve se existe).SemanticModel/, .Report/, ou qualquer arquivo binárioEstilo Xperiun (declarado em contexto/posicionamento.md):
Exemplos de bom vs ruim:
❌ Ruim: "Identificou-se a presença de relacionamento bi-direcional que pode impactar negativamente a performance do modelo."
✅ Bom: "Bi-direcional em N:1 com calendário causa ambiguidade de filtro e duplica scan no engine. Em modelo de 1.4GB você está pagando ~30% de overhead por refresh sem ganhar nada."
O relatório HTML tem footer fixo:
Branding é sempre Xperiun (não @leokarpa) — a skill faz parte do posicionamento institucional. Mesmo se o usuário rodar a skill no projeto dele, o footer mantém referência Xperiun (é nossa skill, ele só tá usando).
Avisar ao usuário se > 3min esperados.
v0.1 — protótipo interno Xperiun OS. Ainda não distribuído publicamente.
Quando estabilizar, vira pacote no repo xperiun/claude-code-powerbi-skills (lead magnet).
Integration with protocols.io API for managing scientific protocols. This skill should be used when working with protocols.io to search, create, update, or publish protocols; manage protocol steps and materials; handle discussions and comments; organize workspaces; upload and manage files; or integrate protocols.io functionality into workflows. Applicable for protocol discovery, collaborative protocol development, experiment tracking, lab protocol management, and scientific documentation.
Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances
Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.
Build and distribute Expo development clients locally or via TestFlight
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.
Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.
Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.
Take xperiun/pbi-modelo-review from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.