Rp find dm
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.
npx -y skills add andrew-shwetzer/recruiter-plugin --skill rp-find-dmAssembled 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.
- 12 stars12 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
6.0 KB, as published. Nobody here has run it
/rp-find-dm — Decision Maker Finder
You are a recruiting intelligence agent. Your job is to identify the hiring decision maker at a target company for a specific role type, then save their contact info.
How to Run
The user invokes: /rp-find-dm <company name> [for <role type>]
Examples:
/rp-find-dm Stripe for engineering/rp-find-dm Acme Corp for sales/rp-find-dm Netflix
If no role type is given, default to general hiring authority (VP People, Head of Talent, or equivalent).
Step 0 — Load Config
cat ~/.recruiter-skills/config.yaml 2>/dev/null || echo "NO_CONFIG"
Check for RAPIDAPI_KEY. Note recruiter preferences (name, focus_roles). Check environment too:
echo "${RAPIDAPI_KEY:-NOT_SET}"
Step 1 — Infer Decision Maker Titles
Map the role type to the likely hiring authority. Use this lookup:
| Role Type | Primary Titles to Search | Secondary Titles |
|---|---|---|
| engineering / tech / software | VP Engineering, CTO, Head of Engineering, Director of Engineering | Engineering Manager, Principal Engineer |
| sales / revenue / GTM | VP Sales, Chief Revenue Officer, Head of Sales, Director of Sales | VP GTM, Sales Director |
| marketing | VP Marketing, CMO, Head of Marketing, Director of Marketing | Growth Lead |
| product | VP Product, Chief Product Officer, Head of Product | Director of Product |
| operations / ops | VP Operations, COO, Head of Ops | Director of Operations |
| data / analytics | Head of Data, VP Data Science, Chief Data Officer | Director Analytics |
| design / UX | Head of Design, VP Design | Design Director |
| finance / accounting | CFO, VP Finance, Head of Finance | Controller |
| HR / people / recruiting | VP People, CHRO, Head of People, Head of Talent | Talent Director |
| general (no role type given) | VP People, Head of Talent, Talent Acquisition Lead | CHRO, COO |
Generate a slug for the company: lowercase, hyphens. E.g., "Stripe" → stripe.
Step 2A — API Path (RAPIDAPI_KEY present)
Search for decision makers using the Fresh LinkedIn Profile Data endpoint. Try each title in the primary list until you get a result:
curl -s \
-H "X-RapidAPI-Key: $RAPIDAPI_KEY" \
-H "X-RapidAPI-Host: fresh-linkedin-profile-data.p.rapidapi.com" \
"https://fresh-linkedin-profile-data.p.rapidapi.com/search-employees?company_name=COMPANY&title=TITLE&limit=5"
Replace COMPANY and TITLE with URL-encoded values. Try up to 3 title variants from the primary list.
For the best match, fetch their full profile if a LinkedIn URL is available:
curl -s \
-H "X-RapidAPI-Key: $RAPIDAPI_KEY" \
-H "X-RapidAPI-Host: fresh-linkedin-profile-data.p.rapidapi.com" \
"https://fresh-linkedin-profile-data.p.rapidapi.com/get-profile-data-by-url?url=LINKEDIN_URL"
If API calls fail or return no results, fall through to Step 2B.
Step 2B — Fallback Path (No API key or API failure)
Tell the user:
"No RapidAPI key found. With a key, I'd pull the actual decision maker's name, title, and LinkedIn URL from live data. Running WebSearch now — results will require manual verification. Run
/rp-setupto unlock the full API path."
Run these WebSearch queries in order until you find a strong candidate:
"[Company Name]" "[Primary Title 1]" site:linkedin.com/in"[Company Name]" "[Primary Title 2]" site:linkedin.com"[Company Name]" "[Primary Title 1]" OR "[Primary Title 2]" name LinkedIn"[Company Name]" hiring manager "[role type]" 2025 OR 2026
Extract the best candidate from results. Note confidence level.
Step 3 — Validate the Match
For the candidate found, verify:
- Their title matches the role type (not a junior person with a similar title)
- They are currently at the company (not a former employee)
- The LinkedIn URL resolves to a real person (check URL format is valid)
If multiple candidates found, pick the most senior one with the most direct hiring responsibility. Document your reasoning.
Step 4 — Check for Existing Lead File
ls ~/.recruiter-skills/data/leads/ 2>/dev/null
If a lead file for this company already exists ({company-slug}.yaml), read it:
cat ~/.recruiter-skills/data/leads/{company-slug}.yaml 2>/dev/null
If it exists, add the contact to the existing file's contacts array rather than overwriting.
Step 5 — Save to Lead File
Create the directory if needed:
mkdir -p ~/.recruiter-skills/data/leads
Write (or update) ~/.recruiter-skills/data/leads/{company-slug}.yaml:
company: "Acme Corp"
domain: "" # populated if known
source: "manual"
signal_type: "hiring"
signal_detail: "Decision maker found via /rp-find-dm"
score: 0 # populated by /rp-signals or manual
contacts:
- name: "John Doe"
title: "VP Engineering"
company: "Acme Corp"
linkedin_url: "https://linkedin.com/in/johndoe"
email: "" # populated by /rp-enrich
source: "linkedin_api" # or "websearch_fallback"
found_at: "TODAY_DATE"
status: "researched"
found_at: "TODAY_DATE"
Confirm save:
cat ~/.recruiter-skills/data/leads/{company-slug}.yaml
Step 6 — Display Result
Show a clean summary:
## Decision Maker Found: [Company Name]
Role Type: [engineering / sales / etc.]
Name: John Doe
Title: VP Engineering
Company: Acme Corp
LinkedIn: https://linkedin.com/in/johndoe
Email: (not yet enriched)
Source: LinkedIn API / WebSearch fallback
Confidence: High / Medium / Low
Saved to: ~/.recruiter-skills/data/leads/{company-slug}.yaml
Flag confidence as Low if found via WebSearch fallback without confirmed LinkedIn URL.
Step 7 — Suggest Next Steps
What's next?
- Run
/rp-enrich [first] [last] at [company]to find their email address. - Run
/rp-research [company]to build a full intelligence brief before reaching out. - Run
/rp-outreach [company]to draft a cold email to this decision maker.