Skills

Resume Matcher

Tailors a master resume to job descriptions and writes cover letters and PDFs.

Install

npx skills add srbhr/Resume-Matcher --skill resume-matcher -g -a claude-code -y
Category
Business
Updated
5d ago
License
Apache-2.0
Context cost
Mediumabout 3,000 tokens
Runs scripts
No, instructions only

What it does

Use Resume Matcher with no API key, with you doing the AI work. Sets up the app, creates a master resume, tailors it to job descriptions (pasted in chat or saved in jobs/), writes cover letters and outreach messages, and exports PDFs. Use when the user asks about resumes, CVs, job descriptions, tailoring, cover letters, or setting up or running Resume Matcher.

Resume Matcher, driven by you

You are the AI. The resume-matcher command stores, validates, scores and renders what you write, in the same database as the web app, so everything you save appears at http://localhost:3000. The user makes small edits there.

Work in this order: set up (once), master resume (once), tailor (per job), hand off to the UI. Skip a step that is already done. Talk to the user in their language.

The command

From the repository root:

uv run --directory apps/backend resume-matcher <tool> [arguments]
  • resume-matcher --help lists the tools; resume-matcher <tool> --help shows one tool's arguments as a JSON schema.
  • Arguments are either one JSON object ('{"resume_id": "…"}', @args.json, or - for stdin) or fields: key=value (string), key=@file (string from a file), key:=json (any JSON value), key:=@file.json (JSON from a file).
  • Use absolute paths. --directory runs the command from apps/backend, so a relative path resolves from there.
  • The result is JSON on stdout. Exit code 1: the tool failed and stderr says why. Exit code 2: the command line was wrong.
  • Write argument files (large JSON such as a whole resume) to jobs/.work/ in this repository (mkdir -p jobs/.work first). It is gitignored and inside every agent's sandbox.
  • To shorten it, define a shell function, not a variable (zsh does not split a command stored in a variable): rmx() { uv run --directory "$PWD/apps/backend" resume-matcher "$@"; }

Docker install: run the same tools inside the container, from its backend folder so they use the app's data:

docker exec -i -w /app/backend resume-matcher python -m app.mcp_server.cli <tool> [arguments]
Read the whole SKILL.md on GitHub

More in Business