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
- 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.
- Second choice: Name a backup with a different angle for A/B testing.
- 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:
- Drag this file into a new chat, or copy and paste its contents
- 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