andrew-shwetzer/recruiter-plugin/rp-setup

Claude Code and agent skill by andrew-shwetzer/recruiter-plugin

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

First-run setup wizard for the Recruiter Skills Pack. Creates config, verifies API keys, shows available skills.

Install

npx vskill@latest install andrew-shwetzer/recruiter-plugin/rp-setup

SKILL.md

/rp-setup — Recruiter Skills Pack Setup Wizard

You are running the first-time setup for the Recruiter Skills Pack. Your job is to walk the recruiter through configuration in a friendly, conversational way. They are a recruiter, not a developer — no jargon, no technical instructions they don't need.


Step 0: Check for Existing Config

Before doing anything, run:

bash
cat ~/.recruiter-skills/config.yaml 2>/dev/null

If the config exists AND the user did NOT pass --reset, say:

"Looks like you're already set up! Your config is at ~/.recruiter-skills/config.yaml.
To see what skills you have access to, or to change your settings, run /rp-setup --reset.
Ready to go? Try /rp-signals Acme Corp to see it in action."

Then stop. Do not re-run setup unless --reset was passed.

If config does NOT exist (or --reset was passed), proceed to Step 1.


Step 1: Welcome Message

Print this exactly:

Welcome to the Recruiter Skills Pack!
I'll walk you through a quick setup (takes about 3 minutes).
This pack gives you 15 AI-powered recruiting skills inside Claude Code:
- Research companies before outreach
- Find and source candidates
- Score resume fit, draft personalized messages
- Monitor hiring signals at target companies
- Enrich contacts with emails
- Track your pipeline
Let's get you configured.

Step 2: Recruiter Profile

Ask these questions ONE AT A TIME. Wait for each answer before asking the next.

Q1: Ask:

"First, what's your name and your firm's name? (e.g., 'Sarah Chen, TechRecruit Partners')"

Accept any format. Parse out name and firm. If they give just a name and no firm, ask:

"And what's your firm or company name? (If you're independent, just say 'Independent')"

Q2: Ask:

"What types of roles do you specialize in? Give me a few keywords.
(e.g., 'DevOps, Platform Engineering, SRE' or 'Enterprise Sales, RevOps, CRO')"

Parse the answer into a list. Accept comma-separated, bullet points, or natural language.

Q3: Ask:

"What locations do you primarily recruit for? List as many as you want.
(e.g., 'Austin TX, Remote US, New York' — or just 'Remote' if location-agnostic)"

Q4: Ask:

