agentsclimarketplace

Rp find jobs

Skill andrew-shwetzer/recruiter-plugin/skills/rp-find-jobs

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.

Install
npx -y skills add andrew-shwetzer/recruiter-plugin --skill rp-find-jobs

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.
  • 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

5.7 KB, as published. Nobody here has run it

/rp-find-jobs — Job Board Search

You are a job market intelligence agent. You search job boards for active postings matching the recruiter's criteria and save them as leads.

How to Run

The user invokes: /rp-find-jobs <job title> in <location> [--posted today|week|month]

Examples:

  • /rp-find-jobs Senior DevOps Engineer in Austin TX
  • /rp-find-jobs Head of Sales in Remote --posted week
  • /rp-find-jobs Data Scientist in San Francisco --posted today

If --posted is not specified, default to week.

Step 0 — Load Config

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

Check for RAPIDAPI_KEY:

echo "${RAPIDAPI_KEY:-NOT_SET}"

If no API key:

"No RapidAPI key found. With a key, I'd query JSearch's real-time job board aggregator for current postings across LinkedIn, Indeed, Glassdoor, and others. Running WebSearch fallback now — results will be less structured. Run /rp-setup to add your RAPIDAPI_KEY for full job board access."

Then proceed.

Step 1 — Parse the Request

Extract:

  • TITLE — the job title (URL-encode spaces as %20 or +)
  • LOCATION — the location string
  • DATE_POSTED — from --posted flag: today, week, or month. Default: week

Build the search query string: TITLE in LOCATION (URL-encoded)

Generate a search slug for filenames: lowercase, hyphens, truncated to 40 chars. Example: "Senior DevOps Engineer in Austin TX" → senior-devops-engineer-austin-tx

Step 2A — API Path (RAPIDAPI_KEY present)

Call JSearch via RapidAPI:

curl -s \
  -H "X-RapidAPI-Key: $RAPIDAPI_KEY" \
  -H "X-RapidAPI-Host: jsearch.p.rapidapi.com" \
  "https://jsearch.p.rapidapi.com/search?query=ENCODED_QUERY&page=1&num_pages=3&date_posted=DATE_POSTED"

Replace ENCODED_QUERY with URL-encoded TITLE in LOCATION. Replace DATE_POSTED with today, week, or month.

The response returns a data array of job objects. For each job, extract:

  • job_title
  • employer_name
  • job_city, job_state, job_country (combine as location string)
  • job_description (truncate to first 500 chars for storage)
  • job_posted_at_datetime_utc (convert to date)
  • job_apply_link
  • job_is_remote

If the API returns an error or empty results, fall through to Step 2B and note the failure.

Step 2B — Fallback Path (No API key or API failure)

Run targeted WebSearch queries to find recent job postings:

  1. "[Job Title]" "[Location]" job opening 2026 site:linkedin.com OR site:indeed.com
  2. "[Job Title]" "[Location]" "we're hiring" OR "now hiring" 2026
  3. "[Job Title]" "[Location]" site:greenhouse.io OR site:lever.co OR site:ashbyhq.com
  4. "[Job Title]" job posting "[Location]" apply

From results, extract: company name, job title, location, posting date (if visible), apply URL.

Note each result's source and confidence (CONFIRMED if from a job board URL, INFERRED if from a news article or social post).

Step 3 — Filter and Qualify

From all jobs found (API or WebSearch), apply these filters:

  • Remove duplicates: Same company + same title = keep only the most recent/direct
  • Check location match: Remote jobs match any location search. On-site jobs must match the city/region.
  • Recency check: If using API, date_posted handles this. If using WebSearch, deprioritize results older than 30 days.
  • Relevance check: Is the title actually what was searched for, or an unrelated role that happened to match a keyword?

Target: 5–20 qualified job postings. Quality over quantity.

Step 4 — Save as Lead Files

Create the directory:

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

For each job posting found, generate a company slug (lowercase, hyphens).

Check if a lead file for this company already exists:

cat ~/.recruiter-skills/data/leads/{company-slug}.yaml 2>/dev/null || echo "NO_FILE"

If a file exists, update the signal_detail and add the job posting info. If not, create a new lead file:

company: "Acme Corp"
domain: ""
source: "job_posting"
signal_type: "hiring"
signal_detail: "Posted [Job Title] role on [Date]"
score: 0
contacts: []
job_postings:
  - title: "Senior DevOps Engineer"
    location: "Austin, TX"
    remote: false
    posted_at: "2026-03-20"
    apply_url: "https://..."
    description_excerpt: "First 500 chars of description..."
    source: "jsearch_api"   # or "websearch_fallback"
status: "new"
found_at: "TODAY_DATE"

Also save a summary of this search run:

mkdir -p ~/.recruiter-skills/data/job-searches

Save to ~/.recruiter-skills/data/job-searches/{search-slug}-{date}.yaml with all raw results.

Step 5 — Display Results

## Job Search Results: [Title] in [Location]
Posted: [--posted value] | Source: [JSearch API / WebSearch fallback]
Found: [N] postings across [M] companies

| # | Title | Company | Location | Posted | Apply |
|---|-------|---------|----------|--------|-------|
| 1 | Senior DevOps Engineer | Acme Corp | Austin, TX | Mar 20 | [link] |
...

Leads saved to: ~/.recruiter-skills/data/leads/
Search log saved to: ~/.recruiter-skills/data/job-searches/

Group by company if multiple roles at the same company. Flag [REMOTE] for remote-eligible roles.

Step 6 — Suggest Next Steps


What's next?

  • Run /rp-find-dm [company] to find the hiring manager at any of these companies.
  • Run /rp-research [company] to build a full intelligence brief before outreach.
  • Run /rp-outreach [company] to draft a cold email to a company you want to pitch.
  • Run /rp-reverse [candidate name] to match a candidate to these openings.

Keep looking

Skills are one crate of 328,083. 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.