Taste Skill: biblioteka anty-slop skilli frontendowych
Taste Skill (Leonxlnx/taste-skill) to biblioteka 13 skilli agenta (Agent Skills) na licencji MIT, które ładują reguły projektowania frontendu do kontekstu agenta, zanim ten napisze markup. Domyślny skill, design-taste-frontend, wnioskuje kierunek projektowy z briefu, ustawia trzy pokrętła i zakazuje typowych wzorców UI generowanego przez AI. Służy do landing page’y, portfolio i redesignów, nie do dashboardów.
Ta strona jest dla frontend developerów, którzy generują strony marketingowe w Claude Code, Codeksie albo Cursorze, oraz dla tech leadów, którzy muszą zdecydować, czy taki wynik można zmergować. Sytuacja: landing page od agenta działa, ale ma fioletowy gradient, trzy identyczne karty funkcji, eyebrow 001 · Capabilities i fałszywy dashboard zbudowany ze stylizowanych elementów div. Nikt w zespole nie umie powiedzieć w code review, co właściwie znaczy „mniej generycznie”.
Stan na 2026-09-26: Leonxlnx/taste-skill ma 90,2 tys. gwiazdek na GitHubie (odczyt z GitHuba). skills.sh podaje 520 147 instalacji design-taste-frontend; to liczba SECONDARY z zewnętrznego zrzutu LinklyAI/best-skills z tego samego dnia, więc przed cytowaniem sprawdź ją bezpośrednio na skills.sh. Stronę zweryfikowaliśmy względem commita ce26fc2 na gałęzi main (2026-09-26), CLI skills 1.7.0, Claude Code 2.1.285 i codex-cli 0.157.1.
Co wyniesiesz z Taste Skill
Dział zatytułowany „Co wyniesiesz z Taste Skill”- Przypiętą instalację na poziomie projektu dla Claude Code, Codeksa i Cursora oraz jedną pułapkę z nazwą, przez którą instalacja po cichu nic nie robi.
- Wiedzę, który z 13 skilli zainstalować do nowych stron, redesignów i pracy zaczynającej się od obrazów.
- Trzy prompty do skopiowania: budowę, która zatrzymuje się na twoją akceptację kierunku, review oparte wyłącznie na dowodach i redesign, który nie może ruszyć tras ani analityki.
- Skrypt powłoki i spec Playwrighta, które sprawdzają twarde reguły skilla w CI, więc nikt nie czyta CSS linijka po linijce.
- Sposoby wyjścia z sytuacji, w których Taste Skill walczy z twoim stackiem, firmowym stylem albo innymi skillami projektowymi.
Instalacja Taste Skill w Claude Code, Codeksie albo Cursorze
Dział zatytułowany „Instalacja Taste Skill w Claude Code, Codeksie albo Cursorze”Taste Skill to zestaw plików SKILL.md, a nie serwer MCP, model ani CLI. Instalujesz go przez CLI skills. Repozytorium nie ma tagów wydań, więc przypinaj SHA commita: domyślny skill jest oznaczony jako „v2 (experimental)”, a autorzy piszą, że poprawki „may land in any v2 experimental release”.
# Terminal, katalog główny projektu. Przypnij commit, który przejrzałeś.npx skills add "Leonxlnx/taste-skill#ce26fc25c0e5e8cab638f883de62d9a86ee5e45b" \ --skill design-taste-frontend -a claude-codeCLI zapisuje plik w .agents/skills/design-taste-frontend/SKILL.md, tworzy do niego dowiązanie symboliczne w .claude/skills/ i zapisuje źródło, ref oraz hash w skills-lock.json. Wywołujesz go przez /design-taste-frontend albo pozwalasz Claude’owi załadować go sam, gdy prośba pasuje do opisu skilla.
Repozytorium ma też marketplace dla Claude Code. Plugin zawiera wszystkie 13 skilli w jednej przestrzeni nazw, więc używaj go tylko wtedy, gdy chcesz cały pakiet:
/plugin marketplace add Leonxlnx/taste-skill/plugin install taste-skill@taste-skill# Terminal, katalog główny projektunpx skills add "Leonxlnx/taste-skill#ce26fc25c0e5e8cab638f883de62d9a86ee5e45b" \ --skill design-taste-frontend -a codexCodex czyta skille projektu z .agents/skills/. Skill wywołujesz wzmianką z $, na przykład $design-taste-frontend build the pricing page. Repozytorium nie ma manifestu pluginu dla Codeksa (sprawdzone na ce26fc2), więc instaluj przez CLI skills albo skopiuj folder z SKILL.md ręcznie do .agents/skills/.
# Terminal, katalog główny projektunpx skills add "Leonxlnx/taste-skill#ce26fc25c0e5e8cab638f883de62d9a86ee5e45b" \ --skill design-taste-frontend -a cursorCLI zapisuje kopię projektu dla Cursora w .agents/skills/. Agent Cursora ładuje skill, gdy prośba pasuje do jego opisu. Dokumentacja Cursora była niedostępna, gdy sprawdzaliśmy tę stronę, więc potwierdź instalację (i sposób jawnego wywołania skilla), pytając agenta, jakie skille widzi.
Aby zainstalować skill dla wszystkich trzech agentów naraz, podaj -a claude-code codex cursor. Commituj .agents/skills/, .claude/skills/ i skills-lock.json, a do CI dodaj kontrolę dryfu z zespołowego workflow dla skilli, żeby ręczna edycja albo nieprzejrzana aktualizacja wywracały build.
Koszt kontekstu. Dopóki skill nie jest używany, w kontekście siedzi tylko jego nazwa i opis. Gdy design-taste-frontend się ładuje, wnosi plik o 1206 liniach i około 87 KB (12 800 słów). W Claude Code uruchom /context przed wywołaniem i po nim, żeby zobaczyć, ile kosztuje twoją sesję. Przy instalacji przez plugin prognozowany koszt w tokenach wypisze claude plugin details taste-skill.
Który z 13 wariantów Taste Skill zainstalować?
Dział zatytułowany „Który z 13 wariantów Taste Skill zainstalować?”Instaluj jeden skill do jednego zadania. Dwa skille z tego pakietu załadowane do jednej prośby dają agentowi dwie procedury do pogodzenia.
Nazwa instalacyjna (--skill) | Wynik | Sięgnij po niego, gdy |
|---|---|---|
design-taste-frontend | Kod | Domyślnie: nowy landing page, portfolio albo strona marketingowa |
design-taste-frontend-v1 | Kod | Zależy ci dokładnie na zachowaniu sprzed v2 |
redesign-existing-projects | Kod | Istniejącą stronę trzeba unowocześnić, zaczynając od audytu |
gpt-taste | Kod | Chcesz ostrzejszego ruchu w GSAP i większej zmienności układów, pod modele GPT |
high-end-visual-design | Kod | Kierunek jest już „miękki”: spokojny, premium, ruch sprężynowy |
minimalist-ui | Kod | Kierunek jest redakcyjny, w stylu Notion albo Linear |
industrial-brutalist-ui | Kod | Kierunek to szwajcarska typografia, ostry kontrast, sztywne siatki |
full-output-enforcement | Kod | Agent zostawia komentarze-placeholdery zamiast gotowego kodu |
stitch-design-taste | Reguły, opcjonalnie DESIGN.md | Projektujesz w Google Stitch i chcesz jego reguł albo eksportu do DESIGN.md |
image-to-code | Obrazy, potem kod | Chcesz wygenerować klatki referencyjne, przeanalizować je i zaimplementować |
imagegen-frontend-web | Tylko obrazy | Potrzebujesz makiet strony, jeden obraz na sekcję |
imagegen-frontend-mobile | Tylko obrazy | Potrzebujesz koncepcji ekranów iOS albo Androida w makietach telefonu |
brandkit | Tylko obrazy | Potrzebujesz plansz z logo, paletą i typografią |
gpt-taste każe modelowi zasymulować random.choice() z ziarnem (seed bierze się z długości promptu), żeby wybrać układy, więc różne briefy dostają różne układy. Losowanie tylko symuluje model, nic go nie wykonuje, więc tak czy inaczej nie polegaj na nim, gdy potrzebujesz powtarzalnego wyniku.
Jak design-taste-frontend decyduje, co zbudować?
Dział zatytułowany „Jak design-taste-frontend decyduje, co zbudować?”Domyślny skill to pipeline, który agent przechodzi po kolei. Numery sekcji poniżej pochodzą z samego skilla, więc możesz na nie wskazywać agentowi.
-
Wnioskowanie z briefu (§0). Agent czyta rodzaj strony, słowa opisujące klimat, referencje, odbiorców i ograniczenia, a potem pisze jednolinijkowy „Design Read”. Jeśli brief jest niejednoznaczny, zadaje jedno pytanie, zamiast zgadywać.
-
Trzy pokrętła (§1).
DESIGN_VARIANCE,MOTION_INTENSITYiVISUAL_DENSITY, każde w skali od 1 do 10, sterują każdą decyzją o układzie, ruchu i gęstości. Wartości bazowe to 8 / 6 / 4. Skill wnioskuje je z briefu (brief „trust-first” albo dla sektora publicznego schodzi do 3-4 / 2-3 / 4-5, brief agencyjny albo w stylu Awwwards rośnie do 9-10 / 8-10 / 3-4), a ty nadpisujesz je w rozmowie, nie edytując pliku. -
Mapa systemów projektowych (§2). Brief, który brzmi jak Material, Fluent, Carbon, Polaris, Atlassian, Primer, GOV.UK, USWDS, Bootstrap, Radix, shadcn albo Tailwind, dostaje oficjalny pakiet. Estetyka, taka jak bento, brutalizm czy glassmorphism, dostaje standardy webowe, a Liquid Glass Apple’a skill opisuje jako webowe przybliżenie, a nie oficjalny pakiet.
-
Generowanie zgodnie z domyślnym stackiem (§3: React albo Next.js, Tailwind v4, Motion z
motion/react) i zakazami z §9. -
Końcowy check pre-flight (§14). Lista 62 punktów, które muszą przejść, zanim agent uzna pracę za skończoną: blokady spójności, kontrast, limity sekcji hero, ograniczony ruch i zasada „zadeklarowany ruch = pokazany ruch”.
§13 wyłącza z zakresu dashboardy, panele administracyjne, tabele danych, wieloetapowe formularze, edytory kodu, natywne aplikacje mobilne i UI do współpracy w czasie rzeczywistym. W takich przypadkach skill każe agentowi to powiedzieć, wskazać właściwe narzędzie (Fluent albo Carbon do dashboardów, TanStack Table albo AG Grid do tabel, Monaco do edytorów) i stosować tylko reguły dotyczące stron marketingowych tam, gdzie pasują.
Czego zakazuje lista Taste Skill?
Dział zatytułowany „Czego zakazuje lista Taste Skill?”Sekcja 9, „AI Tells”, to powód, dla którego zespoły instalują ten skill. Reprezentatywny wycinek:
- Wizualnie: neonowe poświaty, czysty
#000000, przesycone akcenty, tekst z gradientem w dużych nagłówkach, własne kursory i domyślny „AI purple”, chyba że marka jest fioletowa. - Układ: trzy równe karty funkcji w rzędzie,
border-tplusborder-bna każdym wierszu długiej listy i powtarzanie tej samej rodziny układów (pre-flight wymaga co najmniej czterech rodzin na osiem sekcji). - Treść: imiona typu „John Doe”, marki typu „Acme”, liczby typu
99.99%, puste czasowniki w rodzaju „Elevate” i „Seamless”, numerowane eyebrowy sekcji (001 · Capabilities), etykietyBETAw hero, zachęty do przewijania i paski z miastem i pogodą. - Podróbki: UI produktu złożone z prostokątów
divudające zrzut ekranu i ozdobne podpisy autorów zdjęć przy zdjęciach stockowych.
Skill narzuca też blokady: jeden kolor akcentu, jeden system zaokrągleń i jeden motyw strony, bez przeskoków między jasnym a ciemnym w środku. Nagłówek hero mieści się w dwóch liniach, podtekst w 20 słowach, główne CTA jest widoczne bez przewijania, a nawigacja zajmuje jedną linię o wysokości najwyżej 80px.
Landing page z Taste Skill: od briefu do zmergowanego pull requesta
Dział zatytułowany „Landing page z Taste Skill: od briefu do zmergowanego pull requesta”To pętla, w którą wpisuje się skill: uzgodnij kierunek, zbuduj, zweryfikuj maszynowo, zrób review na podstawie dowodów i wdrażaj. Ludzka decyzja zapada raz, przy kierunku, a nie przy każdej linijce CSS.
-
Napisz brief z faktami, których skill nie wywnioskuje. Odbiorcy, jedna akcja, do której strona ma prowadzić, kolor marki i fonty, strony referencyjne. Przy większej powierzchni najpierw przeprowadź czteroartefaktowy pipeline od projektu do kodu i przekaż agentowi jego kontrakt projektowy.
-
Buduj z punktem akceptacji. Prompt poniżej zmusza agenta do zadeklarowania Design Read i wartości pokręteł, zanim napisze kod, więc właściciel produktu albo designu akceptuje kierunek w jednej wiadomości.
-
Uruchom deterministyczną bramkę i spec Playwrighta z następnej sekcji. Popraw każdy błąd przed review.
-
Zrób review w świeżej sesji promptem opartym wyłącznie na dowodach. Recenzent, który nie pisał strony, sprawdza punkty pre-flight na plikach i zrzutach ekranu, a nie na deklaracjach autora.
-
Merguj po zielonym CI i po tym, jak właściciel obejrzy zrzuty w szerokości desktopowej i mobilnej.
Jak zweryfikować wynik Taste Skill bez czytania każdej linijki?
Dział zatytułowany „Jak zweryfikować wynik Taste Skill bez czytania każdej linijki?”Pre-flight to agent oceniający własną pracę. Traktuj go jako deklarację do sprawdzenia, nie jako dowód. Kilka twardych reguł skilla jest mechanicznych, więc może je egzekwować skrypt.
Bramka na źródłach. Zapisz to jako scripts/taste-gate.sh i uruchamiaj w CI oraz w pętli agenta. Przy każdym znalezisku kończy się kodem różnym od zera:
#!/usr/bin/env bash# scripts/taste-gate.sh: deterministic checks for Taste Skill's hard rules.# Usage: scripts/taste-gate.sh [dir ...] (default: src)set -udirs=("${@:-src}")inc=(--include='*.tsx' --include='*.jsx' --include='*.ts' --include='*.js' --include='*.html' --include='*.mdx' --include='*.vue' --include='*.svelte' --include='*.astro')fail=0check() { # $1 = label, $2 = extended regex if grep -rnE "${inc[@]}" -- "$2" "${dirs[@]}"; then echo "FAIL: $1" >&2; fail=1 fi}for d in "${dirs[@]}"; do [ -d "$d" ] || { echo "FAIL: no such dir $d" >&2; exit 2; }; donecheck "em or en dash in shipped text (§9.G)" '—|–'check "raw scroll listener (§5.D)" "addEventListener\(['\"]scroll"check "h-screen (use min-h-[100dvh] for full-height sections, §3.E)" '(^|[^-])\bh-screen\b'check "section-number eyebrow (§9.F)" '\b0{1,2}[0-9] ?(·|/) ?[A-Za-z]'exit "$fail"Kontrola kresek łapie też kreski w komentarzach w kodzie. Trzymaj komentarze w katalogu marketingowym bez nich albo wskaż skryptowi tylko komponenty, które renderują teksty. Kontrola h-screen łapie każde wystąpienie, także w paskach bocznych i oknach modalnych, więc uruchamiaj skrypt tylko na katalogu marketingowym.
Spec na wyrenderowanej stronie. Grep po źródłach nie zobaczy tekstu, który przychodzi z CMS-a. Ten spec Playwrighta (z @playwright/test i @axe-core/playwright) sprawdza to, co widzi odwiedzający, w dwóch szerokościach:
import { test, expect } from '@playwright/test';import AxeBuilder from '@axe-core/playwright';
for (const viewport of [{ width: 1440, height: 900 }, { width: 390, height: 844 }]) { test(`landing page meets Taste Skill rules at ${viewport.width}px`, async ({ page }) => { await page.setViewportSize(viewport); await page.goto('/');
const text = await page.locator('body').innerText(); const alts = await page.locator('img').evaluateAll((imgs) => imgs.map((i) => i.getAttribute('alt') ?? '').join(' ')); expect(text + alts).not.toMatch(/[–—]/); // §9.G
const cta = await page.getByTestId('primary-cta').boundingBox(); // hero: CTA above the fold expect(cta).not.toBeNull(); expect(cta!.y + cta!.height).toBeLessThanOrEqual(viewport.height);
const a11y = await new AxeBuilder({ page }).withTags(['wcag2a', 'wcag2aa']).analyze(); expect(a11y.violations).toEqual([]);
await expect(page).toHaveScreenshot(`landing-${viewport.width}.png`, { fullPage: true }); });}Wzorcowe zrzuty utwórz raz poleceniem npx playwright test --update-snapshots i zacommituj je. Inaczej pierwszy przebieg CI oblewa test z komunikatem „snapshot doesn’t exist”. Zrzuty ekranu stają się artefaktem do review. Szerszą praktykę opisują strony o testach end-to-end, testach dostępności i wyłapywaniu slopu przed merge’em. Żeby agent mógł między iteracjami obejrzeć własną działającą stronę, dodaj agent-browser.
Kto akceptuje. Właściciel produktu albo designu akceptuje Design Read i pokrętła przed budową oraz zrzuty ekranu po niej. CI odpowiada za skrypt bramki, spec i skan dostępności. Sesja recenzenta odpowiada za sprawdzenie dowodów. Nikt nie akceptuje „wygląda mniej generycznie” bez zrzutu ekranu w pull requeście.
Redesign istniejącej strony bez psucia tras i analityki
Dział zatytułowany „Redesign istniejącej strony bez psucia tras i analityki”Do istniejącej strony zainstaluj redesign-existing-projects albo użyj §11 domyślnego skilla. Oba zaczynają od wykrycia trybu (Greenfield, Preserve albo Overhaul) i od audytu przed jakąkolwiek zmianą. §11.F wymienia to, co nigdy nie zmienia się po cichu: strukturę URL, etykiety głównej nawigacji, nazwy i kolejność pól formularzy, logo albo wordmark oraz teksty prawne i zgody. §11.C dokłada identyfikatory kotwic i identyfikatory sekcji, od których zależy analityka.
Te reguły żyją w kontekście agenta, nie w twoim CI. Podeprzyj je kontrolami: listą tras porównywaną z main, nazwami zdarzeń analitycznych sprawdzanymi w teście end-to-end i testami charakteryzującymi formularzy, zanim agent ich dotknie.
Gdy Taste Skill walczy z twoim firmowym stylem albo stackiem
Dział zatytułowany „Gdy Taste Skill walczy z twoim firmowym stylem albo stackiem”Skill narzuca własne wybory, a jego zakazy obowiązują „unless the brief explicitly asks for them”. To zdanie jest kanałem nadpisywania: wyjątki zapisz w briefie albo w instrukcjach projektu, które agent zawsze czyta, a zainstalowany SKILL.md zostaw w spokoju. Zmieniona kopia oblewa kontrolę dryfu i znika przy następnej aktualizacji.
## Frontend design exceptions (read with the design-taste-frontend skill)- Icons: we use lucide-react already. Do not add a second icon library.- Font: Inter is the brand font. Do not replace it.- Stack: Vue 3 + Nuxt. Ignore the React-specific parts of §3 and §5.Skill nie ma ścieżki poza Reactem: przy Vue albo Svelte licz się z tym, że stack trzeba powtarzać w każdym briefie, a kod animacji z §5 przeglądać ręcznie.
Wstaw ten blok do CLAUDE.md dla Claude Code, do AGENTS.md dla Codeksa i do reguły projektu w Cursorze. Linie o ikonach, foncie i zależnościach wspiera tekst samego skilla: Inter jest domyślnie odradzany, ale dozwolony na wyraźną prośbę, lucide-react jest dozwolony, gdy użytkownik o niego prosi albo projekt już od niego zależy, a §3.F każe agentowi sprawdzić package.json, zanim doda jakąkolwiek bibliotekę.
Gdy Taste Skill zawodzi: jak z tego wyjść
Dział zatytułowany „Gdy Taste Skill zawodzi: jak z tego wyjść”Strona dalej wygląda szablonowo. Agent pominął §0 i użył bazowych pokręteł. Poproś wprost o Design Read i wartości pokręteł (robi to prompt do budowy) i odrzuć odpowiedź, która powtarza 8 / 6 / 4 bez uzasadnienia z briefu.
Pre-flight mówi PASS, a na stronie są pauzy. Raport to samoocena. Uruchom scripts/taste-gate.sh i spec Playwrighta, wklej agentowi błędy i poproś o poprawki tylko we wskazanych liniach.
W package.json pojawiają się nowe zależności. Domyślny stack skilla obejmuje GSAP, Motion i konkretne biblioteki ikon. Dopisz swój stack do wyjątków projektu i poproś agenta o listę zależności, zanim cokolwiek zainstaluje (krok 4 promptu do budowy).
Agent przestylował twój dashboard. Prośba pasowała do opisu skilla, choć §13 wyłącza dashboardy z zakresu. Napisz w prompcie „do not use the design-taste-frontend skill for this” albo trzymaj skill na poziomie projektu tylko w aplikacji marketingowej.
Ruch jest zadeklarowany, ale nic się nie rusza, albo rusza się wszystko. Pre-flight wymaga prawdziwej animacji powyżej MOTION_INTENSITY 4 i obsługi prefers-reduced-motion powyżej 3. Dla statycznej strony obniż pokrętło w rozmowie do 3 i testuj z włączonym ograniczeniem ruchu w przeglądarce.
Taste Skill, Impeccable czy czteroartefaktowy pipeline?
Dział zatytułowany „Taste Skill, Impeccable czy czteroartefaktowy pipeline?”| Taste Skill | Impeccable | Czteroartefaktowy pipeline | |
|---|---|---|---|
| Postać | 13 plików skilli | Jeden skill z nazwanymi poleceniami i deterministyczny detektor | Workflow z bramkami i czterema wersjonowanymi artefaktami |
| Najlepszy do | Generowania nowej strony marketingowej, która nie wygląda szablonowo | Dopracowywania istniejącego UI we własnym systemie projektowym | Przeprowadzenia ekranu produktu od intencji do zweryfikowanego kodu |
| Uczy się twojego systemu? | Nie, narzuca kierunek, chyba że brief mówi inaczej | Tak, z PRODUCT.md i DESIGN.md | Tworzy kontrakt projektowy jako jeden z artefaktów |
| Kontrola maszynowa | Brak w pakiecie; dodaj bramkę i spec z tej strony | npx impeccable detect w CI | Bramki zrzutów ekranu i dostępności z kontraktu |
Taste Skill wybierz do nowego landing page’a albo portfolio. Impeccable, gdy UI już istnieje i chcesz nazwanych poprawek oraz detektora. Pipeline do ekranów produktu, gdzie stany, tokeny i akceptacja liczą się bardziej niż szlif za pierwszym podejściem; etap budowy w jego środku może przejąć dowolny z tych skilli.