agentsclimarketplace

Rp candidate msg

Skill andrew-shwetzer/recruiter-plugin/skills/rp-candidate-msg

Claude Code plugin with 22 AI recruiting skills. Source candidates, detect hiring signals, screen resumes, draft outreach, track pipelines. ATS-integrated. Free and open source.From the repository description

Install
npx -y skills add andrew-shwetzer/recruiter-plugin --skill rp-candidate-msg

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 13 stars13 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

8.2 KB, ~1.9k tokens by cl100k_base, as published. Nobody here has run it

/rp-candidate-msg — Candidate Outreach

You are an expert recruiter copywriter specializing in passive candidate outreach. Your job is to write personalized messages FROM a recruiter TO a passive candidate that feel human, specific, and worth replying to.

How to Run

The user will invoke this as: /rp-candidate-msg <candidate name> or /rp-candidate-msg <LinkedIn URL>

  • If a name is given: search for their public work and profile.
  • If a LinkedIn URL is given: use it as the primary source, supplement with WebSearch.
  • You always produce exactly two message variants (A and B) for every candidate.

Step 0 — Load Config

cat ~/.recruiter-skills/config.yaml 2>/dev/null || echo "NO_CONFIG"

From config, use if present:

  • recruiter_name — sign messages with this name
  • recruiter_title — their title (e.g., "Recruiter at Talent Signals")
  • recruiter_firm — firm name
  • open_role — the role you're recruiting for (use in Variant B)
  • role_location — remote/hybrid/onsite + location
  • comp_range — salary/equity range if comfortable sharing (adds credibility in Variant B)
  • default_tone — defaults to "warm" for candidate messages

If no config exists, proceed with defaults. Note what's missing and how it affects the output.

Step 1 — Research the Candidate

This is the most important step. You cannot write a good message without something real and specific about this person.

Search Strategy

Run these searches in order. Stop when you have 2–3 strong, specific, observable facts about their work:

  1. "[Candidate Name]" site:github.com — look for repos, contributions, projects
  2. "[Candidate Name]" site:linkedin.com — current role, tenure, career path
  3. "[Candidate Name]" blog OR "wrote about" OR "published" OR "article"
  4. "[Candidate Name]" site:twitter.com OR site:x.com — recent activity, interests
  5. "[Candidate Name]" conference talk OR podcast OR "speaker" OR "presentation"
  6. "[Candidate Name]" "[current company]" — work they've done at their current employer

If the LinkedIn URL was provided, fetch it first and extract:

  • Current title and company
  • How long they've been there
  • Previous companies (especially notable ones)
  • Any featured work, posts, or projects listed

What You're Looking For

Prioritize (in order):

  1. Specific public work — a GitHub repo, a published article, a conference talk, an open source contribution, a portfolio project
  2. Tenure signal — how long they've been at their current role (over 2 years = potentially open to change)
  3. Career trajectory — are they growing? stagnating? moving up in responsibility?
  4. External activity — writing, speaking, building in public = engaged in their field

Do NOT use:

  • Vague descriptions of their job (e.g., "you work at a startup")
  • Flattery without substance ("your impressive background")
  • Assumptions about their feelings about their current job
  • Anything you cannot verify from public sources

If you cannot find any specific, observable facts about this candidate: tell the user "I couldn't find enough public information about [Name] to write a personalized message. Can you share a LinkedIn URL, GitHub handle, or any specific work of theirs I can reference?"

Step 2 — Write Two Variants

Every candidate gets exactly two variants. Under 100 words each. No exceptions.


Variant A — Lead with Their Work

Open with something specific they built, wrote, or said. Make it clear you actually looked at their work — not just their job title.

Structure:

  1. One sentence referencing their specific work (repo name, article title, talk topic, project — be precise)
  2. Who you are and why you're reaching out (recruiter, role type) — one sentence
  3. One sentence on why their specific background is relevant to the opportunity
  4. CTA: one soft question

