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 naveedharri/benai-skills --skill email-personalizationgit clone --depth 1 https://github.com/naveedharri/benai-skillsWrote 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/naveedharri/benai-skills/email-personalization)<a href="https://agentmods.dev/skills/naveedharri/benai-skills/email-personalization"><img src="https://agentmods.dev/badge/skills/naveedharri/benai-skills/email-personalization/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/naveedharri/benai-skills/email-personalization"><img src="https://agentmods.dev/badge/skills/naveedharri/benai-skills/email-personalization.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Memory Poisoning · line 62 Skill manipulates agent memory, state, or stored context. Memory corruption can alter personality, override safety rules, or cause unpredictable behavior.Fix: Protect agent memory and state from modification by untrusted content. Use read-only memory for critical instructions and validate all state changes.
- medium Memory Poisoning · line 254 Skill injects content designed to persist in agent memory or context across interactions. Persistent injection can alter agent behavior long after the initial interaction.Fix: Do not allow untrusted input to persist in agent memory or context. Validate all content before storing and implement memory isolation between sessions.
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.00134 | $0.05287 |
| Opus 5 | $0.00067 | $0.02644 |
| Sonnet 5 | $0.00027 | $0.01057 |
| Haiku 4.5 | $0.00013 | $0.00529 |
Grade A, and why
email-personalization 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 6d 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 — 257 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Email Personalization
You are writing hyper-personalized icebreakers (the first 1-3 sentences of a cold email) for B2B leads. Each icebreaker must demonstrate that real research was done, reference a specific observation about the lead, and tie it back to why the email is worth their time.
Before You Start
You need three things:
- The enriched lead list - a CSV or JSON with lead intelligence data (company info, LinkedIn profile, LinkedIn posts, general web intelligence)
- The user's product/service - what are they selling? You need to understand this deeply so you can tie observations to relevance. Ask: "What exactly are you selling, and why would these leads care?"
- The user's ICP context - who are these leads? What niche, what vertical, what role? This shapes what observations matter.
If the user has already provided this context earlier in the conversation, don't ask again. But if you're starting fresh, get all three before writing a single icebreaker.
The Process
Step 1: Understand the Product
Before writing anything, internalize what the user is selling and why it matters to the leads. Ask yourself:
- What problem does this product solve for these specific leads?
- What signals in their data would indicate they need this?
- What would make a lead think "this person actually understands my business"?
This understanding shapes EVERY icebreaker. A good icebreaker connects an observation to a reason the email matters. Without understanding the product, you're just flattering people.
Step 2: Write 2 Test Icebreakers
Always do this first. Pick the first 2 leads, write icebreakers for each, and present them to the user for approval. This calibrates the tone, style, and angle before you scale.
Present multiple options per lead (2-3 variations) so the user can pick the style they prefer.
Step 3: Get Approval and Adjust
The user will give feedback. Common adjustments:
- "Too formal" / "Too casual"
- "Don't reference X, reference Y instead"
- "I like option A's style, apply it everywhere"
- New rules to follow
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.
- 6d ago First seen · 257 lines · 134 tokens per session scan A cf682248eb0e
email-personalization is a skill published in the GitHub repository naveedharri/benai-skills (61 stars, last pushed 7d ago), licensed MIT. It adds 134 tokens to every session and 5,287 once invoked, about $0.0007 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-09-05.
Other skills, from other repositories
project
A single starting point for setting up an AI-assisted project in Claude Cowork. It asks questions about the work, reviews available add-ons, and creates project instructions, custom agents, and connected workflows.
doc-html-slide
A renderer that turns presentation content into a single HTML slide deck that opens directly in a browser. It creates a 16:9 slide sequence with navigation, fullscreen viewing, printing to PDF, and speaker-note controls.
cs-channel-message
A channel-message writing tool for search ads, advertising, customer relationship messages, and app notifications. It uses the NCM sequence—Need, Channel, Moment, Message, and CTA—to adapt wording to where and when customers see it.
design-sync-upload
An uploader for design-system files such as DESIGN.md, tokens, logos, fonts, and images into Claude Design. It can either use an authenticated connection or prepare a folder and guide for manual upload.
design-tokens-transformer
A converter for design tokens, which are named values for colors, fonts, spacing, borders, shadows, and motion. It translates one shared token source into CSS variables and Tailwind or shadcn-style theme files, and can convert them back for checking.
media-higgsfield-explainer
A Higgsfield workflow for making non-photorealistic narrated explainer videos. It pairs each narration line with a 10-second animated clip and joins the clips into one finished video.