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 agentmods add skills/monkilabs/opencastle/resendnpx skills add monkilabs/opencastle --skill resendgit clone --depth 1 https://github.com/monkilabs/opencastleWrote 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/monkilabs/opencastle/resend)<a href="https://agentmods.dev/skills/monkilabs/opencastle/resend"><img src="https://agentmods.dev/badge/skills/monkilabs/opencastle/resend.svg" alt="Measured on agentmods" 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 | $0.00035 | $0.00461 |
| Opus 5 | $0.00017 | $0.00230 |
| Sonnet 5 | $0.00007 | $0.00092 |
| Haiku 4.5 | $0.00003 | $0.00046 |
Grade B, and why
resend-email scanned grade B with 2 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.
Sends data to an external URLmediumData exfiltration
A POST to an outside endpoint may be telemetry or may be exfiltration; either way the mod talks to somewhere, and you should know where.
`curl -X POST -H 'Content-Type: application/json' -d '{"type":"email.delivered"}' https://yourapp.com/api/webhooks/resend` Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
`curl -X POST -H 'Content-Type: application/json' -d '{"type":"email.delivered"}' https://yourapp.com/api/webhooks/resend` What it actually says
Resend Email
Docs: https://resend.com/docs
Env: RESEND_API_KEY (resend.com → API Keys), RESEND_WEBHOOK_SECRET (resend.com → Webhooks).
Gotchas
- Resend webhooks are Svix-signed. Verification needs all three headers —
svix-id,svix-timestamp,svix-signature— passed tonew Webhook(process.env.RESEND_WEBHOOK_SECRET).verify(rawBody, headers). Verify against the rawrequest.text(); parsing the JSON first invalidates the signature. Return 400 on failure, 200 on success. Events:email.delivered,email.bounced,email.complained. frommust use a verified domain and the'Name <[email protected]>'form.tois an array.- Pass a React Email component via
react:(nothtml:); the two are mutually exclusive.
Domain setup
- Add the domain at resend.com → Domains, then add the SPF, DKIM, and DMARC records. Verification typically completes within an hour.
- Confirm propagation before blaming the API:
dig TXT yourdomain.com— SPF/DKIM records must appear. - Send one test message and check the received headers show SPF and DKIM pass.
- Smoke-test the webhook endpoint returns 200:
curl -X POST -H 'Content-Type: application/json' -d '{"type":"email.delivered"}' https://yourapp.com/api/webhooks/resend
Failures here are nearly always DNS propagation, a wrong API key scope, or a mismatched webhook secret.
Templates
npm install resend @react-email/components. Build templates from @react-email/components primitives (Html, Head, Body, Container, Heading, Text, Button) — plain HTML/CSS is unreliable across clients. Preview locally with npx email dev.
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 · 31 lines · 35 tokens per session scan B 5e48fa2337ee
resend-email is a skill published in the GitHub repository monkilabs/opencastle (61 stars, last pushed 6d ago), licensed MIT. It adds 35 tokens to every session and 461 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 2 findings (sends data to an external url, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
context7
Retrieve up-to-date documentation for software libraries, frameworks, and components via the Context7 API. This skill should be used when looking up documentation for any programming library or framework, finding code examples for specific APIs or features, verifying correct usage of library functions, or obtaining…
playwriter
Browser automation via Playwriter (remorses) using persistent Chrome sessions and the full Playwright Page API.
ralph-hats
Create, inspect, validate, explain, and improve Ralph hat collections. Use this skill whenever the user asks to make or refine a .ralph/hats/.yml workflow, debug hat routing, explain event topology, or tune a multi-hat Ralph run.
product-architect
Complete product development system with 80 agents and 36 frameworks. Use when the user wants to build a product, write a PRD, plan an MVP or roadmap, design an app, research a market or check whether a feature already exists or is novel, do competitive analysis, run a security audit, build a financial model, plan…
using-sync
Use when an Agent needs to synchronize LWC Wiki stores across SSH hosts, resume or abort an interrupted Sync session, or resolve semantic Sync conflicts safely.
workspace-brief
Build a concise, evidence-backed briefing from workspace status and recent commits.