Review a CV against a role
Review first impressions, evidence, career narrative, likely objections, and positioning fixes.
Claude Code with file access. No external API key required.
/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
- Check if
~/.recruiter-skills/config.yamlexists. If it does, read it. Extractrecruiter.specialtiesandicpfields if present — use them as context for the analysis. - If the resume is a file path, read it. If it's pasted text, use it directly.
- 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.
- 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:
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:
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:
- Career arc clarity — Does the progression make obvious sense for this role? Or does the recruiter need to explain a non-obvious path?
- Scope alignment — Does the scale of past work (team size, company size, budget, system complexity) match what the JD implies?
- Recency — Are the most relevant experiences recent, or are they buried in older roles?
- 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:
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:
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
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:
Use Bash to ensure the directory exists:
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-mapto 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.