← blog

taste-skill — jak nauczyć Claude Code dobrego gustu

taste-skill to anti-slop framework dla Claude Code. Zamiast fioletowego gradientu i trzech równych kart agent czyta brief, ustawia 3 pokrętła i omija 12 wzorców, które zdradzają AI. Z testem na 4 demo.

#AI #Claude @Claude Code #Frontend #Tool review #Workflow
taste-skill — jak nauczyć Claude Code dobrego gustu

Poproś dowolny model o landing page, a dostaniesz to samo: fioletowy gradient, font Inter, wyśrodkowany nagłówek nad rozmytą siatką i trzy identyczne karty „features". To nie przypadek — to domyślna estetyka, do której LLM-y ciążą, gdy nie mają lepszego pomysłu. taste-skill to skill do Claude Code (i innych agentów), który tę domyślność wyłącza.

Z tego artykułu dowiesz się:


Problem: każda strona z AI wygląda tak samo

Domyślny output modelu ma charakterystyczny „zapach". Fiolet i niebieskie poświaty jako akcent. Inter na slate-900. Wyśrodkowany hero bez prawdziwego obrazka. Trzy równe kafle. Długa pauza () wciśnięta wszędzie jako „elegancki" separator. Każdy z tych elementów z osobna jest niewinny — razem tworzą wzór, który każdy widział już tysiąc razy.

Ta sama sekcja, dwa światy. Po lewej domyślny AI-slop, po prawej ten sam komunikat przepuszczony przez taste-skill:

Ta sama sekcja strony: po lewej generyczny AI-slop (fiolet, Inter, trzy równe karty, em-dash), po prawej wersja taste-skill — jeden akcent, asymetryczny layout, konkretne dane

