deneb-visuals
Deneb visual creation, Vega/Vega-Lite spec authoring, and Deneb best practices for PBIR reports. Automatically invoke whenever the user mentions "Deneb" in any…
Interactive naming convention standardization for TMDL-based Power BI semantic models. Automatically invoke when the user asks to "standardize naming conventions", "fix naming conventions", "clean up model names", "apply naming standards", "audit naming", "make names human
$ npx -y skills add data-goblin/power-bi-agentic-development --skill standardize-naming-conventions --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/standardize-naming-conventionsContext preview
The summary Claude sees to decide when to auto-load this skill.
Interactive naming convention standardization for TMDL-based Power BI semantic models. Automatically invoke when the user asks to "standardize naming conventions", "fix naming conventions", "clean up model names", "apply naming standards", "audit naming", "make names human
name: standardize-naming-conventions description: Interactive naming convention standardization for TMDL-based Power BI semantic models. Automatically invoke when the user asks to "standardize naming conventions", "fix naming conventions", "clean up model names", "apply naming standards", "audit naming", "make names human readable", "rename fields", "fix abbreviations in model", or mentions renaming measures, columns, or tables for consistency across a model.
Interactive workflow for auditing and standardizing naming conventions in Power BI semantic models stored as TMDL files. Ensures tables, columns, measures, and display folders follow human-readable, consistent, business-aligned naming standards.
Locate the TMDL files. Ask the user for the path to the `.SemanticModel/definition/` directory if not obvious from context. Then scan the model structure:
# Count tables and get an overview ls <path>/tables/*.tmdl
Read all table TMDL files to build a complete picture of current naming patterns. Focus on:
**CRITICAL: Do not rename anything without understanding the business terminology.**
Use `AskUserQuestion` to gather context:
1. **Business terminology**: "What terminology does your organization use for key metrics? For example, do you call it Revenue, Turnover, Sales, or Gross Sales?" 2. **Existing conventions**: "Do you have any documented naming conventions or standards already?" 3. **Period conventions**: "How do you typically refer to prior periods? (e.g., 1YP, PY, Prior Year, Last Year)" 4. **Unit conventions**: "How do you typically express units in measure names? (e.g., parentheses like (%), (Value), (Quantity))" 5. **Downstream impact**: "Are there downstream reports connected to this model that would need visual rebinding after renaming?"
Adapt the naming rules to the user's business context. The rules in `references/naming-rules.md` are defaults -- override them when the user's organization has established conventions.
Before making changes, produce an audit report. Present a markdown table showing each proposed rename:
| Object Type | Current Name | Proposed Name | Issues Found | |-------------|-------------|---------------|-------------| | Table | FACT_Invoices | Invoices | Technical prefix | | Measure | NetSls | Net Sales | CamelCase, abbreviation | | Column | shp_dt | Ship Date | snake_case, abbreviation |
Group findings by issue type:
Ask the user to confirm or adjust the proposed renames before proceeding.
After user approval, edit the TMDL files. For each table file:
1. **Rename the table** (if needed): Change the `table` declaration 2. **Rename measures**: Change measure names in their declarations. IMPORTANT: Also update all internal DAX references to renamed measures using `[Old Name]` -> `[New Name]` patterns across ALL table files in the model 3. **Rename columns**: Change column names in their declarations. IMPORTANT: Also update DAX references using `'Table'[Old Column]` -> `'Table'[New Column]` across ALL table files 4. **Reorganize display folders**: Add or restructure `displayFolder:` properties 5. **Add descriptions**: Add `///` comments for measures and columns that lack them 6. **Update relationship references**: Check `relationships.tmdl` for renamed tables/columns
**Cross-file reference updates are critical.** When renaming a measure or column, search the entire `definition/` directory for all references:
# Find all references to a renamed measure rg "OldMeasureName" <path>/definition/tables/ rg "OldMeasureName" <path>/definition/relationships.tmdl
After applying changes, verify: 1. All TMDL files still parse correctly (no syntax errors) 2. No orphaned references to old names remain in any file 3. Display folders are consistent across tables 4. Descriptions are present on all visible measures and columns
Run a final search to check for any missed references:
# Check for any remaining old names rg -n "old_name_pattern" <path>/definition/
Consult `references/naming-rules.md` for the complete rule set including:
Quick-reference checklist for the most common issues:
| Anti-Pattern | Rule | Example Fix | |-------------|------|-------------| | `snake_case` | Use spaces | `net_sales` -> `Net Sales` | | `CamelCase` | Use spaces | `NetSales` -> `Net Sales` | | `UPPER_CASE` | Use spaces | `TOTAL_COST` -> `Total Cost` | | Abbreviations | Spell out | `Del. Mrgn` -> `Delivery Margin` | | Opaque acronyms | Spell out | `TFS` -> `Total Freight Surcharge` | | Technical prefix | Remove | `FACT_Orders` -> `Orders` | | Inconsistent periods | Standardize | `LY`/`PY`/`Last Year` -> `1YP` | | Inconsistent units | Standardize | `pct`/`%`/`(%)` -> `(%)` | | Missing desc
Power BI AI skills and Power BI agents for Claude Code and GitHub Copilot: a plugin marketplace of Power BI skills, subagents, and hooks for semantic models, DAX, TMDL, reports, and AI dashboards. Includes Microsoft Fabric skills and Fabric agents. Weekly updates.
Repo: data-goblin/power-bi-agentic-development
Deneb visual creation, Vega/Vega-Lite spec authoring, and Deneb best practices for PBIR reports. Automatically invoke whenever the user mentions "Deneb" in any…
Power BI custom visual (.pbiviz) development with the pbiviz toolchain and its MCP server. Automatically invoke when the user mentions "custom visual",…
Python visual creation and matplotlib/seaborn patterns for PBIR reports. Automatically invoke when the user mentions "Python visual", "matplotlib in Power BI",…
R visual creation and ggplot2 patterns for PBIR reports. Automatically invoke when the user mentions "R visual", "ggplot2", "ggplot in Power BI", or asks to…
SVG generation via DAX measures and extension measures with ImageUrl data category for inline visualizations in PBIR reports. Automatically invoke when the…
Execute arbitrary Python or PySpark code on Fabric Spark compute without creating a notebook artifact; ephemeral Livy sessions with full Delta table access.…