What problem does it solve? Integrating toast notifications with Sonner often leads to subtle bugs: toasts that never appear, duplicate toasts, styles that ignore Tailwind classes, or toasts hidden behind modals. This Skill provides authoritative guidance on wiring up the Toaster, choosing the right toast() call, and diagnosing common failures. ## Core Features & Use Cases - Setup and Call Selection: Mount one <Toaster /> at the root and pick the correct API — typed toasts, toast.loading, toast.promise, action buttons, or headless toast.custom. - Styling Escalation Ladder: Progress from defaults and richColors through inline styles and classNames (with !important) to fully headless custom JSX for design-system toasts. - Troubleshooting Table: Diagnose symptoms like missing toasts, StrictMode duplicates, lost stylesheets in Astro, Shadow DOM issues, stacking-context clipping, and dark mode not applying. - Use Case: A developer's success toast renders gray instead of green and appears twice in development; the Skill identifies the missing richColors prop and the double-mounted Toaster or StrictMode effect issue. ## Quick Start Ask how to set up Sonner in a Next.js app and show a loading toast that updates to success when an upload finishes.