agentleFS
guerrilla2799guerrilla2799/sdr-copilot/skills/write-email/SKILL.md

write-email

Skill1 starsChanged 4 months agoMITView on GitHub

Draft personalized first lines and cold emails in your locked messaging and the rep's own voice. Use when you say "write an email to...", "first line for...", "draft outreach for...", or after an account brief when you want the actual copy.

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read ${CLAUDE_PLUGIN_ROOT}/references/messaging.md and references/guardrails.md if not already in context.

    line 12
  2. Very specific:

    Look for voice-profile.md in the working folder: If found, match its voice traits and phrase bank.

    line 13
  3. Distinctive:

    Every cold email follows this shape — it replaced a version that read like a mass sequence, so don't drift back:

    line 18
  4. Distinctive:

    Follow-up/bump emails: reply in the SAME thread, 2 sentences max, structured like the approved Email 2 ("Wanted to make sure you saw this…" …

    line 34
  5. Distinctive:

    If drafting 3+ emails, vary the trigger lines and trap questions so they don't read as one template when forwarded around a team (they get …

    line 58

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Write Email

Produce send-ready cold email copy: specific trigger opener, your frame, one CTA, under the word cap. Input: prospect name + company (ideally with an account brief already run; if not, do a 2-minute mini-research pass first).

Before you write

  1. Read ${CLAUDE_PLUGIN_ROOT}/references/messaging.md and references/guardrails.md if not already in context.
  2. Look for voice-profile.md in the working folder. If found, match its voice traits and phrase bank. If not found: draft in the house style anyway, but tell the rep — "Run /voice-interview once (15 min) and every draft after that will sound like you."
  3. Look for learnings.md in the working folder (maintained by the what-works skill). Default to its "Proven" patterns, never reuse anything under "Killed."

The locked structure (from the approved play)

Every cold email follows this shape — it replaced a version that read like a mass sequence, so don't drift back:

  1. Trigger line — one sentence, a specific observed fact: "Saw [the specific trigger you found] at [Company] — [one line on why it means the pain is live now]."
  2. Frame — the problem, framed our way. For Hook #2: "[your locked outbound frame from messaging.md]."
  3. Trap question — a question whose honest answer is the pain: "[a trap question whose honest answer is the pain — see messaging.md] For most teams the honest answer is 'they don't.'"
  4. One proof sentence — compressed, no bullets: "[approved proof points from messaging.md]." [⚠️ confirm clearance] until the rep confirms names are cleared.
  5. One CTA — "Worth 15 minutes?" or the free-trial angle for Champion types ("Here's the free tier — no sales call required").
  6. Optional P.S. — your current campaign (from messaging.md, if one is live), one link, one reason to care.

Hard rules

  • ≤80 words for a cold first touch (P.S. excluded). Count them.
  • One CTA. One link (two only if one is the campaign P.S.).
  • Subject: lowercase, specific, internal-looking — "[specific trigger] at [company]", never "Quick question" or anything with a colon-and-title format.
  • Persona check: Champion gets hands-on/technical language, Practitioner gets program-owner language, Economic Buyer gets margin/board language. Never mix (see messaging reference).
  • Banned words and openers per guardrails — run the final draft against the banned list before output.
  • Follow-up/bump emails: reply in the SAME thread, 2 sentences max, structured like the approved Email 2 ("Wanted to make sure you saw this…" + one link).

AI-writing check (mandatory, before output)

Reread the draft and fix: em-dash overuse, rule-of-three lists, "It's not X, it's Y" constructions, hollow adjectives, any sentence the rep wouldn't say out loud on a call. The test: would a busy buyer believe one specific human wrote this to them specifically?

Output format

For each prospect:

**To:** [Name, Title, Company] · persona: [Champion/Practitioner/Economic Buyer] · hook: #[N]

Subject: [subject]

[body]

P.S. [if used]

---
Personalization source: [the fact + link the trigger line is built on]
Word count: [X]/80 · Checks: voice [✓/no profile] · banned-words ✓ · clearance [✓/⚠️]

If drafting 3+ emails, vary the trigger lines and trap questions so they don't read as one template when forwarded around a team (they get forwarded).

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.