Install
$ agentstack add skill-mikefluff-skills-cold-email ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Write a cold email that gets read and responded to. Not viral content (use viral-text). Not formal corporate (use tone-shifter --to business-formal). A direct, one-to-one message with a specific ask.
The contract: the recipient must be able to read it in 15 seconds and decide whether to act. Every word that doesn't earn that 15 seconds is a tax.
Use this skill when the user is writing:
- a first-touch outreach (founder → VC, candidate → recruiter, writer → editor, partner → partner)
- a follow-up to a non-response
- an intro request through a mutual connection
- a warm-intro template (the "forwardable" email)
- a re-engagement after a long pause
This skill does NOT:
- write viral posts (use
viral-text) - write long-form essays (use
essay-write) - shift register of existing content (use
tone-shifter) - write fiction outreach (DM to an author, fan letter) — those need a different voice.
ROLE
Read context (who is the recipient, what's the ask, what's the proof) → assemble the email with the 5-block structure → respect the length budget → run the banned-patterns check → final pass through writer.
PIPELINE
- Gather intent. Ask if not provided: (a) who is the recipient (role + context), (b) what is the one ask, (c) what is the proof / hook / why-now, (d) is this first-touch, follow-up, intro request, or re-engagement.
- Pick structure. See
references/structure.mdfor the 5-block template adapted to the email type. First-touch and follow-up have different leads.
- Length-budget check. See
references/length-budget.md. Hard cap: 200 words. Target: ≤120 words for first-touch. If draft exceeds budget, cut — see the cut-list in length-budget.md.
- Banned-patterns check. See
references/banned-patterns.md. Strip ceremony, hedges, vague intros, "I hope this email finds you well", "Hope you're doing great", "Just checking in".
- Final
writerpass. 4-layer cleanup. Even more strict than usual: cold email has no slack for slop.
Delete the water, not the function. The ask, the easy-yes, the proof link and the sign-off are the email's working parts. Writer's default treatment is deletion; applied here it produces a polished note that requests nothing. Treat them by replacement or simplification. After the pass, verify the ask is still present and still specific. See forbidden-substitutions.md in the writer skill.
- Output. Subject line + body. Subject line follows its own rules (see
references/structure.mdsection 6).
MODES
cold-email first-touch --ask --proof— initial outreachcold-email follow-up— write a follow-up that doesn't repeat the originalcold-email intro-request --asking-for --why— ask a mutual contactcold-email forwardable --ask— the "forwardable" template designed to be pasted by the intro-giver into a separate threadcold-email re-engage— re-open after silence
REFERENCES (load on demand)
| File | When to load | |---|---| | [references/structure.md](references/structure.md) | When assembling the email — 5-block template per type, subject-line rules | | [references/banned-patterns.md](references/banned-patterns.md) | After draft is assembled — the strip pass | | [references/length-budget.md](references/length-budget.md) | When the draft exceeds 120/200 words — the cut-list |
EXAMPLES
See [examples/](examples/) — three calibration emails (first-touch, follow-up, intro-request).
CONSTRAINTS
- One ask per email. If the user wants two asks, write two emails.
- No multi-paragraph windups. The first sentence must contain a hook or be the hook. No "I'm reaching out because I've been a longtime admirer of your work in X."
- Proof must be specific. "We grew 4x in 6 months" beats "We've grown significantly." "I wrote the iOS chapter of Y" beats "I have experience in mobile."
- Subject line must NOT include "Quick question", "Touching base", "Hi", or the recipient's name as a desperate hook. See structure.md section 6.
- Sign-off plain. "Best, Name" or "Thanks, Name". Not "Cheers, Name" unless it matches your voice. Not "Warm regards" unless you genuinely use it.
INVOCATION HINTS
When the user says any of:
- "write a cold email / outreach / pitch / intro request"
- "help me email this [VC / recruiter / journalist / founder]"
- "draft an outreach to ..."
- "write a follow-up to ..."
- "intro me to X via Y"
- "warm intro template"
RU triggers (use the skill when the user writes any of):
- "холодное письмо / холодный аутрич / письмо инвестору / письмо рекрутёру"
- "напиши outreach / напиши письмо ..."
- "фоллоу-ап / фолоуап / follow-up к ..."
- "интро через X к Y / попроси Y представить меня"
- "переоткрыть переписку / re-engage"
- "перепиши это письмо короче и без воды"
Use this skill. If the message is internal (manager, team, peer who already knows you), use tone-shifter with target friendly-professional instead.
For RU outreach (formal register, отчества, обращение «вы»), see [references/structure-ru.md](references/structure-ru.md) — it overrides a few defaults from structure.md (greeting, sign-off, ceremony bans).
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Mikefluff
- Source: Mikefluff/skills
- License: MIT
- Homepage: https://www.npmjs.com/package/@mikefluff/skills
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.