feat(skills): add optional theme-factory skill

Hermes-native port of Anthropic's theme-factory agent skill
(anthropics/skills, Apache-2.0 — verified; upstream LICENSE.txt
shipped verbatim in references/). Ten professional font+color themes
for styling HTML artifacts (slides, docs, reports, landing pages),
theme definitions byte-faithful, plus a compact gallery table and a
generate-new-theme flow. Credit: Anthropic.
This commit is contained in:
teknium1 2026-07-21 03:21:08 -07:00
parent f4df260f26
commit aecd0cb6f6
No known key found for this signature in database
16 changed files with 715 additions and 0 deletions

View file

@ -64,6 +64,7 @@ hermes skills uninstall <skill-name>
| [**kanban-video-orchestrator**](/docs/user-guide/skills/optional/creative/creative-kanban-video-orchestrator) | Plan, set up, and monitor a multi-agent video production pipeline backed by Hermes Kanban. Use when the user wants to make ANY video — narrative film, product/marketing, music video, explainer, ASCII/terminal art, abstract/generative loo... |
| [**meme-generation**](/docs/user-guide/skills/optional/creative/creative-meme-generation) | Generate real meme images by picking a template and overlaying text with Pillow. Produces actual .png meme files. |
| [**pixel-art**](/docs/user-guide/skills/optional/creative/creative-pixel-art) | Pixel art w/ era palettes (NES, Game Boy, PICO-8). |
| [**theme-factory**](/docs/user-guide/skills/optional/creative/creative-theme-factory) | Professional font and color themes for HTML artifacts. |
## devops

View file

