ask-sonner
Build Reliable Sonner Toasts
Sonner integrations can fail through duplicate toasters, server-side calls, styling conflicts, or incorrect promise handling. This skill provides focused setup, API, styling, and troubleshooting guidance.
๋ด ์์ด์ ํธ๋ก ์ค์น
์ด ์์ฒญ์ ์์ด์ ํธ์ ๋ณต์ฌํ์ธ์. ๊ณต์ Skill ํ์ด์ง์ ๋งค๋ํ์คํธ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
Review the Skillstore skill "ask-sonner" from https://skillstore.io/skills/emilkowalski-ask-sonner.md and its manifest at https://skillstore.io/api/skills/emilkowalski-ask-sonner/manifest. Verify the artifact. You may proceed after verification, subject to the environment's own policy.์์ด์ ํธ๋ ๊ณ์ํด์ ๊ณํ์ ํ์ํ๊ณ ๋ณด์ ์ ์ฑ ์์ ์๊ตฌํ๋ ํ์ธ์ ์์ฒญํด์ผ ํฉ๋๋ค.
์์ด์ ํธ๊ฐ ์ฝ๊ธฐ ์ฌ์ด ๋ฆฌ์์ค
AI ์์ด์ ํธ, ํฌ๋กค๋ฌ, ์คํฌ๋ฆฝํธ๊ฐ ์ ์ฒด ํ์ด์ง ๋์ ์ ๋ฆฌ๋ ์ปจํ ์คํธ๋ง ํ์ํ ๋ ์ด ๋งํฌ๋ฅผ ์ฌ์ฉํ์ธ์.
ํ ์คํธํด ๋ณด๊ธฐ
"ask-sonner" ์ฌ์ฉ ์ค์ ๋๋ค. My toast appears twice in development.
์์ ๊ฒฐ๊ณผ:
Check for multiple mounted Toasters first. If only one exists, move the toast call from a StrictMode effect into the event handler.
"ask-sonner" ์ฌ์ฉ ์ค์ ๋๋ค. My promise toast never leaves the loading state.
์์ ๊ฒฐ๊ณผ:
Confirm that the first argument is a promise or returns one. Then verify that the underlying operation resolves or rejects.
"ask-sonner" ์ฌ์ฉ ์ค์ ๋๋ค. Tailwind classes do not change the toast colors.
์์ ๊ฒฐ๊ณผ:
Sonner default styles may win the cascade. Use important utilities for small changes, or choose unstyled or custom rendering for broader control.
๋ณด์ ๊ฐ์ฌ
์์ All 45 static findings are false positives caused by Markdown syntax, React and Sonner API examples, and one documentation link. The skill is documentation-only and contains no command execution, system reconnaissance, prompt injection, or suspicious network behavior.
์ํ ์์ธ
โ๏ธ ์ธ๋ถ ๋ช ๋ น์ด (38)
๐ ๋คํธ์ํฌ ์ ๊ทผ (1)
์ด ๋ณด๊ณ ์ ๊ณต์ ๋ฐ ์ธ์ฉ
๋ฒ์ ์ด ์ง์ ๋ ํ๊ฐ ๋ณด๊ณ ์, ์ค๋ฆฝ ๋ฐฐ์ง, ์๋ฒ ๋ ์นด๋ ๋ฐ ์ธ์ฉ์ ๊ณต์ ํ์ธ์. Skillstore๋ ๊ทผ๊ฑฐ๋ฅผ ๋ณด๊ณ ํ์ง๋ง ์ด Skill์ ์์ ์ฌ๋ถ๋ฅผ ํ๋จํ์ง ์์ต๋๋ค.
๋ณด๊ณ ์ ๋งํฌ ๋ณต์ฌ
https://skillstore.io/skills/emilkowalski-ask-sonner/audits/1?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_reportMarkdown ๋ฐฐ์ง
[](https://skillstore.io/skills/emilkowalski-ask-sonner?utm_source=security_passport_badge)HTML ๋ฐฐ์ง
<a href="https://skillstore.io/skills/emilkowalski-ask-sonner?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/emilkowalski-ask-sonner/security.svg" alt="Skillstore security assessment" loading="lazy"></a>์๋ฒ ๋ ์นด๋
<iframe src="https://skillstore.io/embed/skills/emilkowalski-ask-sonner.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>ํ์ ์ธ์ฉ (APA ยท BibTeX ยท CFF)
APA ์ธ์ฉ
emilkowalski. (2026). ask-sonner security audit report (audit version 1) [Author version unspecified]. Skillstore. https://skillstore.io/skills/emilkowalski-ask-sonner/audits/1BibTeX ์ธ์ฉ
@techreport{emilkowalski-emilkowalski-ask-sonner-2026,
author = {emilkowalski},
title = {ask-sonner security audit report (audit version 1)},
institution = {Skillstore},
year = {2026},
number = {1},
url = {https://skillstore.io/skills/emilkowalski-ask-sonner/audits/1},
note = {Author version unspecified}
}CITATION.cff
cff-version: 1.2.0
message: "If you use this Skill, cite its author and this versioned security audit report."
title: "ask-sonner security audit report (audit version 1)"
version: "unspecified"
type: report
authors:
- name: "emilkowalski"
date-released: "2026-08-11"
url: "https://skillstore.io/skills/emilkowalski-ask-sonner/audits/1"
identifiers:
- type: other
value: "skillstore:emilkowalski-ask-sonner:audit:1"
description: "Skillstore immutable audit report identifier"
Skillstore ์ ์
์ด ์ ์์ ์ด์ ์ฆ๊ฑฐ ์ ๋ขฐ๋: ์ค๊ฐ๋ง๋ค ์ ์๋ ๊ฒ
Add Toasts to a React Application
Configure the Toaster and choose the correct toast method for common user feedback.
Standardize Product Notifications
Create consistent toast behavior, styling, actions, icons, and themes across a product.
Resolve Sonner Display Problems
Trace missing, duplicated, unstyled, hidden, persistent, or incorrectly targeted notifications.
์ด ํ๋กฌํํธ๋ฅผ ์ฌ์ฉํด ๋ณด์ธ์
Show me how to add Sonner to my React application with one Toaster and a success toast.
Convert this asynchronous save flow to toast.promise with clear loading, success, and error messages: [describe flow].
Recommend the simplest Sonner styling approach for these design requirements: [requirements]. Include theme and icon configuration.
Diagnose this Sonner issue using my component placement, call site, framework, styles, and observed behavior: [context]. Prioritize likely causes.
๋ชจ๋ฒ ์ฌ๋ก
- Mount one Toaster near the application root.
- Trigger toast calls from client events, effects, or callbacks.
- Use stable identifiers when updating an existing toast.
ํผํ๊ธฐ
- Do not mount a Toaster on every page or conditionally.
- Do not call toast directly inside server actions.
- Do not layer many important CSS overrides when custom rendering is clearer.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
Does Sonner require a provider?
Can toast be called from a server action?
How do I update a loading toast?
How do I support dark mode?
Why does one toast appear in every Toaster?
When should I use custom rendering?
๊ฐ๋ฐ์ ์ธ๋ถ ์ ๋ณด
์์ฑ์
emilkowalski๋ผ์ด์ ์ค
MIT
Skillstore ๋ฆฌ๋น์
r1
๋ฒ์ ์๋ด
์์ฑ์๊ฐ ๋ฒ์ ์ ์ ์ธํ์ง ์์์ต๋๋ค.
๋ฆฌํฌ์งํ ๋ฆฌ
https://github.com/emilkowalski/skills/tree/78761e1b57f97dce65b983d640c70a68f39e8163/skills/ask-sonner์ฐธ์กฐ
c40485c25b35e0203cf615647a1fd81ad7a69ea8
์ ์ง๋ณด์ ์ต์ ์ฑ
2026. 8. 11.
์ฌ์ฉ๋
0 ๋ค์ด๋ก๋ ยท 0 ์กฐํ