Borrowing it
Nothing to install: this file belongs to cohen-liel/hivemind. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/cohen-liel/hivemind/main/.claude/skills/email-service/SKILL.mdgit clone --depth 1 https://github.com/cohen-liel/hivemindWrote 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/cohen-liel/hivemind/email-service)<a href="https://agentmods.dev/skills/cohen-liel/hivemind/email-service"><img src="https://agentmods.dev/badge/skills/cohen-liel/hivemind/email-service/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/cohen-liel/hivemind/email-service"><img src="https://agentmods.dev/badge/skills/cohen-liel/hivemind/email-service.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.00037 | $0.01781 |
| Opus 5 | $0.00018 | $0.00890 |
| Sonnet 5 | $0.00007 | $0.00356 |
| Haiku 4.5 | $0.00004 | $0.00178 |
Grade A, and why
email-service 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 10d 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.
How it starts
The opening of the file, as written. The whole thing — 232 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Email Service Patterns
Setup (Resend — recommended)
# email.py
import resend
resend.api_key = settings.RESEND_API_KEY
async def send_email(
to: str | list[str],
subject: str,
html: str,
from_email: str = "[email protected]",
) -> str:
"""Send transactional email, return message ID."""
params = resend.Emails.SendParams(
from_=from_email,
to=[to] if isinstance(to, str) else to,
subject=subject,
html=html,
)
email = resend.Emails.send(params)
return email["id"]
// lib/email.ts
import { Resend } from 'resend'
const resend = new Resend(process.env.RESEND_API_KEY)
export async function sendEmail(params: {
to: string | string[]
subject: string
html: string
from?: string
}) {
const { data, error } = await resend.emails.send({
from: params.from ?? '[email protected]',
to: Array.isArray(params.to) ? params.to : [params.to],
subject: params.subject,
html: params.html,
})
if (error) throw new Error(error.message)
return data
}
Setup (SendGrid)
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import Mail
def send_email_sendgrid(to: str, subject: str, html: str):
message = Mail(
from_email="[email protected]",
to_emails=to,
subject=subject,
html_content=html,
)
client = SendGridAPIClient(settings.SENDGRID_API_KEY)
response = client.send(message)
return response.status_code
HTML Email Templates (React Email)
// emails/WelcomeEmail.tsx
import { Html, Head, Body, Container, Text, Button, Hr } from '@react-email/components'
interface WelcomeEmailProps {
username: string
verifyUrl: string
}
export function WelcomeEmail({ username, verifyUrl }: WelcomeEmailProps) {
return (
<Html>
<Head />
<Body style={{ fontFamily: 'Arial, sans-serif', backgroundColor: '#f4f4f4' }}>
<Container style={{ maxWidth: '600px', margin: '0 auto', padding: '20px' }}>
<Text style={{ fontSize: '24px', fontWeight: 'bold', color: '#333' }}>
Welcome, {username}! 👋
</Text>
<Text style={{ color: '#666', lineHeight: '1.6' }}>
Thanks for signing up. Please verify your email address to get started.
</Text>
<Button
href={verifyUrl}
style={{
backgroundColor: '#3b82f6',
color: '#fff',
padding: '12px 24px',
borderRadius: '6px',
textDecoration: 'none',
display: 'inline-block',
}}
>
Verify Email
</Button>
<Hr />
<Text style={{ color: '#999', fontSize: '12px' }}>
If you didn't create an account, you can safely ignore this email.
</Text>
</Container>
</Body>
</Html>
)
}
// Render to HTML for sending
import { render } from '@react-email/render'
const html = render(<WelcomeEmail username="Alice" verifyUrl="https://..." />)
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.
- 10d ago First seen · 232 lines · 37 tokens per session scan A 33be9a6924a9
email-service is a skill published in the GitHub repository cohen-liel/hivemind (107 stars, last pushed 4mo ago), licensed Apache-2.0. It adds 37 tokens to every session and 1,781 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
ring:generating-release-guides
Generating an internal Operations-facing update/migration guide from the git diff between two refs, documenting per-change client impact, deploy ordering, monitoring, and rollback notes in English, pt-br, or both. Use when preparing a version release or recording what changed for the Ops team. Runs read-only by…
cancel
Cancel an active tracked Claude Code job in this repository. Args: [job-id]. Use only when the user wants to stop a queued or running Claude Code job.
cheese
Route an idea, path, pull request, issue, failure, question, or bare /cheese to the correct workflow skill. Use this skill for /cheese, routing requests, help requests, or opening messages without a named workflow skill.
decision-variance
Reconcile the project's architectural artifacts against the scaffold and prior decisions, then present each variance as a SMARTS analysis for the user to decide. Routed to when the user asks to arbitrate, reconcile, or consolidate architectural context, requests a variance report, mentions ADR conflicts, or asks which…
agent-code-simplifier
Simplifies and refines code for clarity, consistency, and maintainability while preserving behavior. Focus on recently modified code unless instructed otherwise.
pr-review-canvas
Create a OpenBitFun Canvas for reviewing a pull request, branch diff, or change set with Cursor-style diff cards, review maps, risk callouts, and focused reviewer flow. Use when the user asks for a PR review canvas, diff walkthrough, change-set overview, or visual review summary.