Tailwind React Guidelines
SkillAI & modelsFrontend React 19 + TypeScript + TailwindCSS v4 + shadcn/ui dla Vite SPA. Komponenty, React Query, formularze (RHF + Zod), testowanie (Vitest + RTL + MSW), lazy loading, Suspense, Sonner. Używaj przy tworzeniu komponentów, stron, stylowaniu, data fetchingu, formularzach, testach, optymalizacji.
Use Tailwind React Guidelines in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Tailwind React Guidelines and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Tailwind React Guidelines skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by aibiz-automatyzacje/claude-code-starter in .claude/skills/tailwind-react-guidelines/SKILL.md and read by Ahel’s review.
Cel
Przewodnik dla Vite + React 19 SPA z Tailwind v4 i shadcn/ui. Ten plik to checklisty i zasady stałe; przykłady kodu i szczegóły są w resources/ (tabela na końcu). Reguły pisania kodu (Async i React, Type safety, Testowanie, Architektura) są w .claude/rules/coding-rules.md — tu stoją tylko odwołania do nich.
Kiedy Używać Tego Skilla
- Tworzenie nowych komponentów React
- Stylowanie z TailwindCSS v4 + shadcn/ui
- Data fetching z React Query
- Formularze z React Hook Form + Zod
- Testowanie z Vitest + React Testing Library + MSW
- Routing z React Router
- Obsługa błędów i loading states
- Optymalizacja wydajności
Checklisty
Nowy komponent
- Interfejs TypeScript dla propsów, funkcja zamiast
React.FC - Ref jako zwykły prop (React 19), bez
forwardRef - Importy przez aliasy
@/components,@/lib,@/hooks - Klasy Tailwind z tokenów projektu, kompozycja przez
cn() - Prymityw z
src/components/ui/(shadcn/ui), gdy taki istnieje - Default export na dole pliku strony ładowanej przez
lazy()
Memoizacja
- Projekt z React Compilerem (
babel-plugin-react-compilerw package.json i konfiguracji Vite): bez ręcznychuseMemoiuseCallback— wyjątek według sekcji Async i React reguł kodu - Projekt bez Compilera:
useCallbackdla handlera przekazywanego do komponentu wmemo(),useMemodla obliczenia, którego koszt pokazał pomiar
Data fetching
- React Query (
useQuery,useMutation) zamiastuseEffect -
useSuspenseQuerydla pobierania pod Suspense (dane zawsze zdefiniowane) -
queryOptions()dla konfiguracji zapytania używanej w kilku miejscach - Kolejność gałęzi w widoku: ładowanie → błąd → pusto → dane
-
toast.promise()dla informacji zwrotnej o operacji
Formularze
- React Hook Form + Zod (
zodResolver) dla formularzy złożonych -
useActionStatedla prostych formularzy bez RHF -
aria-invalidiaria-describedbyprzy polach z błędem - Wysyłka przez
useMutation
Nowa strona
- Lazy load:
const Page = lazy(() => import('@/pages/page')) - Suspense z fallbackiem
- Error Boundary (react-error-boundary)
- Trasa w konfiguracji routera
Główne zasady
- Dane z serwera przez React Query —
useQueryiuseMutationzamiastuseEffect, bo biblioteka obsługuje cache, ponowienia, unieważnianie i wyścigi odpowiedzi, które ręczny efekt musi odtwarzać sam. - Formularze przez React Hook Form + Zod —
useActionStatedla prostych, bo jeden schemat Zod waliduje w przeglądarce i typuje dane, a ręczne flagiuseStaterozjeżdżają się ze stanem wysyłki. - Memoizacja według Compilera — z React Compilerem bez ręcznej memoizacji, bez niego tylko dla dzieci w
memo()i po pomiarze, bo memoizacja na zapas dokłada zależności, które trzeba utrzymywać. - Suspense dla komponentów ładowanych leniwie — dane obsługuje React Query, bo Suspense na danych bez
useSuspenseQueryzostawia stan ładowania w dwóch miejscach. - Tailwind v4 z konfiguracją w CSS — tokeny w
@theme, kolory OKLCH, bo zmiana tokenu w jednym miejscu zmienia cały motyw. - TypeScript strict i Zod na granicy — według sekcji Type safety i Bezpieczeństwo reguł kodu, bo typ nie sprawdza danych, które przyszły z sieci.
- Error Boundary dla błędów nieoczekiwanych — react-error-boundary, bo nieobsłużony wyjątek w renderze odmontowuje całe drzewo.
- Sonner dla powiadomień —
toast.success(),toast.promise(), bo jeden mechanizm daje spójne komunikaty i obsługę czytników ekranu. - Testy przez zachowanie — Vitest + Testing Library + MSW,
MemoryRouterdla tras, bo test przez role i nazwy dostępne sprawdza to, co widzi użytkownik. - Błędy przez logger —
logger.error()dla błędu nieoczekiwanego, bo logger wysyła zdarzenie do Sentry z kontekstem (skill sentry-integration).
Navigation Guide
| Potrzebujesz... | Przeczytaj |
|---|---|
| Stworzyć komponent, Error Boundary | component-patterns.md |
Stylować z Tailwind v4, shadcn/ui, cn() | styling-guide.md |
| Organizować pliki, aliasy importów, routing | file-organization.md |
| Formularze (RHF + Zod), wizardy, upload | forms.md |
| Obsłużyć ładowanie, błędy, puste stany, Suspense | loading-and-error-states.md |
| Testować (Vitest + RTL + MSW) | testing.md |
Optymalizować (Compiler, cache, useTransition) | performance.md |
Wzorce TypeScript (satisfies, importy typów) | typescript-standards.md |
Zanim zaczniesz pisać kod tematu, czytasz jego sekcję w przewodniku (nagłówki przez grep -n '^##', potem Read z offset i limit), bo pliki mają 15–45k znaków, a każdy temat ma pułapki, których nie widać w samym API (ref jako prop zamiast forwardRef, @theme zamiast tailwind.config.js w Tailwind v4, useSuspenseQuery bez gałęzi ładowania).
Signals
- GitHub stars
- 88
- Forks
- 29
- Last commit
- Oct 2026
Ahel review
K1binfo
installs-packages (in resources/component-patterns.md)K1binfo
installs-packages (in resources/forms.md)K1binfo
installs-packages (in resources/performance.md)K1binfo
installs-packages (in resources/testing.md)
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Item type
- skill
- Key
tailwind-react-guidelines- Source
- github.com/aibiz-automatyzacje/claude-code-starter
github.com/aibiz-automatyzacje/claude-code-starter
Related picks
Skill · thedaviddias
The pick for JavaScriptmodern-javascript-patterns
Skill · wshobson
The pick for JavaScriptsetup-ts-deep-modules
Skill · mattpocock
The pick for TypeScripttypescript-pro
Skill · jeffallan
The pick for TypeScriptreact-component-performance
Skill · davila7
The pick for Reactreact-doctor
Skill · millionco
The pick for React