Skip to content

d7rocket/PowerBI-Skill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

189 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Claude Code Skill Version 5.0 MIT License Power BI DAX

  ██████╗ ██████╗ ██╗
  ██╔══██╗██╔══██╗██║
  ██████╔╝██████╔╝██║   Power BI DAX Co-pilot
  ██╔═══╝ ██╔══██╗██║   for Claude Code
  ██║     ██████╔╝██║
  ╚═╝     ╚═════╝ ╚═╝   v5.0

Explain, format, optimise, audit, and edit DAX measures — directly from your terminal. Works with pasted DAX and with Power BI Project (PBIP) files on disk.


Quick Start

# Install (Windows) — one command, all projects
irm https://raw.githubusercontent.com/d7rocket/PowerBI-Skill/main/install.ps1 | iex

# Then open Claude Code and type:
/pbi:help
# Install (macOS / Linux / WSL)
curl -sL https://raw.githubusercontent.com/d7rocket/PowerBI-Skill/main/install.sh | bash

What's New in v5.0

Feature Details
Sub-skill architecture Every command is now its own skill: /pbi:explain, /pbi:audit, etc. Each is self-contained and directly invocable.
Direct model selection Haiku commands (load, diff, commit, undo, changelog) set model: haiku in frontmatter — no more agent-spawn overhead.
Backward compatible /pbi explain still works via the base router — no breaking changes.
Base /pbi menu Bare /pbi shows an interactive menu and handles free-text DAX questions.

Commands

Paste-in — work anywhere, just paste your DAX

Command What it does
/pbi:explain Plain-English breakdown
/pbi:format Auto-format via DAX Formatter API
/pbi:optimise 13-rule performance scan with diff
/pbi:comment Add // comments + description
/pbi:error Diagnose errors (7 categories)
/pbi:new Scaffold a measure from plain English

PBIP Project — auto-detected when *.SemanticModel/ exists

Command What it does
/pbi:audit Model health scan + auto-fix (19 rules)
/pbi:edit Change your model with plain language
/pbi:docs Project documentation for stakeholders
/pbi:extract Export documentation (3 tiers)
/pbi:diff Human-readable change summary
/pbi:commit Business-language auto-commits
/pbi:undo Revert the last auto-commit
/pbi:changelog Generate CHANGELOG from git history
/pbi:comment-batch Comment every measure in a table

Workflow & Utility

Command What it does
/pbi:deep Guided workflow: intake, model review, DAX dev, verification
/pbi:version Full version history with release notes
/pbi:help Command reference with update check
/pbi Interactive menu + free-text DAX solver

How It Works

             ┌───────────────────────────────┐
             │  /pbi:explain  /pbi:audit ... │  ← direct invocation
             └──────────────┬────────────────┘
                            │
             ┌──────────────▼────────────────┐
             │  Each sub-skill runs its own   │
             │  5 detection blocks + resume   │
             └──────────────┬────────────────┘
                            │
        ┌───────────────────┼───────────────────┐
        │                   │                   │
┌───────▼────────┐  ┌──────▼──────┐  ┌─────────▼─────────┐
│   Paste-in     │  │    PBIP     │  │    Workflow        │
│ explain format │  │ audit edit  │  │ deep extract       │
│ optimise new   │  │ diff commit │  │ docs version       │
│ comment error  │  │ undo load   │  │ help               │
│                │  │ changelog   │  │                    │
│   Sonnet       │  │ Haiku/Son.  │  │   Sonnet/Opus      │
└────────────────┘  └─────────────┘  └────────────────────┘
Feature How
Auto-Resume Context loads automatically — no /pbi:load needed
Local-First Git Never pulls, pushes, or creates PRs. Your files are the source of truth.
Session Memory .pbi-context.md persists model context, command history, failure flags
Smart Routing Sonnet for DAX reasoning, Haiku for file ops, Opus for deep extraction
UTF-8 Safe Python-based search handles French accents (e, e, c, a, u)

