PBI Refactoring
SkillAI & modelsUse when renaming, consolidating, restructuring, or batch-editing Power BI model objects that have downstream consumers — measure consolidation, table or column renames, splitting a flat table toward a star schema, moving repeated logic into calculation groups, or executing a model-quality remediation backlog. For a single-object edit with no consumers, use mcp-engine-schema-authoring or mcp-engine-semantic-authoring directly.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the PBI Refactoring skill
What this skill tells your AI
The instructions your AI receives, as published by maxanatsko/mcp-engine-public in skills/mcp-engine-refactoring/SKILL.md and read by ahel’s review.
Safe multi-object change orchestration: dependencies, baselines, checkpoints, staged edits, verification, rollback. The phases and their order live in refactoring-workflow — follow it phase by phase; do not edit before its phases 1-4 are complete.
Workflow
- Scope — object list and change class, confirmed with
list_model{ "operation": "list", "spec": { "type": "<type>" } }/{ "operation": "search", "spec": { "query": "<name>", "mode": "name" } }. - Baseline — 3-5 representative
run_query{ "operation": "execute", "query": "<aggregate>" }calls recorded verbatim, or durablemanage_testsregression_snapshot/measure_assertiontests that pass before any edit. - Impact —
manage_dependencies{ "operation": "used_by", "spec": { "target": { "type": "<type>", "table": "<table>", "name": "<name>" } } }per object (spec.targetis required on every call) pluslist_modelexpression search (mode: "dax"and"m"), repeated until no new consumers appear; blast radius reported to the user first. - Safety net —
manage_model_changes{ "operation": "pin_checkpoint", "name": "before-<goal>" }; multi-object edits staged as a named changeset (create_changesetreturns thechangeset_idthatadd_to_changeset,preview_changeset, andapply_changesetrequire). - Execute in order — create replacements → update consumers → rename or delete originals;
dry_run: trueon the first attempt of each operation shape. - Verify — baselines re-run and compared exactly;
diff_transaction(with thetransaction_idfromlist_transactions) reviewed against the plan; old names searched one final time. - Decide — keep, or
rollback_transaction/restore_checkpointon any unintended mismatch.
Recipes for the common cases (rename with consumers, measure consolidation, calc-group relocation, hygiene sweep) are in the workflow guide.
Guardrails
- One refactor goal per run; never mix renames with logic changes.
- Dependency analysis cannot see report visuals or external consumers that bind by name — warn the user on every rename of a visible object.
- An intended value change discovered mid-refactor must be confirmed by the user, never silently absorbed.
- The actual edits follow the authoring guides of
mcp-engine-schema-authoringandmcp-engine-semantic-authoring; this skill owns the sequence around them. If those skills are not installed, make the edits from the tools'inputSchemaor ask the user to add them.
Report results
After a refactor, report:
- Scope, change class, and final consumer count per object.
- Checkpoint and changeset ids created.
- Each edit applied, in order.
- Baseline comparison outcome: identical, intended differences confirmed, or rolled back.
- Remaining risks (report-layer renames, deferred deletions) and the rollback point still available.
References
- refactoring-workflow — the phase-by-phase workflow, ordering rules, and recipes
Signals
- GitHub stars
- 256
- Forks
- 65
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
mcp-engine-refactoring- Source
- github.com/maxanatsko/mcp-engine-public