agentsclimarketplace

Rp resume screen

Skill andrew-shwetzer/recruiter-plugin/skills/rp-resume-screen

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-resume-screen

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.0 KB, ~1.8k tokens by cl100k_base, as published. Nobody here has run it

/rp-resume-screen — Resume vs Job Screen

Analyze a candidate's resume against a specific job description. Simulates a hiring manager's 6-second scan, then runs a full evidence-quality audit, surfaces likely objections, and delivers the top 5 positioning fixes a recruiter can act on.

Zero API cost. Uses only Claude's reasoning.


Input

The user provides two things (in any order, any format):

  • Resume: file path (absolute), pasted text, or "uploaded as context"
  • Job description: file path, pasted text, or a URL

Parse the user's argument to identify which is which. If a URL is provided for the JD, use WebFetch to retrieve the page and extract the posting text. If either input is ambiguous, ask one clarifying question before proceeding.


Step 1: Load Config and Resume/JD

  1. Check if ~/.recruiter-skills/config.yaml exists. If it does, read it. Extract recruiter.specialties and icp fields if present — use them as context for the analysis.
  2. If the resume is a file path, read it. If it's pasted text, use it directly.
  3. If the JD is a file path, read it. If it's a URL, fetch it and extract the job posting content (strip nav, footer, boilerplate). If it's pasted text, use it directly.
  4. Extract the candidate's name from the resume. Generate a slug: lowercase, spaces to hyphens, no special characters (e.g., "Jane Smith" → jane-smith).

Step 2: The 6-Second Scan

Simulate what a hiring manager sees in the first 6 seconds. This is the visual/headline layer before deep reading.

Output this section as:

THE 6-SECOND SCAN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
First impression: [one sentence — what the resume signals instantly]
Role match visible? YES / PARTIALLY / NO
Title alignment:   [current title vs target title — obvious match or not]
Company caliber:   [does the company list signal the right tier]
Tenure concern:    YES (flag) / NO (clean)
Format/clarity:    CLEAR / CLUTTERED / SPARSE

Step 3: Evidence Quality Audit

Extract every major claim in the resume (skills, accomplishments, scope, leadership, tools). For each meaningful claim, rate the evidence quality:

  • STRONG — specific, quantified, verifiable (e.g., "Reduced deploy time from 4h to 12min by rewriting CI pipeline")
  • MODERATE — contextual but not quantified (e.g., "Led migration to Kubernetes cluster")
  • WEAK — vague and could apply to anyone (e.g., "Strong communication skills")
  • ABSENT — the JD requires it, but the resume doesn't address it at all

Format as a table:

EVIDENCE AUDIT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Claim                                    Rating      Notes
──────────────────────────────────────── ─────────── ────────────────────────────
[claim]                                  STRONG      [brief rationale]
[claim]                                  MODERATE    [brief rationale]
[claim]                                  WEAK        [brief rationale]
[JD requirement not in resume]           ABSENT      Required: [what JD says]

Include at minimum: all technical skills the JD mentions, all leadership/scope claims, and all quantified impact statements (or absence thereof).


Step 4: Narrative Strength Assessment

Evaluate the resume's overall story as a recruiter would when presenting to a hiring manager.

Answer these questions in a brief paragraph for each:

  1. Career arc clarity — Does the progression make obvious sense for this role? Or does the recruiter need to explain a non-obvious path?
  2. Scope alignment — Does the scale of past work (team size, company size, budget, system complexity) match what the JD implies?
  3. Recency — Are the most relevant experiences recent, or are they buried in older roles?
  4. Differentiation — What makes this candidate specifically memorable vs. 20 other resumes for the same role?

Step 5: Likely Hiring Manager Objections

List 3-5 objections a hiring manager is likely to raise when reviewing this resume for this specific role. Be honest, not polished. These are the friction points a recruiter must preemptively address.

Format:

LIKELY OBJECTIONS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. [Objection] — [Why it arises from the resume/JD gap]
2. [Objection] — [Why it arises]
...

Step 6: Top 5 Positioning Fixes

