Theme Factory
Apply consistent, professional styling to any artifact using curated themes with color palettes and font pairings.
When to Use
- Styling slide decks, reports, or documents with a cohesive visual identity
- Applying color palettes and font pairings to HTML pages or landing pages
- Choosing a pre-built theme for quick professional styling
- Creating a custom theme when none of the presets fit
How to Use
Step 1: Present Available Themes
Show the user the 10 available themes with their descriptions:
| # |
Theme |
Vibe |
Best For |
| 1 |
Ocean Depths |
Professional, calming maritime |
Corporate, financial, consulting |
| 2 |
Sunset Boulevard |
Warm, vibrant energy |
Creative pitches, marketing, events |
| 3 |
Forest Canopy |
Natural, grounded earth tones |
Environmental, sustainability, wellness |
| 4 |
Modern Minimalist |
Clean, contemporary grayscale |
Tech, architecture, design showcases |
| 5 |
Golden Hour |
Rich, warm autumnal |
Hospitality, lifestyle, artisan brands |
| 6 |
Arctic Frost |
Cool, crisp precision |
Healthcare, technology, clean tech |
| 7 |
Desert Rose |
Soft, sophisticated dusty tones |
Fashion, beauty, interior design |
| 8 |
Tech Innovation |
Bold, high-contrast modern |
Startups, software launches, AI/ML |
| 9 |
Botanical Garden |
Fresh, organic vibrancy |
Food, garden, natural products |
| 10 |
Midnight Galaxy |
Dramatic, cosmic depth |
Entertainment, gaming, luxury brands |
Step 2: Get User Selection
Ask which theme to apply. Wait for explicit confirmation before proceeding.
Step 3: Apply the Theme
- Read the selected theme file from
themes/ directory
- Apply colors and fonts consistently throughout the artifact
- Ensure proper contrast and readability
- Maintain the theme's visual identity across all pages/slides
Theme File Structure
Each theme in themes/ follows this format:
# Theme Name
Description of the visual mood and inspiration.
## Color Palette
- **Primary Dark**: `#hex` — Usage description
- **Accent**: `#hex` — Usage description
- **Secondary**: `#hex` — Usage description
- **Light/Background**: `#hex` — Usage description
## Typography
- **Headers**: Font family
- **Body Text**: Font family
## Best Used For
Context and audience descriptions.
Applying Themes to Different Artifacts
Slide Decks
- Background: Use the primary dark color for title slides, light color for content slides
- Headers: Apply the header font in the accent color
- Body text: Use the body font in the primary dark color on light backgrounds
- Accents: Use accent/secondary colors for charts, highlights, dividers
HTML / Landing Pages
:root {
--theme-primary: #hex; /* From theme's primary dark */
--theme-accent: #hex; /* From theme's accent color */
--theme-secondary: #hex; /* From theme's secondary */
--theme-bg: #hex; /* From theme's light/background */
--theme-font-heading: "Theme Header Font", sans-serif;
--theme-font-body: "Theme Body Font", sans-serif;
}
Documents / Reports
- Cover page: Primary dark background with light text
- Section headers: Accent color with header font
- Body: Body font on light background
- Charts/tables: Use accent and secondary for data series
- Callout boxes: Secondary color as background with primary text
Creating a Custom Theme
When no preset fits, generate a custom theme:
- Gather input — Ask about the brand, audience, mood, and context
- Select palette — Choose 4 colors that form a cohesive palette:
- One dark anchor color (backgrounds, text)
- One primary accent (emphasis, CTAs)
- One secondary accent (supporting elements)
- One light/neutral (backgrounds, whitespace)
- Pair fonts — Choose complementary heading and body fonts:
- Heading: distinctive, personality-driven
- Body: readable, clean
- Validate contrast — Ensure WCAG AA compliance for text on backgrounds
- Name the theme — Give it an evocative name describing the visual feeling
- Document — Write a theme file matching the standard format
- Review — Show the theme for approval before applying
Palette Harmony Rules
- Complementary: Colors opposite on the wheel (high contrast)
- Analogous: Colors adjacent on the wheel (harmonious)
- Triadic: Three evenly spaced colors (vibrant but balanced)
- Split-complementary: Base + two colors adjacent to its complement (versatile)
Contrast Guidelines
Ensure readability when applying any theme:
| Combination |
Minimum Ratio |
WCAG Level |
| Body text on background |
4.5:1 |
AA |
| Large text (18px+) on background |
3:1 |
AA |
| UI components / borders |
3:1 |
AA |
| Enhanced readability |
7:1 |
AAA |
Test accent colors against both light and dark backgrounds before finalizing.
Available Themes
All theme definitions are in the themes/ directory:
- themes/ocean-depths.md
- themes/sunset-boulevard.md
- themes/forest-canopy.md
- themes/modern-minimalist.md
- themes/golden-hour.md
- themes/arctic-frost.md
- themes/desert-rose.md
- themes/tech-innovation.md
- themes/botanical-garden.md
- themes/midnight-galaxy.md
NEVER Do
- Apply a theme without confirmation — always get explicit user selection
- Mix colors from different themes — each theme is a cohesive unit
- Ignore contrast ratios — readability trumps aesthetics
- Use accent colors for large text blocks — accents are for emphasis only
- Skip font pairing — headers and body fonts must complement each other
- Hardcode theme values — use CSS variables for easy theme switching
Related Skills
1---2name: theme-factory3description: Curated collection of professional color and typography themes for styling artifacts — slides, docs, reports, landing pages. Use when applying visual themes to presentations, generating themed content, or creating custom brand palettes. Triggers on theme, color palette, font pairing, slide styling, presentation theme, brand colors.4---56# Theme Factory78Apply consistent, professional styling to any artifact using curated themes with color palettes and font pairings.910---1112## When to Use1314- Styling slide decks, reports, or documents with a cohesive visual identity15- Applying color palettes and font pairings to HTML pages or landing pages16- Choosing a pre-built theme for quick professional styling17- Creating a custom theme when none of the presets fit1819---2021## How to Use2223### Step 1: Present Available Themes2425Show the user the 10 available themes with their descriptions:2627| # | Theme | Vibe | Best For |28|---|-------|------|----------|29| 1 | Ocean Depths | Professional, calming maritime | Corporate, financial, consulting |30| 2 | Sunset Boulevard | Warm, vibrant energy | Creative pitches, marketing, events |31| 3 | Forest Canopy | Natural, grounded earth tones | Environmental, sustainability, wellness |32| 4 | Modern Minimalist | Clean, contemporary grayscale | Tech, architecture, design showcases |33| 5 | Golden Hour | Rich, warm autumnal | Hospitality, lifestyle, artisan brands |34| 6 | Arctic Frost | Cool, crisp precision | Healthcare, technology, clean tech |35| 7 | Desert Rose | Soft, sophisticated dusty tones | Fashion, beauty, interior design |36| 8 | Tech Innovation | Bold, high-contrast modern | Startups, software launches, AI/ML |37| 9 | Botanical Garden | Fresh, organic vibrancy | Food, garden, natural products |38| 10 | Midnight Galaxy | Dramatic, cosmic depth | Entertainment, gaming, luxury brands |3940### Step 2: Get User Selection4142Ask which theme to apply. Wait for explicit confirmation before proceeding.4344### Step 3: Apply the Theme45461. Read the selected theme file from `themes/` directory472. Apply colors and fonts consistently throughout the artifact483. Ensure proper contrast and readability494. Maintain the theme's visual identity across all pages/slides5051---5253## Theme File Structure5455Each theme in `themes/` follows this format:5657```markdown58# Theme Name5960Description of the visual mood and inspiration.6162## Color Palette63- **Primary Dark**: `#hex` — Usage description64- **Accent**: `#hex` — Usage description65- **Secondary**: `#hex` — Usage description66- **Light/Background**: `#hex` — Usage description6768## Typography69- **Headers**: Font family70- **Body Text**: Font family7172## Best Used For73Context and audience descriptions.74```7576---7778## Applying Themes to Different Artifacts7980### Slide Decks8182- **Background**: Use the primary dark color for title slides, light color for content slides83- **Headers**: Apply the header font in the accent color84- **Body text**: Use the body font in the primary dark color on light backgrounds85- **Accents**: Use accent/secondary colors for charts, highlights, dividers8687### HTML / Landing Pages8889```css90:root {91 --theme-primary: #hex; /* From theme's primary dark */92 --theme-accent: #hex; /* From theme's accent color */93 --theme-secondary: #hex; /* From theme's secondary */94 --theme-bg: #hex; /* From theme's light/background */95 --theme-font-heading: "Theme Header Font", sans-serif;96 --theme-font-body: "Theme Body Font", sans-serif;97}98```99100### Documents / Reports101102- **Cover page**: Primary dark background with light text103- **Section headers**: Accent color with header font104- **Body**: Body font on light background105- **Charts/tables**: Use accent and secondary for data series106- **Callout boxes**: Secondary color as background with primary text107108---109110## Creating a Custom Theme111112When no preset fits, generate a custom theme:1131141. **Gather input** — Ask about the brand, audience, mood, and context1152. **Select palette** — Choose 4 colors that form a cohesive palette:116 - One dark anchor color (backgrounds, text)117 - One primary accent (emphasis, CTAs)118 - One secondary accent (supporting elements)119 - One light/neutral (backgrounds, whitespace)1203. **Pair fonts** — Choose complementary heading and body fonts:121 - Heading: distinctive, personality-driven122 - Body: readable, clean1234. **Validate contrast** — Ensure WCAG AA compliance for text on backgrounds1245. **Name the theme** — Give it an evocative name describing the visual feeling1256. **Document** — Write a theme file matching the standard format1267. **Review** — Show the theme for approval before applying127128### Palette Harmony Rules129130- **Complementary**: Colors opposite on the wheel (high contrast)131- **Analogous**: Colors adjacent on the wheel (harmonious)132- **Triadic**: Three evenly spaced colors (vibrant but balanced)133- **Split-complementary**: Base + two colors adjacent to its complement (versatile)134135---136137## Contrast Guidelines138139Ensure readability when applying any theme:140141| Combination | Minimum Ratio | WCAG Level |142|-------------|--------------|------------|143| Body text on background | 4.5:1 | AA |144| Large text (18px+) on background | 3:1 | AA |145| UI components / borders | 3:1 | AA |146| Enhanced readability | 7:1 | AAA |147148Test accent colors against both light and dark backgrounds before finalizing.149150---151152## Available Themes153154All theme definitions are in the `themes/` directory:155156- [themes/ocean-depths.md](themes/ocean-depths.md)157- [themes/sunset-boulevard.md](themes/sunset-boulevard.md)158- [themes/forest-canopy.md](themes/forest-canopy.md)159- [themes/modern-minimalist.md](themes/modern-minimalist.md)160- [themes/golden-hour.md](themes/golden-hour.md)161- [themes/arctic-frost.md](themes/arctic-frost.md)162- [themes/desert-rose.md](themes/desert-rose.md)163- [themes/tech-innovation.md](themes/tech-innovation.md)164- [themes/botanical-garden.md](themes/botanical-garden.md)165- [themes/midnight-galaxy.md](themes/midnight-galaxy.md)166167---168169## NEVER Do170171- **Apply a theme without confirmation** — always get explicit user selection172- **Mix colors from different themes** — each theme is a cohesive unit173- **Ignore contrast ratios** — readability trumps aesthetics174- **Use accent colors for large text blocks** — accents are for emphasis only175- **Skip font pairing** — headers and body fonts must complement each other176- **Hardcode theme values** — use CSS variables for easy theme switching177178---179180## Related Skills181182- [design-system-patterns](../design-system-patterns/) — Token architecture and theming infrastructure183- [distinctive-design-systems](../distinctive-design-systems/) — Aesthetic documentation and unique visual identity