# Modifying Theme Json

Design, enforce, audit, and validate Power BI report themes through the pbir CLI.

- Repository: https://github.com/data-goblin/power-bi-agentic-development (1079 stars)
- Category: Design
- License: GPL-3.0
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add data-goblin/power-bi-agentic-development --skill modifying-theme-json -g -a claude-code -y`
Codex: `npx skills add data-goblin/power-bi-agentic-development --skill modifying-theme-json -g -a codex -y`
Cursor: `npx skills add data-goblin/power-bi-agentic-development --skill modifying-theme-json -g -a cursor -y`
Gemini CLI: `npx skills add data-goblin/power-bi-agentic-development --skill modifying-theme-json -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add data-goblin/power-bi-agentic-development`

## Description

Design, enforce, audit, and validate Power BI report themes through the pbir CLI. Invoke when a report uses a default or minimal theme, visuals have inconsistent formatting or many local overrides, or the user asks to create, copy, apply, standardize, rebrand, audit, or validate a theme; change theme colors or typography; define style presets; promote visual formatting into the theme; clear overrides; or improve theme compliance.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Power BI report themes

Use this skill for theme design and compliance decisions. Use the `pbir-cli` skill for command details.

## Non-negotiable tooling rule

Use `pbir` for every report and theme mutation. Never edit `theme.json`, `visual.json`, serialized `.Theme` fragments, or other report JSON directly. Never fall back to `jq`, shell replacement, or a JSON-editing skill. If `pbir` lacks the required operation, stop and report the missing capability.

Read JSON only through `pbir cat`, `pbir get`, or read-only examples. Prefer structured CLI inspection commands because they explain the formatting cascade and usage.

## Why themes matter

A theme centralizes formatting that would otherwise drift across visuals. It should own repeated choices such as:

- Data-series palette and semantic good/neutral/bad colors
- Background, foreground, structural, gradient, hyperlink, and null colors
- Font family, size, weight, and hierarchy
- Wildcard container defaults such as titles, borders, padding, and shadows
- Visual-type defaults for cards, slicers, charts, tables, textboxes, and images

Visual-level overrides should remain only for content-specific exceptions or conditional formatting. Theme-first reports are easier to rebrand, diff, and maintain.

## Formatting cascade

```text
Power BI defaults
  -> theme wildcard defaults
  -> theme visual-type defaults
  -> selected style preset
  -> visual instance overrides
```

The last layer wins. Diagnose unexpected rendering with `pbir visuals format`, which reports the effective value and source; do not inspect or patch `visual.json`.

## Audit before changing

```bash
pbir theme colors "Report.Report"
pbir theme fonts "Report.Report"
pbir color list "Report.Report"
pbir fonts list "Report.Report"
pbir visuals format "Report.Report/Page.Page/Visual.Visual"
pbir bpa run "Report.Report"
```

The rest: https://github.com/data-goblin/power-bi-agentic-development/blob/HEAD/plugins/reports/skills/modifying-theme-json/SKILL.md
