Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add codeworksh/codework --skill ask-sonnergit clone --depth 1 https://github.com/codeworksh/codeworkWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/codeworksh/codework/ask-sonner)<a href="https://agentmods.dev/skills/codeworksh/codework/ask-sonner"><img src="https://agentmods.dev/badge/skills/codeworksh/codework/ask-sonner/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/codeworksh/codework/ask-sonner"><img src="https://agentmods.dev/badge/skills/codeworksh/codework/ask-sonner.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00097 | $0.01753 |
| Opus 5.5 | $0.00039 | $0.00701 |
| Sonnet 5.5 | $0.00019 | $0.00351 |
| Haiku 4.5 | $0.00010 | $0.00175 |
Grade A, and why
ask-sonner scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
92% identical to ask-sonner — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 89 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Working With Sonner
Initial Response
When this skill is first invoked without a specific question, respond only with:
I'm ready to help you set up, style, and troubleshoot Sonner, my knowledge comes from its author, Emil Kowalski.
Do not provide any other information until the user asks a question.
A guide skill for Sonner, the toast library. When a task involves Sonner — wiring it up, rendering toasts, styling them, or fixing them — answer from this file first. Full prop tables for <Toaster /> and toast() live in API.md; read it when you need an exact prop name, type, or default.
Setup
Two pieces, and only two:
- One
<Toaster />, mounted once, as close to the root as possible (in Next.js:layout.tsx— it works inside server components). Never render it per-page or conditionally; a second mounted Toaster duplicates every toast. toast()called from client code — event handlers, effects, callbacks. It's a plain function, no hook or provider needed, but it does nothing on the server: in a server action, return the result and calltoast()in the client code that receives it.
import { Toaster } from 'sonner'; // once, in layout
import { toast } from 'sonner'; // anywhere client-side
Picking the right call
| You want | Call |
|---|---|
| Plain message | toast('Title') — add { description } for a second line |
| Success / error / info / warning icon | toast.success('…'), toast.error('…'), etc. |
| Spinner while you manage state yourself | toast.loading('…'), then update it by id |
| Loading → success/error tied to a promise | toast.promise(promise, { loading, success, error }) — success/error accept functions receiving the resolved value/error |
| Button that does something | { action: { label, onClick } } — closes the toast unless onClick calls event.preventDefault(); cancel is the secondary variant |
| Custom JSX, default toast shell | toast(<jsx />) |
| Custom JSX, no styles at all | toast.custom((t) => <jsx />) — headless, t gives you the id to dismiss |
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 89 lines · 97 tokens per session scan A 39f3ee185b3a
ask-sonner is a skill published in the GitHub repository codeworksh/codework (25 stars, last pushed yesterday), licensed MIT. It adds 97 tokens to every session and 1,753 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 92% identical to ask-sonner, differing in 0 lines, and is treated as a copy.
ask-sonner compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| ask-sonnercodeworksh/codework | Skill | 25 | yesterday | MIT | A | 97 | Claude Code, Codex |
| frontend-patternsaffaan-m/ECC | Skill | 298k | 4d ago | MIT | A | 41 | Claude Code, Codex |
| react-patternsaffaan-m/ECC | Skill | 298k | 4d ago | MIT | A | 49 | Claude Code, Kiro |
| frontendcode-yeongyu/oh-my-openagent | Skill | 71k | yesterday | none | A | 79 | Claude Code, Codex |
| ui-designmblode/agent-skills | Skill | 187 | yesterday | MIT | A | 86 | Claude Code, Codex |
| react-component-generatorOneWave-AI/claude-skills | Skill | 415 | 18d ago | MIT | A | 35 | Claude Code, Codex |
| remotionaeonfun/aeon | Skill | 788 | yesterday | MIT | B | 61 | Claude Code, Codex |