Concrete, actionable edits or talking points — things the recruiter can bring back to the candidate or use when presenting the candidate to the client.

Format:

TOP 5 POSITIONING FIXES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. [Fix title] — [What to change/add/reframe, and why it addresses the gap]
2. ...

Fixes should be specific. "Add metrics to bullet 3 in the Acme Corp role" is better than "Add more quantification."


Step 7: Overall Fit Rating

OVERALL FIT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Fit:         STRONG / MODERATE / WEAK / NO FIT
Screen:      ADVANCE / ADVANCE WITH COACHING / HOLD / PASS
Confidence:  HIGH / MEDIUM / LOW (based on resume completeness)

Summary: [2-3 sentences the recruiter can use verbally with the hiring manager]

Step 8: Save to Candidate File

Build the candidate YAML using data extracted from the resume and this analysis.

Target path: ~/.recruiter-skills/data/candidates/{name-slug}.yaml

If the file already exists, read it first, then update only fit_score and fit_reasoning. Do not overwrite fields that are already populated unless you have better data from the resume.

If the file does not exist, create it with this schema:

name: ""                    # full name from resume
linkedin_url: ""            # extract if present in resume, else ""
current_title: ""           # most recent title
current_company: ""         # most recent company
location: ""                # location from resume header
years_experience: 0         # calculated from work history
skills: []                  # technical skills extracted from resume
email: ""                   # extract from resume header if present, else ""
fit_score: 0                # 0-10, derived from overall fit rating (STRONG=8-10, MODERATE=5-7, WEAK=2-4, NO FIT=0-1)
fit_reasoning: ""           # one-sentence summary of fit
source: "screened"
status: "screened"
found_at: "2026-03-24"      # today's date

Use Bash to ensure the directory exists:

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

Write the file. Confirm the path in your output.


Step 9: Suggest Next Step

After the analysis, suggest ONE logical next action based on the fit rating:

  • STRONG fit → "Run /rp-score {name-slug} to get the full 9-dimension weighted score before submitting."
  • MODERATE fit → "Run /rp-score {name-slug} to identify which dimensions are dragging the score, then decide if coaching closes the gap."
  • WEAK fit → "Consider running /rp-market-map {role} in {location} to find better-matched candidates in this market."
  • NO FIT → "This candidate doesn't fit this role. Run /rp-market-map to map who does fit, or check other open roles."

Output Format Rules

  • Use plain text with the separator lines shown above. No markdown headers (no ##).
  • Tables use plain ASCII alignment (not markdown pipes for visual display).
  • Lead with the 6-second scan. Do not bury the headline.
  • Be direct. This analysis is for a recruiter, not the candidate. No softening language.
  • Total output should be readable in under 3 minutes.

What ships with it

Read from the repository

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

Gives 0 of the 12 instructions most hr recruiting skills give in ~1.8k tokens

Counted across 356 of the 357 authors here whose files we hold, read 2026-08-07

  • Quantify achievements with specific metricsin 14 of 356, across 6 files
  • Keep the resume under two pagesin 14 of 356, across 6 files
  • Request the full job description if not providedin 12 of 356, across 4 files
  • Extract keywords and prioritize job requirementsin 12 of 356, across 4 files
  • Stop and ask for clarification if required inputs are missingin 12 of 356, across 5 files
  • Map candidate experience to job requirementsin 11 of 356, across 3 files
  • Ask if the user wants adjustmentsin 11 of 356, across 3 files
  • Provide strengths and gap analysis after the resumein 10 of 356, across 2 files
  • Request candidate background details if not providedin 10 of 356, across 2 files
  • Format experience bullets as action verb plus resultin 10 of 356, across 2 files
  • Ask for missing inputs before startingin 10 of 356, across 9 files
  • Use exact job description terminologyin 9 of 356, across 1 file

Said here and by no other author read

  • Read the recruiter skills config file if it exists
  • Generate a lowercase hyphenated slug for the candidate name
  • Simulate a six second hiring manager scan of the resume
  • Rate the evidence quality of all major resume claims
  • Assess career arc, scope, recency, and differentiation
  • List three to five likely hiring manager objections

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

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.