agentleFS
sami2919sami2919/SignalForce/skills/email-writer/SKILL.md

email-writer

Skill9 starsChanged 3 months agoMITView on GitHub

Use when generating outreach emails for target accounts, when personalizing email copy based on detected signals, or when creating A/B test variants for cold email campaigns

7 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

8 rules. 0 are common, 8 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 4 edited versions we read keep these.

  • 8

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Write like a peer, not a vendor: Use contractions. Read it aloud.

    line 39
  2. Distinctive:

    Personalization must connect to the problem: If you remove the personalized opening and the email still makes sense, the personalization …

    line 41
  3. Distinctive:

    Should look like it came from a colleague, not a vendor

    line 50
  4. Distinctive:

    Never: product pitches, urgency words, emojis, ALL CAPS

    line 52
  5. Distinctive:

    Never: "I hope this email finds you well", "I noticed your company", "touching base"

    line 59
  6. Distinctive:

    When a reply comes in, classify and respond within the SLA:

    line 63
  7. Distinctive:

    When generating variants, design them as testable splits:

    line 76
  8. Distinctive:

    Before outputting, verify each email:

    line 89

“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “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

Email Writer

Input

  • Signal type: github | arxiv | hiring | funding | huggingface | champion-job-change
  • Signal payload: specific repo/paper/job title/funding round (be precise)
  • Contact: name, title, company
  • Company research output from prospect-researcher

Template Selection

Signal TypeTemplate
Any signal + technical buyerconfig/templates/email-sequences/resource-offer-signal.md (RECOMMENDED)
GitHub repo activityconfig/templates/email-sequences/github-signal.md
ArXiv paperconfig/templates/email-sequences/arxiv-paper-signal.md
Job postingconfig/templates/email-sequences/hiring-signal.md
Funding roundconfig/templates/email-sequences/funding-signal.md
HuggingFace model uploadconfig/templates/email-sequences/huggingface-model-signal.md
Champion changed jobsconfig/templates/email-sequences/champion-job-change.md

Resource-first outreach gets 50% reply rates vs. 8-15% for demo asks. Default to resource-offer-signal.md for ICP Tier 1 and Tier 3. Use signal-specific templates when the prospect is already in a demo pipeline or has explicitly requested product information.

Generate 3 Variants

For each variant, write a full 3-email sequence (initial + follow-up 1 + follow-up 2):

  • Variant A — Problem: Lead with the pain point their signal reveals
  • Variant B — Outcome: Lead with a proof point (Kore.ai: 91% improvement)
  • Variant C — Social Proof: Lead with a peer company or co-author signal

Writing Principles

  • Write like a peer, not a vendor. Use contractions. Read it aloud. If it sounds like marketing copy, rewrite it.
  • Every sentence must earn its place. Cold email is ruthlessly short. If a sentence doesn't move the reader toward replying, cut it.
  • Personalization must connect to the problem. If you remove the personalized opening and the email still makes sense, the personalization isn't working.
  • Lead with their world, not yours. "You/your" should dominate over "I/we." Don't open with who you are.
  • One ask, low friction. Interest-based CTAs ("Worth exploring?" / "Would this be useful?") beat meeting requests.

Subject Lines

Short, boring, internal-looking. The subject line's only job is to get the email opened.

  • 2-4 words, lowercase, no punctuation
  • Should look like it came from a colleague, not a vendor
  • Examples: "reply rates", "hiring ops", "Q2 forecast", "environment question"
  • Never: product pitches, urgency words, emojis, ALL CAPS

Voice Rules (from config/gtm-context.md)

  • 4 sentences max on initial email
  • Reference their specific technical work (repo name, paper title, job req language)
  • Low-friction CTA: "worth a 20-minute call?" not "schedule a demo"
  • Never: "I hope this email finds you well", "I noticed your company", "touching base"

Response Handling

When a reply comes in, classify and respond within the SLA:

Reply TypeSLAAction
Positive ("Yes, let's talk")5 minBook meeting, send calendar link
Curious ("Tell me more")1 hrSend one proof point, re-offer value
Objection ("Too small/early")Same dayAcknowledge → brief proof → micro-commit
Timing ("Not now, Q3")Same daySet reminder, polite close
Referral ("Talk to our CTO")1 hrReach out to referral, mention introducer
Hard no24 hrPolite close, mark in CRM

A/B Testing

When generating variants, design them as testable splits:

ElementTest Approach
Subject linesQuestion vs. statement
First lineSignal-reference vs. pain-point vs. question
CTADirect ask vs. soft offer vs. value offer
LengthShort (50w) vs. medium (100w)

Send 50/50 split to first 100 prospects. Wait 48h, measure opens + replies. Winner goes to remaining list.

Quality Checklist

Before outputting, verify each email:

  • References specific signal (not generic "I noticed you work in this domain")
  • ≤4 sentences in initial outreach
  • No banned phrases
  • CTA is low-friction and specific
  • Subject line is 2-4 words, lowercase, no punctuation
  • Personalization connects to the problem (not decorative)
  • "You/your" dominates over "I/we"

Output

Present all 3 variants with their 3-email sequences. End with:

Recommended pick: [Variant X] — [one-sentence rationale tied to their specific signal/ICP tier]

A/B test suggestion: [Which element to test first and why]

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.