Skip to main content

style-component

Style React UI with Tailwind CSS v4 utilities and Headless UI accessible primitives, wired into presentational components without breaking one-way layering.

Quellinformationen

Repository
ThibautBaissac/react-express-ai-kit
Letzte Quellaktivität
8. Juni 2026 um 08:10
Erkannte Sprache von SKILL.md
Englisch
Sterne
2
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
style-component
description
Style React UI with Tailwind CSS v4 utilities and Headless UI accessible primitives, wired into presentational components without breaking one-way layering.
when_to_use
Use WHEN styling or restyling a component, building a dialog/menu/combobox/listbox/popover/tabs/switch/disclosure, adding transitions, or setting up Tailwind — whether the user asks directly or an implementation agent is realizing a matching To-Do item from a `tasks/task-N.md` plan. Do NOT use to fetch data or add business logic (that lives in hooks/services), and do NOT use for backend work.
argument-hint
[component-or-feature]
arguments
["target"]
model
sonnet
# Style a component with Tailwind + Headless UI Style `$target` with utilities. Use Headless UI for accessible interactive elements. Keep fetching and business logic out of presentational components. ## Step 1 — Ensure Tailwind is set up Check for `@tailwindcss/vite`, `tailwindcss()` in `vite.config.*`, and `@import "tailwindcss"` in a CSS entry. If incomplete, apply the reference section "Tailwind v4 setup". Install `@headlessui/react` only when needed. ## Step 2 — Style with utilities Apply `references/styling-patterns.md`. - Use utility classes directly on semantic markup; prefer design tokens over arbitrary values like `w-[317px]`. - Compose conditional classes with the project's existing `clsx`/`cn` helper, not string concatenation. - Keep responsive/state variants inline (`md:`, `hover:`, `dark:`); do not hand-write CSS the utilities already cover. ## Step 3 — Use Headless UI for interactive primitives Check the reference inventory before building an interactive widget. Use Headless UI when it provides the behavior; it owns keyboard, focus, and ARIA. Style with data attributes and `<Transition>` or `transition`. ## Step 4 — Keep it presentational and DRY-by-earn - No `useQuery`/`fetch` in the component — data arrives via props or a hook. - Generic, domain-free primitives (`Button`, `Card`, `Dialog`) belong in `shared/ui` from the start. - For *domain* styled components, extract a shared cluster only after a third real use; prefer duplication until then. ## Step 5 — Verify ```bash source "${CLAUDE_PROJECT_DIR}/.claude/lib/detect-toolchain.sh" run_typecheck run_build ``` `run_build` confirms Tailwind compiles the used classes. ## Checklist - [ ] Tailwind v4 is wired via the Vite plugin and `@import "tailwindcss"` (no `tailwind.config.js` unless one already exists). - [ ] Interactive widgets use Headless UI, not hand-rolled ARIA. - [ ] Classes use design tokens; arbitrary values only when no token fits. - [ ] Component stays presentational — no data fetching or business logic. - [ ] Domain-free primitives live in `shared/ui`; no domain styled abstraction added before its third real use. - [ ] `run_typecheck` and `run_build` pass.
Auf GitHub ansehen