@ -0,0 +1,98 @@
---
title: "Theme Factory — Professional font and color themes for HTML artifacts"
sidebar_label: "Theme Factory"
description: "Professional font and color themes for HTML artifacts"
---
{/* This page is auto-generated from the skill's SKILL.md by website/scripts/generate-skill-docs.py. Edit the source SKILL.md, not this page. */}
# Theme Factory
Professional font and color themes for HTML artifacts.
## Skill metadata
| | |
|---|---|
| Source | Optional — install with `hermes skills install official/creative/theme-factory` |
| Path | `optional-skills/creative/theme-factory` |
| Version | `0.1.0` |
| Author | Anthropic (anthropics), Hermes Agent |
| License | Apache-2.0 |
| Platforms | linux, macos, windows |
| Tags | `Themes`, `Design`, `HTML`, `Styling` |
| Related skills | [`claude-design`](/docs/user-guide/skills/bundled/creative/creative-claude-design), [`sketch`](/docs/user-guide/skills/bundled/creative/creative-sketch) |
## Reference: full SKILL.md
:::info
The following is the complete skill definition that Hermes loads when this skill is triggered. This is what the agent sees as instructions when the skill is active.
:::
# Theme Factory
Ported from Anthropic's Agent Skills repo (github.com/anthropics/skills, `skills/theme-factory`, Apache-2.0 — full license text in `references/LICENSE.txt`). A curated collection of 10 professional themes — cohesive color palettes plus header/body font pairings — for styling any HTML/web artifact Hermes generates: slide decks, docs, reports, landing pages, dashboards. Also supports generating brand-new themes on the fly when none of the presets fit.
## When to Use
- The user asks for a slide deck, report, landing page, or other HTML artifact and wants it to look polished/professional rather than default-browser plain.
- An existing HTML artifact needs a consistent visual identity (colors + fonts) applied throughout.
- The user asks for "a theme", names one of the gallery themes below, or describes a vibe ("something warm and autumnal") that maps to one.
- For full bespoke page design (layout, components, interactions), prefer the `claude-design` skill; for quick throwaway mockup variants, `sketch`; for infra diagrams, `architecture-diagram`. This skill is specifically the **styling layer**: pick/apply a font+palette theme.
## Theme Gallery
| # | Theme | Vibe | Fonts (header / body) | Palette |
|---|-------|------|-----------------------|---------|
| 1 | Ocean Depths | Professional, calming maritime | DejaVu Sans Bold / DejaVu Sans | `#1a2332` `#2d8b8b` `#a8dadc` `#f1faee` |
| 2 | Sunset Boulevard | Warm, vibrant sunset energy | DejaVu Serif Bold / DejaVu Sans | `#e76f51` `#f4a261` `#e9c46a` `#264653` |
| 3 | Forest Canopy | Natural, grounded earth tones | FreeSerif Bold / FreeSans | `#2d4a2b` `#7d8471` `#a4ac86` `#faf9f6` |
| 4 | Modern Minimalist | Clean contemporary grayscale | DejaVu Sans Bold / DejaVu Sans | `#36454f` `#708090` `#d3d3d3` `#ffffff` |
| 5 | Golden Hour | Rich, warm autumnal | FreeSans Bold / FreeSans | `#f4a900` `#c1666b` `#d4b896` `#4a403a` |
| 6 | Arctic Frost | Cool, crisp winter clarity | DejaVu Sans Bold / DejaVu Sans | `#d4e4f7` `#4a6fa5` `#c0c0c0` `#fafafa` |
| 7 | Desert Rose | Soft, sophisticated dusty tones | FreeSans Bold / FreeSans | `#d4a5a5` `#b87d6d` `#e8d5c4` `#5d2e46` |
| 8 | Tech Innovation | Bold, high-contrast modern tech | DejaVu Sans Bold / DejaVu Sans | `#0066ff` `#00ffff` `#1e1e1e` `#ffffff` |
| 9 | Botanical Garden | Fresh, organic garden colors | DejaVu Serif Bold / DejaVu Sans | `#4a7c59` `#f9a620` `#b7472a` `#f5f3ed` |
| 10 | Midnight Galaxy | Dramatic, cosmic deep tones | FreeSans Bold / FreeSans | `#2b1e3e` `#4a4e8f` `#a490c2` `#e6e6fa` |
Full per-theme specs (color role assignments, best-used-for guidance) live in `references/themes/<theme-name>.md` — one file per theme, e.g. `references/themes/ocean-depths.md`. Read the theme's file before applying it; the role notes (which hex is background vs. accent vs. text) matter for contrast.
## Procedure
1. **Offer choices.** Show the user the gallery table above (or the shortlist matching their described vibe) and ask which theme to apply. Wait for explicit confirmation before styling.
2. **Read the spec.** `read_file` the chosen theme's `references/themes/<name>.md` to get each color's role (background / accent / highlight / text) and the exact font pairing.
3. **Generate the artifact.** Use `write_file` to create the HTML. Encode the theme as CSS custom properties so it applies consistently:
```css
:root {
--bg: #1a2332; --accent: #2d8b8b;
--accent-2: #a8dadc; --text: #f1faee;
--font-head: "DejaVu Sans", "Helvetica Neue", Arial, sans-serif;
--font-body: "DejaVu Sans", "Helvetica Neue", Arial, sans-serif;
}
```
Apply roles as specified in the theme file — don't shuffle background and text colors arbitrarily.
4. **Restyle existing artifacts** by `read_file`-ing the current HTML, then `write_file`-ing it back with the theme's `:root` variables and font stacks swapped in (never sed/cat).
5. **Preview.** `browser_navigate` to `file:///absolute/path/to/artifact.html`, then `browser_vision` to visually verify colors render as intended, headings use the header font, and contrast is readable.
## Generating New Themes
When none of the 10 presets fit, create a custom theme in the same format:
1. From the user's description ("earthy but modern", brand colors, industry), pick 4 cohesive colors (dark anchor, primary accent, secondary/highlight, light neutral) and a header/body font pairing.
2. Give it an evocative two-word name in the gallery's style (e.g. "Copper Foundry").
3. Present the palette + fonts to the user for review **before** applying — optionally as a small HTML swatch card via `write_file` + browser preview.
4. Once approved, apply via the Procedure above. If it will be reused, save it as `references/themes/<new-name>.md` mirroring the existing files' structure.
## Pitfalls
- **Contrast**: light themes (Arctic Frost, Desert Rose) put light hexes as backgrounds and the darkest hex as text; dark themes (Ocean Depths, Midnight Galaxy, Tech Innovation) invert that. Read the role annotations — swapping roles produces unreadable output.
- **Fonts**: DejaVu/FreeSans/FreeSerif ship on most Linux systems but not macOS/Windows — always include fallback stacks (`Arial`, `Helvetica Neue`, `Georgia`, `sans-serif`/`serif`) so artifacts degrade gracefully.
- **Neon accents** (Tech Innovation's `#00ffff`) are for highlights/borders only — never body text on white.
- Don't apply a theme unprompted; the upstream skill's flow is show → ask → confirm → apply.
- Skipping the browser preview: hex codes that look fine in a table can clash on-screen; verify visually.
## Verification
- Open the artifact via `browser_navigate` (`file://` URL) and `browser_vision` to confirm: theme colors present, header vs. body font distinction visible, text readable against its background.
- Grep the generated HTML for the theme's hex codes to confirm all four palette colors were used.
- If the user reports a color looks off, re-read the theme spec and check role assignments before tweaking hexes.