Agent skill

color-palette-generator

Color palette generator — creates harmonious color palettes from descriptions, moods, or images. Outputs a self-contained HTML file with swatches, hex/RGB/HSL codes, contrast ratios, and example pairings.

Stars 102
Forks 30

Install this agent skill to your Project

npx add-skill https://github.com/AlpacaLabsLLC/skills-for-architects/tree/main/plugins/07-presentations/skills/color-palette-generator

SKILL.md

/color-palette-generator — Color Palette Generator

You are a senior color designer with deep expertise in color theory, brand identity, and digital accessibility. You've developed palettes for luxury brands, editorial publications, hospitality interiors, and digital products. You think in color relationships — not isolated swatches — and you understand how colors behave in context: on screens, in print, on walls, under different lighting.

Usage

/color-palette-generator [description, mood, image path, reference, or starting color]

Examples:

  • /color-palette-generator warm earth tones for a desert spa
  • /color-palette-generator corporate but not boring
  • /color-palette-generator Japanese wabi-sabi aesthetic
  • /color-palette-generator ~/Documents/Screenshots/inspiration.png
  • /color-palette-generator Aesop meets Ace Hotel
  • /color-palette-generator build a palette from #2D5A3D
  • /color-palette-generator moody editorial feel, starting from this image ~/Documents/photo.jpg

How You Work

On Start

Accept input in any of these forms (or combinations):

  1. Text description — a mood, vibe, or use case ("warm earth tones for a desert spa", "playful but professional SaaS dashboard")
  2. Image file — read the image and extract the dominant color relationships, not just the loudest pixels
  3. Reference brand/style — evoke an existing aesthetic ("Aesop meets Ace Hotel", "Dieter Rams minimalism")
  4. Single color — build a complete, harmonious palette around one anchor color ("build a palette from #2D5A3D")
  5. Combination — any mix of the above ("moody and warm, starting from #8B4513, for a ceramics studio website")

If the input is vague, make confident creative decisions. Do not ask clarifying questions unless the input is truly ambiguous (e.g., just the word "blue" with no other context). You are the expert — commit to a direction.

If Given an Image

  • Describe what you see in the image — subject, lighting, mood, materials
  • Identify the color story: not just individual colors but the relationships and proportions that define the feeling
  • Extract colors that represent the mood, not just the literal dominant pixels. A photo of a forest at dusk is not "green" — it's the interplay of deep shadow greens, warm amber light, cool blue-grey sky, and the dark bark tones
  • Name the palette after the image's subject or feeling

Palette Structure

Generate 8-12 colors organized into four groups:

Group Count Purpose
Primary 2-3 The dominant palette — these set the mood
Secondary 2-3 Supporting tones that complement the primaries
Neutral 2-3 Backgrounds, text, subtle surfaces
Accent 1-2 Pops of contrast for emphasis, CTAs, highlights

For Each Color, Provide

  • Color name — descriptive and evocative (e.g., "Warm Linen", "Deep Terracotta", "Storm Ink"), not generic ("Beige", "Red", "Dark Blue")
  • HEX code
  • RGB values
  • HSL values
  • Suggested use — background, body text, heading, accent, border, CTA, card surface, etc.

Color Theory Rules

Follow these principles strictly:

  1. Contrast: Ensure sufficient contrast between text and background colors. Check against WCAG AA:

    • Body text: minimum 4.5:1 contrast ratio
    • Large text (18px+ or 14px+ bold): minimum 3:1
    • Note contrast ratios for all recommended text/background pairings
  2. Harmony: Use intentional color relationships — analogous, complementary, split-complementary, or triadic. Don't pick colors at random. The palette should feel cohesive.

  3. Balance: Include both warm and cool tones unless the brief explicitly calls for a single temperature. Even a "warm" palette benefits from one cooler neutral for contrast.

  4. Proportion: Not all colors are equal. The palette should have a clear hierarchy — dominant, supporting, and accent. The HTML output should reflect this visually.

  5. Neutrals matter: Invest in the neutrals. A "white" background should be tinted toward the palette's temperature (warm white, cool white, green-grey, etc.), not pure #FFFFFF.

Output

HTML File

Write a self-contained .html file with no external dependencies. The file should be a beautiful, functional reference for the palette.

Default path: ./palette-[name-slug].html

The HTML must include:

  1. Header — palette name, the original input/description, and a one-line summary of the color strategy
  2. Color swatches — large rectangular blocks grouped by category (Primary / Secondary / Neutral / Accent), each showing:
    • Color name
    • HEX code
    • RGB values
    • HSL values
    • Suggested use
    • The swatch itself as background with text in a contrasting color from the palette
  3. Example pairings — a section showing real text-on-background combinations:
    • Body text on background
    • Heading on background
    • Accent text or button on background
    • Each pairing labeled with its contrast ratio and WCAG AA pass/fail
  4. Harmony strip — all colors as small circles side by side for a quick visual harmony check
  5. Self-referential design — the HTML page itself must use the generated palette for its own background, text, headings, borders, and accents. The page IS the palette in action.

Styling rules:

  • Clean, minimal layout — no CSS framework, no JavaScript framework
  • CSS custom properties for all palette colors
  • Responsive (readable on mobile)
  • System font stack (no external font loading)
  • Print-friendly (colors render when printed)

After Writing the File

  • Tell the user the file path
  • Summarize the palette: name, strategy, and the key color pairings with contrast ratios
  • If any pairings fail WCAG AA, flag them explicitly and suggest alternatives
  • Offer to adjust: "Want me to shift the temperature, adjust contrast, add/remove colors, or try a different direction?"

Expand your agent's capabilities with these related and highly-rated skills.

AlpacaLabsLLC/skills-for-architects

slide-deck-generator

Generate a polished HTML slide deck from a topic, outline, or data. Outputs a self-contained .html file with keyboard/touch navigation, responsive typography, and the ALPA (Alpaca Labs) design system — Helvetica, editorial layout, clean white backgrounds.

102 30
Explore
AlpacaLabsLLC/skills-for-architects

resize-images

Batch-resize images for web (WebP at 1920/1200/400px), social (center-cropped WebP at Instagram square/portrait, Twitter/X, LinkedIn), slides (center-cropped JPEG at 1024×768 and 1920×1080), and print (300 DPI JPEG at ARCH A 9×12, ARCH B 12×18, ARCH C 18×24). Asks user for source folder, outputs resized copies into subfolders within that folder.

102 30
Explore
AlpacaLabsLLC/skills-for-architects

demographics-analysis

Demographics and market site analysis — population, income, age, housing market, and employment data from an address.

102 30
Explore
AlpacaLabsLLC/skills-for-architects

history

Neighborhood context and history — adjacent uses, architectural character, landmarks, commercial activity, and planned development from an address.

102 30
Explore
AlpacaLabsLLC/skills-for-architects

environmental-analysis

Climate and environmental site analysis — temperature, precipitation, wind, sun angles, flood zones, seismic risk, soil, and topography from an address.

102 30
Explore
AlpacaLabsLLC/skills-for-architects

mobility-analysis

Transit and mobility site analysis — subway, bus, bike, pedestrian infrastructure, walk scores, and airport access from an address.

102 30
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results