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.

Quelltext ansehen

Verwendung

  1. Installationsbefehl kopieren und das Quellpaket vor der Installation in der eigenen Agentenumgebung prüfen.
  2. Benötigte Werkzeuge, Zugangsdaten und Hosts im Original prüfen.
  3. Eingabe und gewünschtes Ergebnis beschreiben und die Ausgabe mit den Quellen abgleichen.
npx skills add https://github.com/madebymustafa/design-taste --skill taste-color

Vor dem Start

  • Die Installation umfasst weder Modellabo noch API-Kontingent oder Dateizugriffsrechte.
  • Sterne und Installationen zeigen Aktivität, keine unabhängige Qualitäts- oder Sicherheitsprüfung.
Originales Skill-Dokument

Aus dem Quell-Repository gerendert; Überschriften, Beispiele, Code, Tabellen, Links und Bilder bleiben erhalten.

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.

Verwandte Aufgaben

aus demselben Repository

Weitere Skills

Alle Skills
madebymustafa
Community

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.

Installationen
1
GitHub Stars
178
Aktualisiert
15. Aug.
madebymustafa
Community

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.

Installationen
1
GitHub Stars
178
Aktualisiert
15. Aug.
madebymustafa
Community

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.

Installationen
1
GitHub Stars
178
Aktualisiert
15. Aug.
madebymustafa
Community

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.

Installationen
1
GitHub Stars
114
Aktualisiert
15. Aug.