Free agents + LAUNCH30: 30% off paid agents until 31 Dec 2026 (one-time purchases only) See free agents
Oarsman AI Sign in

Resume Shortlister Pro, bias-aware / Docs

Resume Shortlister Pro, bias-aware: setup guide

A folder of resumes becomes a ranked shortlist with a reason and a quote for every score, scored only on blind copies, plus a review list, a duplicates list and a wording check of the job post.

Who it is for: Recruiter at a small agency, HR person at an SME or a founder hiring for one role, with 30 to 500 resumes from Naukri, a job board or an inbox.

Format: Claude skill pack · Version: 1.0.1 · Tested on: Python 3.13.5 (standard library only)

What it does

Each resume is read (TXT, DOCX, or PDF with pdfplumber/pypdf) and turned into a blind copy: name, email, phone, links, titles like Mr/Ms, and labelled lines such as date of birth, age, gender, marital status, religion, caste, father's or spouse's name, address, Aadhaar, PAN and passport numbers are removed. Only the blind copy is scored. Must-have terms must all be found; nice-to-haves add their weight; aliases catch other spellings; terms of one or two letters (Go, R) match exactly as written. Years of experience come from job date ranges in the Experience section (overlaps counted once, degree dates ignored), or from a stated 'N years of experience'. The same person applying twice (same email or phone, or near-identical text) is kept once. Criteria about protected traits are refused.

What you need

  • Claude.ai with code execution switched on (or Claude Code, or just Python 3.10+)
  • Resumes saved as TXT, DOCX or text PDF (old .doc files need saving as DOCX)
  • Your criteria for the role (Claude helps you draft them from the job post)

5-minute setup

  1. Claude.ai: open Settings → Capabilities → Skills, click Upload skill and pick claude-ai-upload/resume-shortlister-pro.zip.
  2. Claude Code: copy the folder skills/resume-shortlister-pro into ~/.claude/skills/.
  3. Start a new chat. Attach your file and say: "Use resume-shortlister-pro. Here are 120 resumes for a data analyst role and the job post. Draft the criteria with me, then shortlist the top 10".
  4. Claude runs the script and gives you the files listed under Outputs. Check them before you act on them.

Try it with the sample

Run the sample (seven fictional resume files for a data analyst role: one is an old .doc and one person applied twice; plus a job post):

python3 skills/resume-shortlister-pro/scripts/core.py --resumes samples/resumes --criteria samples/criteria.csv --jd samples/job-post.txt --out out

You should see 7 files, 6 read, 1 duplicate kept once, 2 on the shortlist, 1 for review, 2 not a match, and 4 wording flags in the job post (age, gender, photo, 'rockstar'). Years in the sample depend on today's date because some jobs run to Present; add --as-of 2026-11-01 to match the numbers in tests. In Claude, attach the resumes and the job post and use the prompt above.

Settings you can change

Option Default What it is
--resumes (required) Folder of resumes: TXT, DOCX or PDF (PDF needs pdfplumber or pypdf)
--criteria (required) Criteria CSV with kind,term,weight,aliases; kinds must, nice, min_years
--jd (none) Job post text file to check for biased wording
--shortlist-min 60 Score (0-100) needed for the shortlist
--top 10 Most candidates on the shortlist; the rest go to review
--hide-education (off) Also hide college names and graduation years in the blind copies
--as-of (today) Date used for 'Present' in job dates (YYYY-MM-DD)
--out out Output folder

What goes in and what comes out

Inputs: Folder of resumes (TXT, DOCX or PDF); criteria.csv: must-have terms, weighted nice-to-haves with aliases, minimum years; Optional: the job post text

Outputs: report.md with counts, ranking, evidence quotes and the job post check; shortlist.csv (rank, status, score, years, matched and missing terms, notes); blind/ copies of every resume, as scored; candidate-key.csv (names and contacts, kept apart) and redactions.csv (what was removed, counts only)

AI disclosure and limits

This product does not call an AI model at run time. It was built by Oarsman AI's AI agents and checked by the automated tests shipped with it.

Limits: - Keyword and date matching, not reading comprehension: a skill written another way is missed unless you add an alias. - Scanned image resumes have no text and are listed as unreadable. - Old .doc, .rtf and .odt files must be saved as DOCX or PDF. - Name removal relies on the name being on the first lines or a 'Name:' line; check blind copies before sharing them. - Up to 1,000 resumes per run.

Not tested by us: - resumes downloaded straight from Naukri RMS or LinkedIn Recruiter - PDF resumes in the shipped tests (PDF reading was checked separately with pdfplumber) - resumes in languages other than English

Files

  • oarsman-resume-shortlister-pro-v1.0.1.zip
  • CHANGELOG.md
  • QA-REPORT.json
  • README.md
  • SPEC.md
  • SUPPORT.md
  • TROUBLESHOOTING.md
  • VERSION
  • VIDEO-SCRIPT.md
  • claude-ai-upload
  • diagram.mmd
  • diagram.png
  • preview.png
  • samples
  • skills
  • tests

Help

Self-serve: see TROUBLESHOOTING.md (fixes and FAQ). There is no call, chat or email support. Fixes ship as new versions at your download link. Refund: 14 days, works as described, through the checkout platform.