genart.dev

Color Theory

Color theory design skills — complementary, analogous, triadic harmonies

Color Theory Skills

Color theory skills teach AI agents how to create harmonious color palettes for generative art. Load these via the load_skill tool.

Available skills

complementary

Colors opposite each other on the color wheel. Creates high contrast and visual vibrance.

  • Pair selection — choose a base hue and its 180-degree opposite
  • Split complementary — base hue + two colors adjacent to its complement
  • Use in generative art — background/foreground contrast, accent highlights
load_skill({ skill: "complementary" })

analogous

Colors adjacent on the color wheel (within 30-60 degrees). Creates harmonious, unified palettes.

  • 3-color scheme — base hue + two neighbors
  • Temperature consistency — analogous schemes stay warm or cool
  • Use in generative art — smooth gradients, natural landscapes, flowing forms
load_skill({ skill: "analogous" })

triadic

Three colors equally spaced on the color wheel (120 degrees apart). Creates vibrant, balanced compositions.

  • Equal spacing — three hues at 0, 120, 240 degrees
  • Dominance hierarchy — use one dominant, two as accents
  • Use in generative art — multi-element compositions, categorical coloring
load_skill({ skill: "triadic" })

monochromatic

Variations of a single hue using different saturation and lightness values.

  • Value range — from near-black to near-white in one hue
  • Saturation variation — from gray to vivid
  • Use in generative art — subtle, focused compositions, depth through value

warm-cool

Contrast between warm (red/orange/yellow) and cool (blue/green/purple) temperatures.

  • Temperature mapping — map data or position to temperature
  • Atmospheric perspective — cool colors recede, warm colors advance
  • Use in generative art — depth illusion, emotional contrast

Color in .genart files

Colors are defined in the colors array and applied via state.COLORS (p5.js) or state.colorPalette (other renderers):

{
  "colors": [
    { "key": "background", "default": "#0A0A0A" },
    { "key": "primary", "default": "#22D3EE" },
    { "key": "accent", "default": "#FF6B35" }
  ]
}

Themes provide named presets that swap the entire palette:

{
  "themes": [
    { "name": "Neon", "colors": ["#0A0A0A", "#00FF41", "#FF00FF"] },
    { "name": "Warm", "colors": ["#1A0A00", "#FF6B35", "#FFD700"] }
  ]
}