madebymustafa/design-taste

taste-color

Color craft for agent-built interfaces: palette construction in OKLCH, the 60-30-10 discipline, one-accent rule, WCAG 2.2 contrast math, semantic tokens, color-blind-safe pairs, and dark mode mapping.

Ver código fuente

Cómo usar

  1. Copia el comando y revisa el paquete antes de instalarlo en tu entorno de agente.
  2. Consulta las herramientas, credenciales y entornos necesarios en el documento original.
  3. Describe las entradas y el resultado deseado; contrasta la salida con las fuentes.
npx skills add https://github.com/madebymustafa/design-taste --skill taste-color

Antes de empezar

  • La instalación no incluye suscripción al modelo, cuota API ni permisos sobre tus archivos.
  • Las estrellas e instalaciones reflejan actividad, no una prueba independiente de calidad o seguridad.
Documento original del Skill

Contenido del repositorio de origen con títulos, ejemplos, código, tablas, enlaces e imágenes preservados.

taste-color

Color is the most emotional thing in the interface and the most abused by agents. The fix is structure: a tiny palette, used with discipline.

1. PALETTE ARCHITECTURE (60-30-10)

A complete interface palette has exactly:

  • 60% neutrals — the surfaces and text. Warm or cool, but one family. 2–4 surfaces (bg, panel, raised) + 3 text steps (primary/secondary/muted).
  • 30% structure — borders, hairlines, dividers: a tinted neutral, not a color.
  • 10% accent — ONE saturated color with a job: the primary CTA, links, active states, one data series. If a second accent exists, it has a distinct job (e.g., success green for status) and appears at <2% coverage.

More than three "meaningful" colors per viewport = the page has no message. The accent stops pointing at anything when it appears everywhere.

2. BUILDING RAMPS (OKLCH, Not RGB)

  • Build all ramps in OKLCH (perceptually even lightness). Never interpolate between hex values blindly.
  • Neutrals: 9–11 steps (50–950), chroma near 0. Accent: 9–11 steps, hue locked, chroma rising from low at 50 to full at 500–600, falling again at 900.
  • The two most used values on a page: the 500–600 step of the accent (buttons) and the 50–100 step of the neutral (backgrounds).
  • Convert to OKLCH in code where the stack allows; otherwise ship hex but compute from OKLCH.

3. CONTRAST (WCAG 2.2 — Exact Numbers)

ElementMinimum ratio
Body text (normal)4.5:1
Large text (≥24px, or ≥18.66px bold)3:1
UI components (borders, icons, input edges)3:1 against adjacent
Focus indicator3:1 against adjacent, 2px minimum
  • Never eyeball it: compute with a contrast function (WCAG relative luminance formula) or a tool before shipping.
  • A "premium" desaturated look is NOT an excuse for low contrast: desaturate the background, not the text.
  • Text on accent buttons: white text needs accent ≤ ~4.6:1-luminance; check it. Dark text on light accent is often the right call (#FFD100 yellow + ink text = correct; white on yellow = failure).
  • Placeholder text ≤ 0.5 opacity is decorative: placeholder labels must not be the only label (floating labels, visible labels).

4. SEMANTIC MAPPING (Names Carry Jobs)

  • --color-surface, --color-surface-raised, --color-text, --color-text-muted, --color-border, --color-accent, --color-success, --color-danger, --color-warning — with 3–4 steps of each where needed (e.g., --color-danger-bg, --color-danger-border, --color-danger-text).
  • Meaning must be in the name: --color-danger-text not --color-red-700.
  • Danger/success/warning exist for status ONLY — never as decoration.
  • Dark mode = remap semantics (--color-surface flips), never a second palette of raw colors sprinkled into components.

5. COLOR-BLIND SAFETY (Default-Safe Pairs)

  • Never encode information in red vs green alone. Add shape, position, pattern, or labels: ✓ / ✕, ↑/↓, solid/dashed.
  • Blue-violet is the safest hue (tritanopia & deuteranopia friendlier); orange is the strongest safe accent against neutrals.
  • For data viz: use colorblind-safe categorical sets (e.g., Okabe-Ito) rather than rainbow defaults.

6. CHECKLIST (Fail the Page If…)

  • [ ] Any two adjacent text/background pair under 4.5:1 for normal text.
  • [ ] More than one accent color carrying meaning per viewport.
  • [ ] A gradient where a flat color would do.
  • [ ] Red and green as the only signal of success/failure.
  • [ ] Any raw hex in a component instead of a token.
  • [ ] White text on a yellow or pale accent.
  • [ ] A "dark theme" that's actually just the same colors on a dark background (contrast must be recomputed).

One accent, used twice per viewport, is a signal. The same accent everywhere is noise.

Relacionados por tarea

del mismo repositorio

Más Skills

Todos los Skills
madebymustafa
Comunidad

design-taste

Anti-slop design skill for landing pages, portfolios, and marketing sites. The agent reads the brief, infers a deliberate design direction, and ships interfaces that do not look AI-generated. Ban the LLM defaults, set typography and color deliberately, run the pre-flight checklist before finishing.

instalaciones
1
GitHub Stars
178
Actualizado
15 ago
madebymustafa
Comunidad

neo-brutalism

Genre pack: neo-brutalism for the web — loud consumer energy with hard discipline. Bright warm paper, ink-black 2.5px borders on everything, hard offset shadows, one dominant hot accent plus one supporting accent, chunky pills and stickers, playful copy. Use for consumer apps, agencies, crypto/tech novelty brands, and anything wanting maximum personality. Stack on the design-taste core skill.

instalaciones
1
GitHub Stars
178
Actualizado
15 ago
madebymustafa
Comunidad

playful-color

Genre pack: bold, joyful consumer design — giant display type, thick ink outlines, flat vibrant color fields, sticker-like shapes, chunky buttons. For D2C brands, consumer apps, events, education, and youth-facing products. Fun without looking childish: the structure stays strict, only the attitude is loud. Stack on the design-taste core skill.

instalaciones
1
GitHub Stars
178
Actualizado
15 ago
madebymustafa
Comunidad

cinematic-motion

Genre pack: the site-of-the-day aesthetic — the page as a film projected on studio print. Warm paper canvas, near-black ink type, one vivid electric-blue accent, grotesk display, alternating scene canvases, a scrubbed index counter, text-dissolve pins, and a drag-driven card carousel. For portfolios, product launches, agencies, and any brief that wants premium scroll-driven storytelling. Requires taste-gsap for the implementation. Stack on the design-taste core skill.

instalaciones
1
GitHub Stars
114
Actualizado
15 ago