Creates JSON theme files to standardize colors, typography, and visual defaults in Power BI.
Install
mkdir -p .claude/skills/themes && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/14308" && unzip -o skill.zip -d .claude/skills/themes && rm skill.zipInstalls to .claude/skills/themes
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Creates Power BI report themes for consistent styling. Use for colors, fonts, visual defaults, and corporate branding.Key capabilities
- →Create custom color palettes for Power BI reports
- →Set default fonts and sizes for report elements
- →Apply corporate branding through theme files
- →Configure visual defaults for consistency
- →Create dark/light mode themes
- →Standardize conditional formatting colors
How it works
The skill generates Power BI report themes as JSON files, defining core colors, typography through text classes, and visual styles. These themes can be imported into Power BI Desktop or embedded in reports to ensure consistent styling.
Inputs & outputs
When to use themes
- →Generate corporate branding theme
- →Standardize report fonts and colors
- →Create dark mode report themes
About this skill
Themes Skill
This skill helps create Power BI report themes for consistent visual styling and branding.
When to Use This Skill
- Creating custom color palettes
- Setting default fonts and sizes
- Applying corporate branding
- Configuring visual defaults
- Creating dark/light mode themes
- Standardizing conditional formatting
Theme File Basics
File Format
Themes are JSON files with .json extension. They can be:
- Imported into Power BI Desktop (View > Themes > Browse for themes)
- Embedded in PBIR reports
- Shared across an organization
Basic Structure
{
"name": "Custom Theme",
"dataColors": ["#118DFF", "#12239E", "#E66C37", "#6B007B", "#E044A7", "#744EC2"],
"background": "#FFFFFF",
"foreground": "#252423",
"tableAccent": "#118DFF"
}
Theme Properties
Core Colors
| Property | Description |
|---|---|
dataColors | Array of colors for data series |
background | Default background color |
foreground | Default text color |
tableAccent | Accent color for tables/matrices |
hyperlink | Link color |
good | Positive/good indicator |
neutral | Neutral indicator |
bad | Negative/bad indicator |
Typography
{
"textClasses": {
"label": {
"fontFace": "Segoe UI",
"fontSize": 12,
"color": "#252423"
},
"title": {
"fontFace": "Segoe UI Semibold",
"fontSize": 14,
"color": "#252423"
},
"header": {
"fontFace": "Segoe UI Semibold",
"fontSize": 12,
"color": "#252423"
},
"callout": {
"fontFace": "Segoe UI Light",
"fontSize": 28,
"color": "#252423"
},
"largeTitle": {
"fontFace": "Segoe UI Light",
"fontSize": 40,
"color": "#252423"
}
}
}
Text Classes
| Class | Used For |
|---|---|
label | Data labels, axis labels |
title | Visual titles |
header | Table/matrix headers |
callout | Card values, KPI values |
largeTitle | Large display values |
Complete Theme Structure
{
"name": "Corporate Theme",
"dataColors": [
"#0078D4",
"#00BCF2",
"#00B294",
"#FFB900",
"#E81123",
"#5C2D91",
"#B4009E",
"#107C10"
],
"background": "#FFFFFF",
"foreground": "#323130",
"tableAccent": "#0078D4",
"hyperlink": "#0078D4",
"good": "#107C10",
"neutral": "#FFB900",
"bad": "#E81123",
"maximum": "#107C10",
"center": "#FFB900",
"minimum": "#E81123",
"textClasses": {
"label": {
"fontFace": "Segoe UI",
"fontSize": 11,
"color": "#605E5C"
},
"title": {
"fontFace": "Segoe UI Semibold",
"fontSize": 14,
"color": "#323130"
},
"header": {
"fontFace": "Segoe UI Semibold",
"fontSize": 12,
"color": "#323130"
},
"callout": {
"fontFace": "Segoe UI",
"fontSize": 28,
"color": "#323130"
}
},
"visualStyles": {
"*": {
"*": {
"background": [{
"color": { "solid": { "color": "#FFFFFF" } },
"transparency": 0
}],
"border": [{
"show": false
}],
"dropShadow": [{
"show": false
}]
}
}
}
}
Visual Styles
Structure
{
"visualStyles": {
"<visualType>": {
"<propertyGroup>": {
"<property>": [{ <settings> }]
}
}
}
}
Wildcards
| Wildcard | Meaning |
|---|---|
"*" | All visuals / all properties |
Common Visual Types
| Type | Description |
|---|---|
"*" | All visuals |
"page" | Report page |
"card" | Card visual |
"multiRowCard" | Multi-row card |
"columnChart" | Column chart |
"barChart" | Bar chart |
"lineChart" | Line chart |
"pieChart" | Pie chart |
"donutChart" | Donut chart |
"tableEx" | Table |
"pivotTable" | Matrix |
"slicer" | Slicer |
"kpi" | KPI visual |
"gauge" | Gauge |
"map" | Map |
"shape" | Shape |
"textbox" | Text box |
Common Property Groups
| Group | Properties |
|---|---|
background | Visual background |
border | Visual border |
dropShadow | Shadow effect |
title | Visual title |
subTitle | Subtitle |
legend | Legend settings |
categoryAxis | X-axis |
valueAxis | Y-axis |
labels | Data labels |
dataPoint | Data point colors |
Setting Defaults for All Visuals
{
"visualStyles": {
"*": {
"*": {
"background": [{
"color": { "solid": { "color": "#FFFFFF" } },
"transparency": 0
}],
"border": [{
"show": true,
"color": { "solid": { "color": "#E0E0E0" } },
"radius": 5
}],
"dropShadow": [{
"show": true,
"color": { "solid": { "color": "#000000" } },
"position": "Outer",
"preset": "BottomRight",
"transparency": 80
}],
"title": [{
"show": true,
"fontColor": { "solid": { "color": "#252423" } },
"fontSize": 14,
"fontFamily": "Segoe UI Semibold",
"alignment": "left"
}]
}
}
}
}
Card Visual Styling
{
"visualStyles": {
"card": {
"*": {
"labels": [{
"color": { "solid": { "color": "#0078D4" } },
"fontSize": 32
}],
"categoryLabels": [{
"show": true,
"color": { "solid": { "color": "#605E5C" } },
"fontSize": 12
}],
"background": [{
"color": { "solid": { "color": "#F3F2F1" } }
}]
}
}
}
}
Chart Styling
{
"visualStyles": {
"columnChart": {
"*": {
"categoryAxis": [{
"show": true,
"labelColor": { "solid": { "color": "#605E5C" } },
"fontSize": 11,
"gridlineShow": false
}],
"valueAxis": [{
"show": true,
"labelColor": { "solid": { "color": "#605E5C" } },
"fontSize": 11,
"gridlineShow": true,
"gridlineColor": { "solid": { "color": "#E0E0E0" } }
}],
"legend": [{
"show": true,
"position": "Top",
"fontSize": 11,
"fontColor": { "solid": { "color": "#605E5C" } }
}],
"labels": [{
"show": false
}]
}
}
}
}
Table Styling
{
"visualStyles": {
"tableEx": {
"*": {
"grid": [{
"gridVertical": true,
"gridVerticalColor": { "solid": { "color": "#E0E0E0" } },
"gridHorizontal": true,
"gridHorizontalColor": { "solid": { "color": "#E0E0E0" } },
"rowPadding": 4
}],
"columnHeaders": [{
"fontColor": { "solid": { "color": "#FFFFFF" } },
"backColor": { "solid": { "color": "#0078D4" } },
"fontSize": 12,
"bold": true
}],
"values": [{
"fontColor": { "solid": { "color": "#323130" } },
"fontSize": 11
}],
"total": [{
"fontColor": { "solid": { "color": "#323130" } },
"backColor": { "solid": { "color": "#E0E0E0" } },
"bold": true
}]
}
}
}
}
Slicer Styling
{
"visualStyles": {
"slicer": {
"*": {
"header": [{
"show": true,
"fontColor": { "solid": { "color": "#252423" } },
"fontSize": 14
}],
"items": [{
"fontColor": { "solid": { "color": "#323130" } },
"fontSize": 11
}],
"selection": [{
"selectAllCheckboxEnabled": true,
"singleSelect": false
}]
}
}
}
}
Page Background
{
"visualStyles": {
"page": {
"*": {
"background": [{
"color": { "solid": { "color": "#F3F2F1" } },
"transparency": 0
}],
"wallpaper": [{
"color": { "solid": { "color": "#F3F2F1" } }
}]
}
}
}
}
Color Palettes
Microsoft Default
{
"dataColors": [
"#118DFF",
"#12239E",
"#E66C37",
"#6B007B",
"#E044A7",
"#744EC2",
"#D9B300",
"#D64550"
]
}
Corporate Blue
{
"dataColors": [
"#0078D4",
"#00BCF2",
"#004578",
"#5C2D91",
"#B4009E",
"#008272",
"#00B294",
"#002050"
]
}
Earth Tones
{
"dataColors": [
"#5B5EA6",
"#9B2335",
"#00A4CC",
"#E4712B",
"#3A4D39",
"#8B6914",
"#6B4226",
"#4A5859"
]
}
Colorblind-Friendly
{
"dataColors": [
"#000000",
"#E69F00",
"#56B4E9",
"#009E73",
"#F0E442",
"#0072B2",
"#D55E00",
"#CC79A7"
]
}
Dark Theme Colors
{
"dataColors": [
"#00BCF2",
"#00CC6A",
"#FFB900",
"#E81123",
"#B4009E",
"#10893E",
"#FF8C00",
"#6B69D6"
],
"background": "#1E1E1E",
"foreground": "#FFFFFF",
"tableAccent": "#00BCF2"
}
Conditional Formatting Colors
Diverging (Bad to Good)
{
"bad": "#E81123",
"neutral": "#FFB900",
"good": "#107C10"
}
Sequential
{
"minimum": "#FFFFFF",
"center": "#00BCF2",
"maximum": "#0078D4"
}
Using Themes in PBIR
Reference in report.json
{
"$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/report/1.0.0/schema.json",
"themeCollection": {
"baseTheme": {
"name": "CY24SU06",
"reportVersionAtImport": "5.55",
"type": "SharedResources"
},
"customTheme": {
"name": "CustomTheme",
"reportVersionAtImport": "5.55",
"type": "Custom"
}
}
}
Embed Theme in Report
Store custom theme file in StaticResources/ folder of the report.
Best Practices
Color Guidelines
- Use 6-8 data colors - Enough for variety, not overwhelmi
Content truncated.
When not to use it
- →When using too many data colors (more than 8-10)
- →When using low contrast color combinations
- →When mixing font families excessively
Limitations
- →Use 6-8 data colors
- →Ensure contrast - 4.5:1 minimum for accessibility
- →Limit font families - 1-2 maximum
How it compares
This skill provides a structured JSON-based approach to defining Power BI themes, allowing for programmatic control over colors, fonts, and visual defaults, which offers more consistency and automation than manual styling within the Power B
Compared to similar skills
themes side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| themes (this skill) | 0 | 6mo | No flags | Intermediate |
| infographic-creation | 120 | 3mo | Review | Beginner |
| theme-factory | 61 | 3mo | No flags | Beginner |
| brand-guidelines | 9 | 3mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by kpbray
View all by kpbray →You might also like
infographic-creation
antvis
Create beautiful infographics based on the given text content. Use this when users request creating infographics.
theme-factory
anthropics
Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.
brand-guidelines
anthropics
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
canvas-design
anthropics
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.
applying-brand-guidelines
anthropics
This skill applies consistent corporate branding and styling to all generated documents including colors, fonts, layouts, and messaging
game-art
davila7
Game art principles. Visual style selection, asset pipeline, animation workflow.