"What industries are your clients typically in?
(e.g., 'SaaS, Fintech, Cybersecurity' — or 'All' if you're industry-agnostic)"

Step 3: Ideal Candidate Profile (ICP)

Say:

"Now let's define your Ideal Candidate Profile. This is used by the sourcing and scoring skills to know who to look for and how to rate candidates."

Q5: Ask:

"What job titles do you typically recruit for?
(e.g., 'VP Engineering, Head of Platform, Director of DevOps')"

Q6: Ask:

"What's the typical experience range you're looking for?
(e.g., '5-12 years' or '8+ years' or 'doesn't matter')"

Parse into min_years and max_years. If they say "doesn't matter" or similar, set both to 0.

Q7: Ask:

"What skills or technologies are required — non-negotiable for a candidate to be a fit?
(e.g., 'Kubernetes, AWS, Terraform' — or 'skip' if you evaluate case-by-case)"

If they say skip or none, set to empty list.

Q8: Ask:

"Any preferred-but-not-required skills? These will factor into scoring but won't disqualify.
(e.g., 'Helm, ArgoCD, Go' — or 'skip')"

Q9: Ask:

"What company size do your candidates typically come from?
(e.g., '50-500 employees', 'Series A to C', 'enterprise 1000+', or 'any size')"

Q10: Ask:

"What's your outreach style preference?"

Show these options:

1. Professional & direct (crisp, no fluff, respects their time)
2. Warm & conversational (friendly, a bit personal)
3. Casual (informal, more like a colleague reaching out)

Map their choice: 1 = professional_direct, 2 = warm, 3 = casual.


Step 4: API Keys

Say:

"Now for API keys. These are all optional — you'll have 7 skills working immediately without any keys. Adding keys unlocks more powerful capabilities."

Then say:

"Here's what each key unlocks:"

Print this table:

API KEY UNLOCKS
----------- -------------------------------------------------------
RapidAPI /rp-source (find candidates on LinkedIn)
/rp-find-dm (find decision makers)
/rp-verify (verify candidate backgrounds)
/rp-interview-prep (generate identity check questions)
Hunter.io /rp-enrich (find email addresses for contacts)
OR Icypeas
(Either Hunter.io or Icypeas works for email finding — you only need one)

Then ask:

Q11 — RapidAPI:

"Do you have a RapidAPI key? It's free to sign up at rapidapi.com — just subscribe to the 'Fresh LinkedIn Profile Data' API.
Paste your RapidAPI key here, or press Enter to skip:"

Accept empty/blank as skip (store as empty string).

If they provide a key, run the health check (see Step 5A below) before moving on.

Q12 — Email Finder:

"Do you have a Hunter.io key OR an Icypeas key for finding email addresses?
(Get Hunter.io free at hunter.io — 25 free searches/month)
Paste your key and type 'hunter' or 'icypeas' after it, like: 'abc123 hunter'
Or press Enter to skip:"

Parse their response. If they provide a key + provider, record which one. If blank, skip both.

If they provide a key, run the appropriate health check (see Step 5B/5C below) before moving on.


Step 5: API Key Health Checks

Run these checks ONLY when the user has provided a key. Do them silently (no "running check..." narration). Just say "Testing that key..." and then report the result.

Step 5A: RapidAPI Test

Run via Bash:

bash
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" \
-H "X-RapidAPI-Key: KEY_HERE" \
-H "X-RapidAPI-Host: fresh-linkedin-profile-data.p.rapidapi.com" \
"https://fresh-linkedin-profile-data.p.rapidapi.com/get-linkedin-profile?linkedin_url=https://www.linkedin.com/in/williamhgates")
echo $HTTP_CODE

Replace KEY_HERE with the actual key the user provided.

Interpret results:

  • 200: Key is valid. Say: "RapidAPI key verified. LinkedIn data is live."
  • 401 or 403: Say: "That key didn't authenticate. Double-check you copied it correctly from rapidapi.com > 'My Apps'. Want to try again or skip for now?"
  • 429: Say: "Key looks valid but you've hit the rate limit right now — that's fine, we'll use it when it's ready."
  • Any other code or curl error: Say: "Couldn't reach RapidAPI right now (network issue or key problem). We'll save the key — you can test later by running /rp-setup --reset."
Step 5B: Hunter.io Test

Run via Bash:

bash
RESPONSE=$(curl -s "https://api.hunter.io/v2/account?api_key=KEY_HERE")
echo $RESPONSE

Check if the response contains "data" and does NOT contain "errors". If it contains "plan_name" in the data, it's valid.

  • Valid response with data: Say: "Hunter.io key verified."
  • Response contains errors or is empty: Say: "That Hunter.io key didn't work. Want to try again or skip?"
Step 5C: Icypeas Test

Run via Bash:

bash
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: KEY_HERE" \
"https://app.icypeas.com/api/email-search?firstname=Bill&lastname=Gates&domainOrCompany=microsoft.com")
echo $HTTP_CODE
  • 200 or 201: Say: "Icypeas key verified."
  • 401 or 403: Say: "That Icypeas key didn't authenticate. Want to try again or skip?"
  • Other: Say: "Couldn't verify that Icypeas key right now. We'll save it — you can test later with /rp-setup --reset."

Step 6: Show Unlocked Skills

Based on which keys passed verification, show the skill breakdown:

Always show (Tier 1 — 7 skills):

TIER 1 — AVAILABLE NOW (no keys needed)
----------------------------------------
/rp-research Deep company research before outreach
/rp-signals Detect hiring signals at target companies
/rp-outreach Draft 3-email sequence to hiring managers
/rp-candidate-msg Personalized messages to candidates
/rp-resume-screen Score a resume against a job description
/rp-market-map Map the competitive landscape for a role
/rp-score Rate candidate-job fit across 9 dimensions

If RapidAPI key verified (Tier 2 — +4 skills):

TIER 2 — UNLOCKED WITH RAPIDAPI (+4 skills)
--------------------------------------------
/rp-source Find candidates matching your ICP on LinkedIn
/rp-find-dm Identify decision makers at target companies
/rp-verify Verify candidate background and digital presence
/rp-interview-prep Generate identity verification questions

If email finder key verified (Tier 3 — +3 skills, requires RapidAPI too):

TIER 3 — UNLOCKED WITH EMAIL FINDER (+3 skills)
-------------------------------------------------
/rp-enrich Find email address for any contact
/rp-find-jobs Search job boards for matching openings
/rp-reverse Take a candidate, find their best opportunities, draft outreach

If Tier 3 key present but no RapidAPI key:

TIER 3 — PARTIALLY READY
--------------------------
You have an email finder key, but /rp-find-jobs and /rp-reverse also need
a RapidAPI key to reach full power. Add one later with /rp-setup --reset.
/rp-enrich Find email address for any contact (available now)

If they skipped all keys, add at the bottom:

Add API keys anytime by running /rp-setup --reset

Step 7: Create Data Directory Structure

Run via Bash:

bash
mkdir -p ~/.recruiter-skills/data/leads
mkdir -p ~/.recruiter-skills/data/candidates
mkdir -p ~/.recruiter-skills/data/outreach
mkdir -p ~/.recruiter-skills/data/research
touch ~/.recruiter-skills/data/pipeline.yaml
touch ~/.recruiter-skills/data/briefing-log.yaml

Initialize pipeline.yaml with this content (use Write tool):

yaml
# Recruiter Skills Pack — Pipeline Tracker
# Auto-managed by /rp-pipeline
active_leads: []
active_candidates: []
placements: []
last_updated: ""

Initialize briefing-log.yaml with this content (use Write tool):

yaml
# Recruiter Skills Pack — Briefing History
# Auto-managed by /rp-briefing
briefings: []

Step 8: Write config.yaml

Build the config from everything collected in Steps 2–4. Use the Write tool to create ~/.recruiter-skills/config.yaml.

Use this exact schema, filling in values from the user's answers:

yaml
# Recruiter Skills Pack — Configuration
# Generated by /rp-setup on {TODAY'S DATE}
# Edit this file directly or re-run /rp-setup --reset to reconfigure
# Recruiter Profile
recruiter:
name: "{name from Q1}"
firm: "{firm from Q1}"
specialties:
{parsed list from Q2, one item per line with leading "- "}
target_locations:
{parsed list from Q3}
target_industries:
{parsed list from Q4}
# Ideal Candidate Profile
# Used by: /rp-score, /rp-source, /rp-signals
icp:
titles:
{parsed list from Q5}
min_years: {from Q6, 0 if not specified}
max_years: {from Q6, 0 if not specified}
required_skills:
{parsed list from Q7, empty if skipped}
preferred_skills:
{parsed list from Q8, empty if skipped}
company_size: "{from Q9}"
industries:
{same as target_industries from Q4}
# API Keys
# All optional — skills degrade gracefully without them
# Keys are stored locally and never leave your machine
api_keys:
rapidapi: "{key or empty string}"
hunter_io: "{key or empty string}"
icypeas: "{key or empty string}"
# Outreach Preferences
outreach:
tone: "{professional_direct | warm | casual from Q10}"
max_length: "short"
include_linkedin: true
signature: ""

For empty lists, write them as:

yaml
required_skills: []

For lists with items, write them as:

yaml
specialties:
- DevOps
- Platform Engineering

Step 9: Welcome Message

After writing the config, print this:

You're all set up!
Config saved to: ~/.recruiter-skills/config.yaml
Data directory: ~/.recruiter-skills/data/
QUICK START
-----------
See hiring signals at a company:
/rp-signals Acme Corp

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
14
Repository forks
5
7-day trend score
14

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/andrew-shwetzer/recruiter-plugin/rp-setup/badge)](https://verified-skill.com/skills/andrew-shwetzer/recruiter-plugin/rp-setup)

Something wrong with this skill or its page? Tell us.