All recruitment skills

Review a CV against a role

A CV review against the role, with supporting evidence and five suggestions to improve the CV.

Try this skill

Have this ready

A CV and a job description.

  1. Copy the prompt below and paste it into Claude Code.
  2. Follow its steps to save the skill, then share your material and ask it to help.

Claude Code with file access. No external API key required. No ScoutMesh account needed.

Then ask something like

Review this CV against the job description. What fits, what is unclear, and how could the CV be improved?

Full instructions and versions

Claude Code with file access. No external API key required. If Claude cannot read the link, download the file below and save it in your working folder instead.

Viewing version 03b03f8
SKILL.md

/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 / NOTitle 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 FITScreen:      ADVANCE / ADVANCE WITH COACHING / HOLD / PASSConfidence:  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:

yaml
name: ""                    # full name from resumelinkedin_url: ""            # extract if present in resume, else ""current_title: ""           # most recent titlecurrent_company: ""         # most recent companylocation: ""                # location from resume headeryears_experience: 0         # calculated from work historyskills: []                  # technical skills extracted from resumeemail: ""                   # 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 fitsource: "screened"status: "screened"found_at: "2026-03-24"      # today's date

Use Bash to ensure the directory exists:

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

Need recruiting data in Claude or ChatGPT?

Use this skill for free with your own material. When you need to search recruiting data sources, connect ScoutMesh to Claude or ChatGPT. Available data and costs depend on the sources you choose.

Get started with ScoutMeshSee available sources