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 personalization hook generator

Generates 8 personalized opening hooks for cold candidate outreach across 5 signal types — drawn from GitHub activity, LinkedIn profile details, published work, conference talks, and career moves — each labeled by…

download .md

Purpose

Generate a set of specific, non-generic opening lines for cold candidate outreach — each anchored to a real detail from the candidate's public activity — so recruiters can open with a hook that proves they actually looked, instead of "I came across your profile and was impressed." Eliminates the blank-first-line problem that tanks reply rates.

When to Use

Invoke this skill when the user asks to:

  • Write the opening line or hook for a cold candidate outreach message
  • Personalize a sourcing email or LinkedIn InMail based on a candidate's background
  • Reference a candidate's GitHub repos, contributions, or open-source work in outreach
  • Turn a candidate's published article, talk, or portfolio into an outreach angle
  • Improve reply rates by making cold outreach feel researched instead of templated
  • Generate multiple hook options to A/B test against a candidate segment

Inputs Required

Before starting, collect:

  • Candidate signals: Raw material to personalize from — GitHub username/repos, LinkedIn profile details, published articles, conference talks, portfolio links, or a pasted bio
  • Role being sourced for: Title and the 1–2 skills or experiences that make this candidate relevant
  • Company context: One sentence on what the hiring company does and why a strong candidate would care
  • Tone: Casual/peer-to-peer, warm/professional, or direct/no-fluff
  • Channel: LinkedIn InMail, cold email, or Twitter/X DM (affects length constraints)
  • What to avoid: Anything the candidate might find creepy, over-familiar, or off-limits (e.g., don't reference personal social media)

If tone or channel is missing, default to warm/professional on LinkedIn InMail and note the assumption.

Instructions

Generate 8 Hooks Across 5 Signal Types

For each hook, include:

  • The opening line, fully written for this candidate (not a template with brackets)
  • Signal source: Which piece of activity it draws from
  • Specificity level: High (names a specific artifact) / Medium (references a theme) / Low (references a general fact)

Prioritize High-specificity hooks. A hook that could apply to 100 other candidates is a failed hook.


Signal Type 1 — GitHub / Open-Source Activity (2 hooks) Anchor to something concrete in their code work: a specific repo, a notable contribution, a language/framework pattern, a well-starred project, or consistent activity in a particular ecosystem.

  • Reference the specific thing — repo name, what it does, the problem it solves — not "your impressive GitHub"
  • Connect the technical work to the role's actual challenges when possible
  • Avoid over-technical flattery that reads as scraped; sound like someone who understood what they built

Signal Type 2 — LinkedIn Profile & Career Signals (2 hooks) Anchor to a career move, tenure pattern, project mentioned in their experience, a skill combination, or a stated interest.

  • Best angles: a recent role change, an unusual/valuable skill combination, or a project they described in their own words
  • Avoid generic tenure flattery ("noticed you've been at X for 5 years") unless paired with a specific reason it matters
  • If they list a side project or interest, that's often the strongest hook

Signal Type 3 — Published Work & Writing (2 hooks) Anchor to a blog post, technical article, documentation, newsletter, or paper they wrote.

  • Reference a specific idea or takeaway from the piece — prove you read past the title
  • Connect their point of view to the work or team they'd be joining
  • This is the highest-trust signal type: writers respond well when their ideas are engaged with, not just complimented

Signal Type 4 — Talks, Podcasts & Community Activity (1 hook) Anchor to a conference talk, meetup, podcast appearance, or an active role in a technical community.

  • Reference the specific talk or topic, ideally with one detail that shows you engaged with the content
  • Community-active candidates value being recognized for the contribution, not just the visibility

Signal Type 5 — Portfolio, Products & Shipped Work (1 hook) Anchor to a product they built or shipped, a Show HN, a Product Hunt launch, a design portfolio, or a side business.

  • Reference what the thing does and what's impressive about the execution
  • Builders respond to specificity about the craft — mention a detail only someone who looked would notice

After Generating: Rank and Recommend

  1. Top pick: Name the single strongest hook and explain in 2 sentences why it will earn a reply — tie it to specificity and relevance to the role.
  2. Second choice: Name a backup with a different angle for A/B testing.
  3. Avoid-list check: Confirm no hook crosses into over-familiar or creepy territory based on the "what to avoid" input.

Output Format

  • Structure: 5 labeled signal-type sections with hooks numbered and labeled by source + specificity; ranked recommendation at the end
  • Length: 500–800 words
  • Format: Scannable list — each hook as a quotable line with its labels, not buried in prose
  • Sections: 5 signal-type hook groups → Top pick → Second choice → Avoid-list check
  • Tone: Match the requested outreach tone in the hooks themselves; keep the labels and recommendation crisp and practical

Quality Checklist

Before delivering output, verify:

  • [ ] All 8 hooks are generated (count them; signal-type counts are 2, 2, 2, 1, 1)
  • [ ] Every hook references a specific artifact or detail from the provided signals — none are generic enough to reuse on another candidate
  • [ ] No hook contains bracket placeholders — each is fully written for this candidate
  • [ ] Each hook is labeled with signal source and specificity level
  • [ ] At least half the hooks are High-specificity
  • [ ] Top pick and second choice are named with reasoning, and the avoid-list is checked

Notes

  • Published work and open-source contributions are the highest-converting signal types — writers and builders respond to genuine engagement with their work, not compliments
  • The fastest way to sound scraped is to praise a metric (stars, followers, tenure) without engaging the substance; always reference what they made or said, not just that they made it
  • If the provided signals are thin, ask for a GitHub or a published link before generating — a hook is only as good as the detail behind it
  • Keep hooks to 1–2 sentences; the hook opens the message, it isn't the whole pitch

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