>- Use this skill whenever the user shares a Power BI or Analysis Services semantic model (a TMDL export, a BIM/JSON model definition, or a pasted list of tables, relationships, and measures) and asks for a model review, a performance check, or help fixing DAX, before writing or correcting any DAX measure for that model.
npx skills add https://github.com/microsoft/cat-agent-skills --skill power-bi-model-review
Review the semantic model structure and DAX, report findings by category, and
propose corrected DAX where relevant.
.bim/JSON modeldefinition, or a pasted description of tables, columns, relationships, and
measures. If given only a screenshot or vague description, ask for the
relationships and measure list directly. A review needs the actual
expressions, not a summary of them.
of the model definition**. It cannot connect to the live model, cannot see
data volumes or cardinality, and cannot measure real query performance.
Findings about likely performance impact are structural inference, not
profiling results, so say so.
model doesn't contain what it checks (e.g. no bi-directional relationships
to review).
| Category | Object | Issue | Fix |
| --- | --- | --- | --- |
| Relationships | Sales to Customer | Bi-directional, both dimension tables | Set to single-direction; use CROSSFILTER(..., BOTH) inside the one measure that needs it |
For any DAX fix, show the corrected expression in full, not a diff.
user can hand to whoever maintains the model.
Relationships
single-direction relationship plus a CROSSFILTER(..., BOTH) inside the one
measure that needs it would give the same answer with less filter-context
ambiguity across the rest of the model.
USERELATIONSHIP reference anywhere in themodel's measures. That's dead weight.
one-to-many is intended).
Calculated columns that should be measures
compute at query time instead. It costs storage and compression for no benefit.
Power Query step upstream.
Date handling
TOTALYTD, SAMEPERIODLASTYEAR, etc.) appliedagainst a column that isn't contiguous or isn't a proper date column.
measures instead of duplicating the date table.
Naming and formatting
T1, CustNo, Amt)instead of self-explanatory.
text in one table, a real date in another).
percentage).
means Copilot in Power BI can't ground answers on that measure correctly.
Star schema shape
fully flat design where a star schema would simplify filtering).
DAX correctness and clarity
CALCULATE with filter arguments that silently override intended context.SUMX, FILTER) used where a plain aggregation would do.DIVIDE(), risking divide-by-zero errors.correctness risk if the two drift.
model definition" or "typically causes."
the user.
Direct Lake) if it's stated or evident, since it changes what actually
matters: a bi-directional relationship is cheap in one mode and expensive
in another.
Direct, structural. State the issue, the why, and the fix. Skip the theory
lecture unless asked.
Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Use when implementing any feature or bugfix, before writing implementation code
Use when you have a spec or requirements for a multi-step task, before touching code
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Use when writing or improving README files. Not all READMEs are the same — provides templates and guidance matched to your audience and project type.
| Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.
Official Opentrons Protocol API for OT-2 and Flex robots. Use when writing protocols specifically for Opentrons hardware with full access to Protocol API v2 features. Best for production Opentrons protocols, official API compatibility. For multi-vendor automation or broader equipment control use pylabrobot.
Take microsoft/power-bi-model-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.