Skill: react
"use client" at the top of the file; keep non-interactive logic in server components or libraries.useState.useEffect minimal and side effect focused; avoid using it for basic data derivation.react-hook-form + Zod for all non-trivial forms.FormFormFormFieldFormItemFormLabelFormControlFormMessagecn utility for conditional classes.md:hidden, hidden md:flex, etc.) over JS-based checks like isMobile. Use isMobile from useSidebar() only when CSS cannot handle the logic (e.g., conditional rendering that affects data fetching or complex state).