Różnica nie jest kosmetyczna. Po prawej zniknął fioletowy glow, hero ma realny wizual i asymetryczny split, trzy identyczne karty zamieniły się w jeden szeroki kafel plus dwa mniejsze, a puste hasła („powerful, seamless, intuitive") zastąpiły konkretne obietnice.


Jak taste-skill myśli

Skill nie jest zbiorem stylów do wklejenia. To procedura decyzyjna, którą agent przechodzi zanim napisze pierwszą linię CSS. Żadna reguła nie odpala się automatycznie — najpierw brief, potem tylko to, co pasuje.

Schemat pracy taste-skill: brief → design read → trzy pokrętła → mapa design systemu → dyrektywy → pre-flight check → ship, z pętlą powrotu przy błędzie

  1. Brief — agent czyta typ strony, słowa-klucze o vibie, odbiorcę i istniejące assety marki.
  2. Design Read — zanim cokolwiek wygeneruje, formułuje jedno zdanie: „czytam to jako landing B2B dla technicznego kupca, język Linear-minimalist, w stronę Geist + wstrzemięźliwy motion". To zdanie ustawia całą resztę.
  3. Trzy pokrętła — o nich za chwilę.
  4. Mapa design systemu — jeśli brief pasuje do realnego systemu (Fluent, Material, Carbon, Radix), agent instaluje oficjalny pakiet zamiast odtwarzać go ręcznie.
  5. Dyrektywy — korekta biasu: jeden akcent, anti-center, motion tylko umotywowany, a11y i dark mode.
  6. Pre-flight check — mechaniczna checklista przed wysyłką. Fail wraca do poprawki.

Kluczowe jest to, że Design Read jest jawny. Agent musi nazwać, co robi, zanim to zrobi — to sam w sobie odcina odruchowe sięganie po domyślną estetykę.


Trzy pokrętła sterują całą bryłą

Sercem skilla są trzy zmienne. Ustawia się je raz, na początku, a każda późniejsza decyzja o layoucie, ruchu i gęstości jest przez nie bramkowana:

PokrętłoZakresBaseline
DESIGN_VARIANCE1 = perfekcyjna symetria → 10 = artystyczny chaos8
MOTION_INTENSITY1 = statyka → 10 = kinowa fizyka6
VISUAL_DENSITY1 = galeria sztuki → 10 = kokpit pełen danych4

To nie jest gadżet. Ta sama treść przy trzech różnych wartościach DESIGN_VARIANCE daje trzy zupełnie inne bryły layoutu — od spokojnej symetrii po rozjechaną kompozycję:

Jedno pokrętło DESIGN_VARIANCE ustawione na 02, 05 i 08 — ta sama treść hero, trzy różne bryły layoutu od symetrii do asymetrii

Pokrętła wywodzą się z Design Read. Brief „minimalist / clean / Linear-style" zjeżdża z variance do 5-6 i motion do 3-4. Brief „agency / Awwwards / experimental" podbija oba do 9-10. Brief „public-sector / trust-first" schodzi do 3-4, bo tam liczy się zaufanie, nie fajerwerki. Agent nie pyta użytkownika o edycję pliku — nadpisania dzieją się w rozmowie.


12 AI Tells — czego skill zakazuje

Najbardziej praktyczna część skilla to lista „AI Tells": konkretnych wzorców, które zdradzają, że output zrobiła maszyna. Każdy ma zakaz (✕) i alternatywę (✓):

Plansza 12 AI Tells: zakazane wzorce i ich alternatywy — od AI-purple glow, przez Inter+slate, eyebrow spam, em-dash, po fake screenshoty i zmyślone liczby

Kilka, które widać najczęściej:

Pre-flight check jest mechaniczny, nie uznaniowy. Agent liczy instancje eyebrow i jeśli jest ich więcej niż sufit(liczba_sekcji / 3) — output nie przechodzi. Szuka znaku — jeśli jest, fail. Sprawdza kontrast CTA względem tła (WCAG AA) i domknięcie dokumentu HTML. Dopiero czysta checklista pozwala na ship.


Czy to działa? Test na 4 briefach

Reguły to jedno, output to drugie. Sprawdziłem skill na czterech różnych typach interfejsu, każdy dostał wariant pasujący kontekstem, każdy generował jeden samodzielny plik HTML. Efekt — cztery wyraźnie odrębne estetyki z jednego frameworka:

Demo 01 — landing SaaS Cadence, akcent burnt orange, asymetryczny split-heroDemo 02 — portfolio Marta Lindqvist, minimalizm, bento 1px, serif editorialDemo 03 — dashboard GRID-OPS, brutalizm, CRT scanlines, hazard redDemo 04 — cennik Lumen, akcent emerald, plany bez AI-purple glow
#DemoWariantAkcentKlucz anti-slop
01Cadence — landing SaaSdesign-taste-frontendburnt orangeasymetryczny split-hero z realnym wizualem, jeden intent CTA
02Marta Lindqvist — portfoliominimalist-uipale greenzero gradientów-dekoru, bento 1px, serif editorial, realna treść
03GRID-OPS — dashboardindustrial-brutalist-uihazard redCRT scanlines, siatka 1px, zero zaokrągleń, dane oznaczone jako mock
04Lumen — cennikdesign-taste-frontendemeraldplany zróżnicowane bez AI-purple glow, porównanie zamiast tabeli-slop

Landing i cennik dostały główny wariant, portfolio — minimalistyczny, a data-heavy dashboard — brutalistyczny. Żadne z demo nie ma fioletowej poświaty ani trzech równych kart. To ten sam skill, cztery różne czytania briefu.


Instalacja

taste-skill (autor: Leonxlnx, licencja MIT) instaluje się jak każdy skill do agenta:

npx skills add Leonxlnx/taste-skill

Repozytorium zawiera cztery warianty: główny taste-skill, minimalist-skill, brutalist-skill oraz image-to-code-skill. Jeśli chcesz izolacji — trzymać skill tylko w jednym projekcie zamiast globalnie w ~/.claude/skills — możesz ręcznie sklonować repo, skopiować wybrane pliki SKILL.md do lokalnego .claude/skills/ i usunąć klon. Harness Claude Code wykrywa lokalne skille automatycznie.

Potem po prostu opisujesz, co chcesz zbudować, a agent sam przechodzi całą procedurę — od Design Read po pre-flight check.


Podsumowanie


Damian Ślimak. Twój Nawigator w chaosie AI.