Skip to content This library is free, offered as dana. If it helps your work, donate here →

This is one of 3,622 free prompts in the penguin tree ai library. Sign up once and the whole library opens, with new prompts by email.

open the library →

Candidate sourcing message generator

Generates a set of personalized passive-candidate outreach messages for a single role — including LinkedIn InMail, cold email, and short follow-up variants — each built around a genuine personalization hook and…

download .md

Purpose

Produce a ready-to-send set of personalized outreach messages for a single passive candidate — spanning InMail, cold email, and follow-ups — that lead with a real personalization hook and a tight role pitch, so recruiters get replies from creative and marketing talent who ignore generic templates. Solves the volume-vs-personalization tradeoff: personal-sounding messages at sourcing scale.

When to Use

Invoke this skill when the user asks to:

  • Write a LinkedIn InMail to a specific passive candidate
  • Draft cold sourcing emails for a creative or marketing role
  • Turn a candidate's portfolio, post, or background into a personalized opener
  • Build an outreach sequence (first touch + follow-ups) for one prospect
  • Improve reply rates on recruiter messages that feel too templated
  • Generate outreach variants to A/B test against a candidate persona

Inputs Required

Before starting, collect:

  • Candidate name: First name (used naturally, not as a bracketed field)
  • Role being sourced: Title and level (e.g., "Senior Brand Designer," "Growth Marketing Lead")
  • Personalization hook: The one specific thing to reference — a portfolio piece, recent post, past employer, award, campaign, or shared connection
  • Company + why it's compelling: The hiring company and 1–2 genuine selling points (mission, product, team, work quality)
  • Comp/role signal (optional): Salary band, remote policy, or a standout perk that would move a passive candidate
  • Recruiter name/identity: Who the message is from — internal recruiter, agency, or founder
  • Candidate seniority signal (optional): Whether they appear happily employed, senior, or hard to poach — adjusts tone and ask

If comp or seniority signals are missing, default to a low-pressure "worth a conversation" ask and note the assumption.

Instructions

Step 1: Diagnose the Personalization Hook

The single biggest lever on reply rate is a specific, non-fakeable opener. Classify the provided hook and use the matching approach:

  • Portfolio/work hook: Reference a specific piece and one concrete detail about it (the craft choice, the result, the style). Never say "impressive portfolio."
  • Post/content hook: Quote or paraphrase a specific point they made, then connect it to the role.
  • Career-path hook: Reference a specific past role or transition and why it maps to this opportunity.
  • Mutual/context hook: Shared connection, alma mater, former company, or community — used as a bridge, not a gimmick.

If the hook is vague, sharpen it into one concrete sentence before writing. A hook that could apply to 50 people is not a hook.

Step 2: Write the Primary InMail (150–250 words)

Structure every InMail in this order:

  1. Personalized opener (1–2 sentences) — the hook, specific and human. No "I came across your profile."
  2. The bridge (1 sentence) — connect the hook to why you're reaching out about this role.
  3. The pitch (2–3 sentences) — the role and company selling points, framed around what a passive candidate cares about: better work, better team, better trajectory. Lead with substance, not the company logo.
  4. The soft ask (1 sentence) — a low-friction next step ("open to a 15-minute call?" or "worth a quick conversation?"), never "please send your resume."
  5. Sign-off — from the recruiter identity provided.

Rules: short paragraphs, one idea each; conversational, not corporate; no buzzword stacks ("rockstar," "ninja," "synergy"); no fake urgency.

Step 3: Write a Cold Email Variant (100–180 words)

Adapt the InMail into email format:

  • Subject line: 3 options — one curiosity-driven, one direct/role-specific, one referencing the hook. Under 50 characters.
  • Body: Tighter than the InMail — email readers scan faster. Same 5-part structure, compressed.
  • P.S. line (optional): A single-line reinforcement of the strongest selling point or hook — the most-read line in cold email.

Step 4: Write Two Follow-Up Messages

  • Follow-up 1 (send +3–4 days, 40–70 words): Short, adds one new piece of value or angle not in the first message. Never "just bumping this."
  • Follow-up 2 (send +7 days, 30–50 words): The polite close-the-loop message that often outperforms the original — low pressure, leaves the door open, easy yes/no.

Step 5: Add a Personalization + Send Notes Block

Provide a short block covering:

  • Which variant to lead with for this candidate profile and why
  • The one line the recruiter should double-check for accuracy before sending
  • Best send timing (day/time) for passive candidate reply rates (Tue–Thu mornings default)

Output Format

  • Structure: Labeled message blocks, each ready to copy-paste
  • Length: 450–650 words total across all messages
  • Format: Distinct sections per message with clear headers; subject lines as a short list; follow-ups clearly labeled with send timing
  • Sections: Hook framing (1–2 lines) → Primary InMail → Cold Email (with 3 subject lines) → Follow-Up 1 → Follow-Up 2 → Personalization & Send Notes
  • Tone: Human, peer-to-peer, respectful of the candidate's time — the voice of a recruiter who actually looked at their work, not a mail merge

Quality Checklist

Before delivering output, verify:

  • [ ] The personalization hook appears specifically in the opener — not paraphrased into something generic
  • [ ] No bracketed placeholders remain anywhere in any message (name and role are filled in)
  • [ ] The ask is a low-friction conversation, never "send your resume" or "apply here"
  • [ ] Cold email includes exactly 3 subject lines, each under 50 characters
  • [ ] Both follow-ups add a new angle — neither is a "just checking in" message
  • [ ] No banned buzzwords (rockstar, ninja, guru, synergy) and no fake urgency

Notes

  • For senior or clearly happily-employed candidates, dial down the ask entirely — "not looking to pitch you, just wanted to open a door" outperforms a hard sell
  • Creative and marketing talent are especially allergic to templated outreach; if the hook is weak, response rate collapses regardless of the offer — push to sharpen it before generating
  • The +7 day follow-up frequently gets more replies than the first message; recruiters who stop after one touch leave the majority of responses on the table
  • Keep the strongest selling point in the first two lines — many candidates read only the preview pane

How to use this skill

This file is a Claude Code skill in Anthropic's standard format — markdown with YAML frontmatter at the top.

Installing in Claude Code:

  • ~/.claude/skills/<folder-name>/SKILL.md — auto-loads in every session anywhere on your machine (recommended for skills you'll use across multiple projects)
  • <your-project>/.claude/skills/<folder-name>/SKILL.md — auto-loads only when working in that project (recommended for project-specific skills)

Restart Claude Code or open a new session to register.

Using in Claude.ai, ChatGPT, Gemini, or other AI tools:

  1. Drag this file into a new chat, or copy and paste its contents
  2. Send your task or request as your next message — the AI will apply the skill where it fits

For Claude Code skill details: https://docs.anthropic.com/en/docs/claude-code/skills