Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Write personalized candidate outreach that gets replies. Use when asked to write a recruiter InMail, a candidate outreach email, a sourcing message, or a follow-up sequence. Produces a short, personalized first message (hook tied to the candidate, the role's appeal, a low-friction ask) plus a 2–3 step follow-up sequence — honest and candidate-respectful, not spammy.
.claude/skills/mohitagw15856-recruiter-outreach/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 0% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 22% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 129% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 6% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 29% | 0% |
Passive candidates ignore generic blasts. Replies come from messages that are short, clearly personalized, and about them — why this role fits their trajectory, not a copy-paste pitch. This skill writes that first message and a light follow-up sequence, with a low-friction ask that makes saying "tell me more" easy.
Given "reach out to a senior designer at a competitor for our staff design role", write the message anyway — infer a credible personalization hook and the role's genuine appeal, marking specifics (insert real detail) so the recruiter swaps in something true. Never fabricate a personal detail as if verified; never write a wall of text.
Ask for these only if they aren't already provided (else infer and label):
First message — short (think 4–6 sentences / under ~120 words):
[insert real detail]).Subject line (if email) — 2–3 options, specific not clickbait.
Follow-up sequence — 2–3 spaced messages: a gentle bump, a value-add angle (something new about the role/team), and a polite final "I'll stop here, but the door's open" — each short and non-pushy.
Notes — mark every [insert real detail]; keep claims about comp/role honest.
Candidate-sourcing practice — concise, candidate-centric personalization, benefit-led framing, low-friction asks, and respectful multi-touch follow-up.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 20,775 | 14,201 | -32% | 1 | 1 | 0% | 2,247 | 2,331 | +4% | 0 | 0 | — |
case-02 | fail→fail | 25,020 | 18,892 | -24% | 1 | 1 | 0% | 2,805 | 3,576 | +27% | 0 | 0 | — |
case-03 | fail→pass | 21,187 | 15,100 | -29% | 1 | 1 | 0% | 2,641 | 2,637 | -0% | 0 | 0 | — |
case-04 | fail→fail | 16,570 | 18,602 | +12% | 1 | 1 | 0% | 1,897 | 3,153 | +66% | 0 | 0 | — |
case-05 | fail→pass | 20,045 | 17,338 | -14% | 1 | 1 | 0% | 2,208 | 2,704 | +22% | 0 | 0 | — |
case-06 | fail→pass | 16,125 | 17,178 | +7% | 1 | 1 | 0% | 1,217 | 2,790 | +129% | 0 | 0 | — |
case-07 | fail→pass | 19,675 | 16,525 | -16% | 1 | 1 | 0% | 2,471 | 2,623 | +6% | 0 | 0 | — |
case-08 | pass→pass | 17,826 | 19,964 | +12% | 1 | 1 | 0% | 1,785 | 2,765 | +55% | 0 | 0 | — |
case-09 | fail→fail | 14,792 | 18,925 | +28% | 1 | 1 | 0% | 1,440 | 2,656 | +84% | 0 | 0 | — |
case-10 | fail→pass | 19,895 | 17,354 | -13% | 1 | 1 | 0% | 2,101 | 2,719 | +29% | 0 | 0 | — |
case-11 | fail→pass | 18,112 | 20,572 | +14% | 1 | 1 | 0% | 3,114 | 2,920 | -6% | 0 | 0 | — |
case-12 | pass→pass | 12,508 | 18,104 | +45% | 1 | 1 | 0% | 1,811 | 2,796 | +54% | 0 | 0 | — |
case-13 | fail→fail | 25,915 | 17,855 | -31% | 1 | 1 | 0% | 2,785 | 3,007 | +8% | 0 | 0 | — |
case-14 | pass→pass | 18,119 | 19,456 | +7% | 1 | 1 | 0% | 2,419 | 3,108 | +28% | 0 | 0 | — |
case-15 | fail→fail | 18,006 | 20,606 | +14% | 1 | 1 | 0% | 1,939 | 2,889 | +49% | 0 | 0 | — |
case-16 | pass→pass | 17,278 | 16,926 | -2% | 1 | 1 | 0% | 1,648 | 2,661 | +61% | 0 | 0 | — |
case-17 | fail→pass | 18,765 | 18,297 | -2% | 1 | 1 | 0% | 1,823 | 3,166 | +74% | 0 | 0 | — |
case-18 | pass→pass | 20,200 | 15,852 | -22% | 1 | 1 | 0% | 2,027 | 2,263 | +12% | 0 | 0 | — |
case-19 | fail→pass | 13,778 | 20,958 | +52% | 1 | 1 | 0% | 1,397 | 3,329 | +138% | 0 | 0 | — |
case-20 | pass→fail | 13,079 | 27,005 | +106% | 1 | 1 | 0% | 2,251 | 4,179 | +86% | 0 | 0 | — |
case-21 | pass→pass | 26,340 | 18,291 | -31% | 1 | 1 | 0% | 2,953 | 3,750 | +27% | 0 | 0 | — |
case-22 | pass→pass | 20,334 | 17,404 | -14% | 1 | 1 | 0% | 2,319 | 2,879 | +24% | 0 | 0 | — |
case-23 | pass→pass | 20,563 | 27,036 | +31% | 1 | 1 | 0% | 2,479 | 3,218 | +30% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +30 percentage points is the difference between those two pass rates over the 23 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.