> Style MATLAB charts and figures. colororder palettes for chart series colors, colormap selection, brand color organization, and the R2025a Theme API for uifigure apps (dark mode with fliplightness, ThemeChangedFcn, uistyle, component colors). Use when customizing chart colors, applying a color palette, organizing brand colors, dark mode, brand colors, colororder, colormap, palette, fliplightness, color scheme, styling, chart colors.
npx skills add https://github.com/matlab/matlab-agentic-toolkit --skill matlab-theming
Style MATLAB charts with color palettes and — for uifigure apps — apply the R2025a Theme API for brand colors, dark mode, and component styling.
Use this skill when:
colororder for chart series colors (any context)colormap for continuous datafliplightness() (uifigure)ThemeChangedFcn to react to OS/user theme changes (uifigure)uistyle for conditional formatting in tables/trees (uifigure)matlab-build-chart)matlab-build-app — it invokes this skill for theming sub-steps)Color property directly)colororder() for categorical chart series colorscolormap() for continuous scalar-mapped colorscolororder (categorical series) with colormap (continuous gradient)fliplightness() to derive dark variants unless explicitly designing custom dark colorsBoth MATLAB and web implementations map to these common tokens. When importing an external color scheme, map its colors to these tokens once.
| Token | Purpose | MATLAB (struct field) | Web (CSS variable) |
|---|---|---|---|
| primary | Brand/action color (buttons, links, active states) | theme.primary | --accent |
| onPrimary | Text/icon on primary background | theme.onPrimary | --accent-text |
| secondary | Secondary brand color (less prominent actions) | theme.secondary | --secondary |
| error | Error/destructive state | theme.error | --error |
| success | Success/confirmation state | theme.success | --success |
| warning | Warning/caution state | theme.warning | --warning |
| border | Custom borders and dividers | theme.border | --border |
| plotColors | Chart series colors (Nx3 RGB matrix) | theme.plotColors | N/A (use chart library config) |
MATLAB note: Surface/text colors (--bg-primary, --text-primary in CSS) are NOT in the MATLAB theme struct. The R2025a Theme API handles those automatically. Only define brand/custom colors.
colors = [0 0.447 0.741; 0.85 0.33 0.10; 0.93 0.69 0.13; ...
0.49 0.18 0.56; 0.47 0.67 0.19; 0.30 0.75 0.93];
colororder(ax, colors);
% All series in this axes now cycle through these colors
function theme = createTheme(mode)
arguments
mode string {mustBeMember(mode, ["light", "dark"])} = "light"
end
theme.primary = [0 0.447 0.741]; % MATLAB blue
theme.onPrimary = [1 1 1];
theme.error = [0.83 0.18 0.18];
theme.success = [0.22 0.56 0.24];
theme.border = [0.88 0.88 0.88];
theme.plotColors = [0 0.447 0.741; 0.85 0.33 0.10; 0.93 0.69 0.13; ...
0.49 0.18 0.56; 0.47 0.67 0.19; 0.30 0.75 0.93; 0.64 0.08 0.18];
if mode == "dark"
theme.primary = fliplightness(theme.primary);
theme.plotColors = fliplightness(theme.plotColors);
end
end
Wiring to a figure:
fig.ThemeChangedFcn = @(src, ~) applyTheme(src, ax);
function applyTheme(fig, ax)
theme = createTheme(fig.Theme.BaseColorStyle);
colororder(ax, theme.plotColors);
end
ThemeChangedFcn to swap brand colors when OS/user toggles dark modefliplightness() to auto-derive dark brand colors from light definitionsColorMode = "auto" on components wherever possibleWhat breaks automatic theming — setting any color explicitly switches ColorMode to "manual":
btn.BackgroundColor = [0.2 0.4 0.8]; % Now manual — won't adapt to theme
btn.BackgroundColorMode = "auto"; % Restore theme control
| Type | API | When to use |
|---|---|---|
| Component colors | btn.BackgroundColor, lbl.FontColor | UI element branding |
| Series colors | colororder(colors) or colororder("palette") | Multiple lines/bars/scatter in one axes |
| Continuous colors | colormap(map) | Heatmaps, surfaces, contours, images |
| Cell/row styling | uistyle + addStyle | Conditional formatting in tables/trees |
colororder = categorical (series A, B, C get distinct colors)colormap = continuous (scalar values mapped to gradient)rgb = sscanf(hex(2:end), '%2x', 3)' / 255theme.primary, theme.secondary, etc.fliplightness() produces acceptable dark variants; override manually if notapplyBrandColors: the function reads the struct and sets tagged componentsSee references/external-schemes.md for complete Material Design, Adobe Color, and Tailwind import examples.
createTheme structfliplightness() used for dark variantsfindall lookupThemeChangedFcn wired to re-apply brand colorscolororder set from theme.plotColors| Problem | Cause | Fix |
|---|---|---|
| Component doesn't change with dark mode | Color set explicitly | Remove explicit color or set BackgroundColorMode = "auto" |
| fliplightness not found | MATLAB < R2025a | Upgrade or define manual dark colors |
| Chart colors don't update on theme switch | colororder not re-applied | Add colororder(ax, theme.plotColors) to theme handler |
| findall returns empty | Tag not set or misspelled | Verify Tag property matches exactly |
| Topic | File | Description |
|-------|------|-------------|
| Theme API | references/theme-api.md | R2025a lock/detect/react, auto vs manual theming |
| Component colors | references/component-colors.md | Color properties table + uistyle for tables/trees |
| External schemes | references/external-schemes.md | Material Design, Adobe Color, Tailwind import workflows |
----
Copyright 2026 The MathWorks, Inc.
----
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.
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.
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
Set up Tailwind CSS v4 in Expo with react-native-css and NativeWind v5 for universal styling
Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.
Take matlab/matlab-theming from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.