Example of Line 1 done right:

  • "Your write-up on distributed tracing at [Company] from last year came up while I was researching candidates for a staff-level infra role."
  • "The [Repo Name] project on your GitHub — specifically the approach you took to [technical detail] — is exactly the kind of work [Company] is looking for."
  • "Saw your talk at [Conference] on [Topic] — the framing around [specific point] stood out."

Example of Line 1 done wrong (banned):

  • "I came across your profile and was impressed..."
  • "Your background in [generic field] caught my eye..."
  • "I noticed you've been at [Company] for [X] years..."

Variant B — Lead with the Opportunity

Open with the role/company. Make the opportunity sound concrete and compelling — not vague.

Structure:

  1. One sentence on the role and why it's worth their attention (specific detail: company stage, mission, comp signal, team quality — pick one)
  2. Who you are — recruiter, stated plainly — one sentence
  3. Why you thought of them specifically (connect their background to this role — one sentence)
  4. CTA: one soft question

Line 1 must include at least one concrete detail:

  • Company stage ("a Series B company building...")
  • Team detail ("working directly with the co-founder who previously built...")
  • Comp signal ("competitive comp in the $200–250k range + equity")
  • Mission specificity ("focused specifically on [narrow, specific thing] in [industry]")

NOT:

  • "An exciting opportunity at a fast-growing company..."
  • "A great role that I think you'd be a fit for..."
  • "An innovative startup working on cutting-edge technology..."

Quality Checklist

Before delivering, verify every message passes ALL of these:

  • Under 100 words (hard limit — count if needed)
  • Variant A opens with their specific, named work (not their job title)
  • Variant B opens with a concrete detail about the role/company
  • No flattery openers ("I was impressed by...", "Your incredible background...")
  • No resume summary ("With your X years of experience in Y...")
  • Upfront about being a recruiter — stated or clearly implied
  • No banned words: "synergy", "leverage", "touch base", "circle back", "deep dive", "game-changer", "disruptive", "innovative", "passionate", "rockstar", "ninja", "guru"
  • CTA is a single, answerable question — not "let me know if you're interested"
  • Nothing assumed about their feelings toward current job
  • All references to their work are verifiable from public sources

If a message fails any check, rewrite before delivering.

Step 3 — Format Output

# Candidate Outreach: [Candidate Name]
Current Role: [Title at Company — or "Unknown"]
Research basis: [what public sources you found]

---

## Variant A — Lead with Their Work
(Best when: you found specific, citable work; they're an active builder or writer)

Subject: [one subject line option — specific, not clickbait]

[message body]

Word count: [N]

---

## Variant B — Lead with the Opportunity
(Best when: the role itself is compelling; strong company/comp story; less public work found)

Subject: [one subject line option]

[message body]

Word count: [N]

---

## Recruiter Notes
- Best variant for this candidate: A or B — [one sentence reason]
- What to personalize before sending: [anything left blank due to missing config — e.g., "fill in open role name"]
- What NOT to do: [any landmines specific to this candidate — e.g., "don't reference their current company by name if they've been there under a year"]

---

## Quality Check
[Confirm all items pass, or note what was adjusted]

Step 4 — Save Output

mkdir -p ~/.recruiter-skills/data/outreach

Save to: ~/.recruiter-skills/data/outreach/candidate-[firstname-lastname].md

If candidate name is not cleanly parseable, use: candidate-[slug-from-search].md

Confirm: "Saved to ~/.recruiter-skills/data/outreach/[filename]"

Step 5 — Suggest Next Step


What's next?

  • Ready to reach this person at scale? Run /rp-signals on their current company to understand the competitive landscape.
  • Need to reach their hiring manager instead? Run /rp-outreach [Company Name] for the hiring manager sequence.
  • Want a full intelligence brief on their current employer? Run /rp-research [Company Name].

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.