Every AI resume tool promises to "beat the ATS." This one has a harder rule: it never invents experience — and when a job is a genuine mismatch, it declines to tailor at all and tells you why.
Auto-invoked ships a router so the right skill fires automatically as you prompt. No remembering which skill to call.
Normal is the plain upstream plugin, installed as-is. You invoke its skills yourself.
The plugin> /plugin marketplace add jananthan30/Resume-Builder> /plugin install resume-builder@resume-builder-marketplaceAuto-invocation> /plugin marketplace add flowy-sh/flowy-core> /plugin install flowy-core> /plugin install flowy-resume-builder
What's inside
Every AI resume tool promises to "beat the ATS." This one has a harder rule: it never invents experience — and when a job is a genuine mismatch, it declines to tailor at all and tells you why. Finds jobs, scores your fit with deterministic engines (not LLM vibes), tailors through a fail-closed pipeline where an independent auditor can veto the writer, and publishes its own scoring failures. Works as a Claude Code plugin, Codex plugin, or standalone web app.

Upload a resume → paste the job posting → keyword-match and recruiter-style heuristic scores with concrete fixes, in under 30 seconds. Try it free.
Most resume tools only score the resume you bring to them. ResumeHQ goes further:
| Feature | Jobscan | Rezi | Teal | ResumeHQ |
|---|---|---|---|---|
| Keyword + semantic match scoring | ✅ | ✅ | ✅ | ✅ |
| Recruiter-style heuristic review | ❌ | ❌ | ❌ | ✅ |
| Discover matching jobs | ❌ | ❌ | ❌ | ✅ |
| Score jobs against your resume | ❌ | ❌ | ❌ | ✅ |
| Auto-tailor resume to JD | ✅ | ✅ | ❌ | ✅ |
| ATS-compliant DOCX output | ❌ | ✅ | ❌ | ✅ |
| Application tracker | ❌ | ❌ | ✅ | ✅ |
| Works in Claude Code / claude.ai / Codex | ❌ | ❌ | ❌ | ✅ |
| Open source | ❌ | ❌ | ❌ | ✅ |
| Publishes its scoring benchmarks — including the bugs | ❌ | ❌ | ❌ | ✅ |
| Refuses to fabricate — declines to tailor genuine mismatches, audits every claim against your real resume | ❌ | ❌ | ❌ | ✅ |
You paste a job description (or search for jobs). The system:
The candidate-fit gate always runs first and cannot be bypassed by ATS/HR scores. After it passes, safe read/scoring work may run concurrently while authorization, DOCX generation, and tracker mutation remain ordered.
Works with Claude Code (CLI/IDE), Codex (CLI/app/IDE), and claude.ai (web/Projects).
Step 1: Install the plugin
Claude Code:
/plugin marketplace add jananthan30/Resume-Builder
/plugin install resume-builder
Codex from a local checkout:
codex plugin marketplace add .
Then restart Codex and install Resume Builder from the Resume Builder Local marketplace.
Step 2: Configure the runtime
Claude Code exposes the plugin setup command:
/resume-builder:setup
This walks you through everything:
pip install -r requirements.txt)config.json with your name, email, phone, LinkedInFor Codex, install Python 3.10+, run python -m pip install -r requirements.txt,
and create config.json with a valid master_resume_path. The installed Codex
surface exposes the Resume Team as $resume-team; it does not expose the
Claude-style /resume-builder:* command namespace.
Step 3: Start building resumes
Claude Code:
/resume-builder:resume [paste a job description here]
Codex:
$resume-team [paste a job description here]
$resume-team publishes an authorized, digest-verified resume.md draft. It does
not by itself create a DOCX or complete an application package.
Or find jobs first:
/resume-builder:find-jobs Senior Data Scientist in New York
| Command | What It Does |
|---|---|
/resume-builder:setup | One-time setup wizard (installs Python deps, creates config, links Pro account) |
/resume-builder:job-fit [JD] | Deterministic master-vs-JD gate (fit bar, default 50, and zero hard knockouts) before tailoring |
/resume-builder:resume [JD] | Full application: tailored resume + cover letter + scoring + DOCX + tracking |
/resume-builder:tailor-resume [JD] | Resume only (no cover letter) |
/resume-builder:cover-letter [JD] | Cover letter only |
/resume-builder:find-jobs [title] [location] | Discover and score matching jobs from live job boards |
/resume-builder:batch-resume | Process multiple job descriptions in parallel |
/resume-builder:writing-coach [file] | Audit and rewrite resume bullets using 10 writing rules |
/resume-builder:resume-team [JD] | Publish an authorized resume.md draft through the native Researcher → Writer → Auditor → Editor workflow |
If running Claude Code locally from the cloned repo, use short names: /resume,
/tailor-resume, /find-jobs, etc. In Codex, invoke $resume-team.
Some Claude Code commands can provide prompt-only previews before setup.
Production resume generation through /resume-builder:resume,
/resume-builder:resume-team, or Codex $resume-team requires Python,
config.json, the deterministic candidate-fit preflight, and the evidence,
human-voice, and canonical-integrity audit helpers; those gates are never skipped.
| Command | Works immediately? | With setup? |
|---|---|---|
/resume-builder:job-fit | No — requires the configured master and deterministic preflight | Digest-bound score, threshold, and hard-knockout decision |
/resume-builder:resume | No — the native team and deterministic audits require setup | Full audited resume + automated ATS/HR scoring and DOCX output |
/resume-builder:resume-team / $resume-team | No — requires macOS/Linux, the configured master resume, and Python audit helpers | Authorized, digest-verified resume.md draft; DOCX/tracker finalization is still pending |
/resume-builder:cover-letter | Yes — the assistant writes the letter | + DOCX output |
/resume-builder:writing-coach | Yes — full writing audit | Same |
/resume-builder:find-jobs | Yes — shows results (no score) | + ATS/HR fit scoring per job |
/resume-builder:setup | Yes — runs the setup wizard | N/A |
| MCP scoring tools | No — needs Python | evidence_match, score_resume, score_ats, score_hr, score_with_llm, explain_score, extract_text, discover_jobs |
After running /resume-builder:setup, the MCP scorer auto-starts and provides these tools that Claude Code or Codex can call natively:
| Tool | What It Does |
|---|---|
evidence_match | Requirement-by-requirement evidence matching, with the exact excerpt behind each conclusion (recommended) |
score_resume | Legacy ATS + HR analysis in one call |
score_ats | Keyword + semantic match scoring (8 heuristic components) |
score_hr | Recruiter-style heuristic review (6 factors + F-pattern) |
score_with_llm | LLM-augmented rubric scoring (requires ANTHROPIC_API_KEY) |
explain_score | Actionable improvement suggestions with missing keywords |
extract_text | Extract text from DOCX/PDF/MD/TXT files |
discover_jobs | Search live job boards and score each job against your resume |
All listed MCP tools support cloud-first scoring — they try the cloud API first and fall back to local scoring automatically. Legacy direct rewrite endpoints or functions are not production-authorized tailoring paths. The capability-isolated native Resume Team is the sole production rewrite and draft-publication path.
The /find-jobs command and discover_jobs MCP tool search live job boards and rank results by how well each job matches your resume — answering "which jobs should I actually apply to?" with data.
/resume-builder:find-jobs Senior Product Manager in San Francisco
/resume-builder:find-jobs Data Scientist remote
How it works:
Sample output:
Rank Title Company ATS HR Salary
──── ─────────────────────────── ───────────── ──── ──── ──────────────
#1 Senior Data Scientist Pfizer 82% 74% $120k–$150k
#2 Data Scientist II Goldman Sachs 79% 71% $110k–$140k
#3 ML Engineer – NLP Microsoft 74% 68% $130k–$160k
API keys required for job search:
ADZUNA_APP_ID and ADZUNA_APP_KEY to your .envA universal "ATS score" does not exist. Recruiting systems parse, search, filter, evaluate requirements and sometimes rank — using materially different mechanisms — so a single percentage cannot describe them all.
This tool answers a question that is answerable:
Your resume provides strong evidence for 17 of 21 important requirements. One must-have has no evidence found. Eligibility is UNVERIFIED.
Every conclusion cites the exact resume excerpt behind it, with character offsets you can verify.
python evidence_match.py --resume resume.docx --jd job.txt --verify
Three results stay separate and are never multiplied together:
| Output | Meaning |
|---|---|
| Eligibility | PASS / FAIL / UNVERIFIED on explicit hard requirements |
| Qualification Evidence Fit | How strongly the resume supports the role's requirements |
| Evidence Quality | How explicit and traceable that evidence is |
A missing licence is UNVERIFIED, not FAIL — the resume did not establish it, which is not proof the candidate lacks it. Only explicit contradictory evidence (an expired licence) produces FAIL.
Why this resists gaming. The model classifies evidence; Python computes every number. Repeating a phrase twenty times collapses to one piece of evidence, a parent skill never satisfies a child requirement (Python does not imply TensorFlow), and unapproved synonyms are downgraded rather than accepted. Scores replay exactly from stored judgments with no LLM call:
python evidence_match.py --replay match.json
FAQ
resume-builder is a Claude Code plugin of 9 hand-picked skills with a FLOW.md router. Install it once and the right skill fires as you prompt, with no slash command to remember. It is built for productivity work. It includes batch-resume, cover-letter, find-jobs. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it