ask-toast

Implements toast notifications, loading states, and action toasts using Sonner in React applications.

1|Updated Aug 17, 2026
One-click install
npx skills add https://github.com/NalinDalal/skillset --skill ask-toast-nalindalal
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ask-toast
Source: https://github.com/NalinDalal/skillset/tree/main/skills/ui/ask-toast
Command: npx skills add https://github.com/NalinDalal/skillset --skill ask-toast-nalindalal

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires sonner.

What problem does it solve? Building transient UI feedback like success messages, error alerts, and loading indicators often leads to inconsistent patterns, broken dark-mode styling, and missing undo actions. This Skill provides a pattern guide for implementing toasts and notifications correctly with Sonner. ## Core Features & Use Cases - Toast Pattern Catalog: Covers plain, semantic (success/error/warning/info), loading, promise-based, action, custom JSX, and headless toast types with guidance on when to use each. - Quality Checklist & Anti-Patterns: Enforces a single root <Toaster />, richColors, theme wiring, promise toasts for async operations, and swipe-to-dismiss on mobile while flagging common mistakes like duplicate toasters and stuck loading toasts. - Use Case: When a user deletes an item, fire a loading toast, update it to a success toast with an Undo action button, and keep it open long enough for the user to reverse the action. ## Quick Start Ask the agent to add a toast notification with an undo action to the delete flow in this React project.

Frequently Asked Questions about ask-toast

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add toast notifications to a React app?▼

Mount a single Toaster component at the application root, then call toast functions from client code for success, error, loading, or promise-based feedback. Sonner is the recommended library, with richColors enabled for semantic styling.

How to show a loading toast that updates to success or error?▼

Use toast.promise with loading, success, and error messages for automatic transitions, or call toast.loading and update it by passing the same id to toast.success or toast.error. Always add a timeout fallback so loading toasts never get stuck.

Can I use Sonner toasts with a custom design system?▼

Yes, use toast.custom with a render function to go fully headless while keeping Sonner's positioning, stacking, and swipe behavior. Wrap it in your own toast abstraction so the design system controls all visual styling.

Why are my toasts duplicated or appearing behind modals?▼

Duplicates happen when multiple Toaster components are mounted, so keep exactly one at the root. Toasts hidden behind modals are fixed by moving the Toaster to the document root so it renders above overlay layers.

Why do Sonner toasts ignore my Tailwind classes?▼

Sonner's default styles can override utility classes passed through classNames. Prefix classes with the important modifier, or switch to the headless toast.custom API for full styling control.