Installation Options

PowerShell (Windows)

User-level (default) — available in all projects:

irm https://raw.githubusercontent.com/d7rocket/PowerBI-Skill/main/install.ps1 | iex

Project-level — installs into current directory only:

& ([scriptblock]::Create((irm https://raw.githubusercontent.com/d7rocket/PowerBI-Skill/main/install.ps1))) -Scope project

Bash (macOS / Linux / WSL)

curl -sL https://raw.githubusercontent.com/d7rocket/PowerBI-Skill/main/install.sh | bash

Manual / Git Clone

git clone https://github.com/d7rocket/PowerBI-Skill.git
cd PowerBI-Skill && claude

Or copy just the skill into an existing project:

git clone https://github.com/d7rocket/PowerBI-Skill.git /tmp/pbi-skill
cp -r /tmp/pbi-skill/.claude your-project/.claude
What gets installed
.claude/skills/pbi/
  SKILL.md              Base skill (menu + catch-all + backward-compatible router)
  explain/SKILL.md      19 self-contained sub-skills, each with its own
  format/SKILL.md       detection blocks, auto-resume, and instructions.
  optimise/SKILL.md     Invoked as /pbi:<cmd> (e.g., /pbi:explain).
  comment/SKILL.md
  error/SKILL.md
  new/SKILL.md
  load/SKILL.md
  audit/SKILL.md
  diff/SKILL.md
  commit/SKILL.md
  edit/SKILL.md
  undo/SKILL.md
  comment-batch/SKILL.md
  changelog/SKILL.md
  deep/SKILL.md
  extract/SKILL.md
  docs/SKILL.md
  help/SKILL.md
  version/SKILL.md
  scripts/detect.py     UTF-8 detection + search (10 subcommands)
  shared/
    api-notes.md        DAX Formatter API reference
    CHANGELOG.md        Version history

Examples

Explain a measure
/pbi:explain

> Revenue YTD = CALCULATE([Revenue], DATESYTD('Date'[Date]))

Get a structured breakdown — filter context, row context, context transitions, and performance notes.

Scaffold a new measure
/pbi:new
> year-to-date revenue filtered to the selected region, in the Sales table

Generates the DAX, format string, display folder, and description — writes to PBIP if detected.

Audit your model
/pbi:audit

8 domain passes: relationships, naming, date table, measure quality, hidden columns, report layer, advanced features, performance. Severity-graded report with auto-fix.

Edit with plain language
/pbi:edit
> rename [Total Sales] to [Revenue] in the Sales table

Finds the measure, applies the change, auto-commits.

Deep mode
/pbi:deep

Four-phase guided workflow with hard gates: business context intake, model review, DAX development, final verification.

Version control
/pbi:diff        # what changed since last commit
/pbi:commit      # auto-generated business-language commit
/pbi:undo        # revert the last auto-commit
/pbi:changelog   # generate CHANGELOG.md from history

All commits are local only.


Requirements


Roadmap

  • Paste-in DAX commands (explain, format, optimise, comment, error)
  • PBIP file I/O (load, audit, diff, commit, edit, undo)
  • Measure scaffolding, batch commenting, audit auto-fix, changelog
  • Single-skill router, one-liner install, parallel audit agents
  • Auto-resume context, local-first git, expanded audit rules
  • Deep mode workflow, project extraction (3 tiers)
  • Python-first UTF-8, /pbi:docs, context tracking
  • Installer overhaul, token safety, /pbi:version
  • Sub-skill architecture — each command is its own /pbi:<cmd> skill
  • Cross-measure dependency graph
  • Side-by-side measure comparison
  • Calculated column support
  • Power Query error diagnosis

License

MIT


Built for Power BI developers who live in the terminal.

About

Power BI DAX co-pilot for Claude Code — explain, format, optimise, audit, and edit DAX measures from your terminal

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors