Skip to content

/resume

Generate a tailored resume AND cover letter for a job description via the native four-role Resume Team, score both against ATS and HR rubrics, create DOCX files, and update the tracker. Use when the user pastes a job description and wants a complete application package (resume

From plugin
resume-builder
839 skills4 agents9 commands1 hook
+1
Install
$ npx -y skills add jananthan30/Resume-Builder --skill resume --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/resume

Context preview

The summary Claude sees to decide when to auto-load this skill.

Generate a tailored resume AND cover letter for a job description via the native four-role Resume Team, score both against ATS and HR rubrics, create DOCX files, and update the tracker. Use when the user pastes a job description and wants a complete application package (resume

SKILL.md

resume.SKILL.md
name: resume
description: Generate a tailored resume AND cover letter for a job description via the native four-role Resume Team, score both against ATS and HR rubrics, create DOCX files, and update the tracker. Use when the user pastes a job description and wants a complete application package (resume plus cover letter) with dual scoring and authenticity/human-voice gates.

Resume Builder — Native Four-Role Team + Triple Scoring

Generate a tailored resume AND cover letter using parallel tool execution with scoring-aware optimization. Every editorial decision maps to ATS (7 components) and HR (6 factors) scoring weights.

Job Description

The user provides the target job description when invoking this skill; treat that text as the exact JD throughout.

CANDIDATE-FIT PREFLIGHT (MANDATORY FIRST GATE)

Before scorer startup, research, resume development, role/team invocation, output or application-directory creation, DOCX generation, or tracker work, resolve `master_resume_path` from `config.json` and save this exact job description to a private temporary UTF-8 file. Screen only that configured master resume—never a previously tailored resume. Generate one safe `run_id`, one safe `case_id`, and one strict ISO `as_of_date`, then run:

`python candidate_fit_preflight.py --resume <configured-master-resume> --job-description <private-exact-JD.txt> --run-id <run_id> --case-id <case_id> --as-of-date <YYYY-MM-DD> --json`

Require exit `0` plus a valid `candidate-fit-policy-v3` report bound to the same IDs, date, master SHA-256, and exact-JD SHA-256. Canonically hash it as `candidate_fit_report_digest`. Proceed only when `threshold` is exactly `70.0`, `score >= 70`, `extraction_trustworthy` is true, `hard_knockouts` is empty, `passed` is true, and `codes` is empty. Exit `1`, a score below 70 (including 60–69), or any hard knockout is `REJECTED:CANDIDATE_FIT`; stop with no team/role invocation and no application directory, draft, DOCX, or tracker mutation. Exit `2` or an unavailable, malformed, stale, non-canonical, or digest-mismatched report is `FAILED:CANDIDATE_FIT_PREFLIGHT` and fails closed. There is no automatic or manual workflow bypass. ATS/HR baselines remain advisory and cannot override candidate fit.

Instructions

You are the coordinator, not the resume author. The user has provided a job description. You will: 1. Pass the fixed candidate-fit gate against the configured master resume 2. Internalize both advisory scoring engines before writing a single word 3. Deconstruct the JD into a scoring blueprint 4. Delegate drafting to the native `resume-writer` with least-authority context 5. Diagnose gaps by component weight, not guesswork 6. Require an independent `resume-auditor`, bounded `resume-editor` corrections, and three deterministic authorization votes

---

GLOBAL CONSTRAINTS (read first, enforce always)

**Editorial priority (never invert):** Authenticity → Human voice → HR impact → evidence coverage.

  • NEVER change job titles, company names, dates, education, publications, certifications, or memberships
  • NEVER add parenthetical qualifiers to job titles — titles must match the master resume exactly, with no additions or removals.
  • NEVER use `**bold**` markdown in `.md` files — the DOCX generator handles bold automatically
  • NEVER exceed 2 appearances of any single keyword across the entire resume
  • NEVER keyword-stuff experience bullets — Core Competencies is the primary ATS keyword home; bullets stay factual and human
  • NEVER open bullets with AI-cliché verbs (spearheaded, leveraged, orchestrated, championed, …) — use plain strong verbs (Led, Built, Wrote, Cut, Reviewed)
  • Publications & Education: Keep EXACTLY as in master resume — zero modifications
  • DOCX and tracker finalization must use only the receipt-validating authorized wrappers specified in Phase 5; never call lower-level generators or tracker mutations directly
  • Acceptance targets: **Evidence Match ≥ 75%**, **zero must-haves with NO_EVIDENCE_FOUND**, eligibility not FAIL, **Human Voice audit pass**. Evidence Match is the authoritative measure — it reports which of the job's requirements the resume actually evidences, with the exact excerpt behind each.
  • Legacy ATS/HR scores remain available for continuity but are diagnostic only. No universal ATS score exists across recruiting systems, so never present one as the result or retry a run to chase it.
  • Report gaps as "no evidence found in the resume", never as "the candidate lacks this". Absence of evidence is not proof of absence.
  • A 75% evidence match with human prose beats a 90% keyword-stuffed draft — stuffing raises keyword counts and lowers evidence quality.

---

NATIVE RESUME TEAM (mandatory control plane)

Only after the candidate-fit preflight passes, read the resume-team skill (`skills/resume-team/SKILL.md`), run its host preflight, and invoke `native_resume_team.py` for the current host with the same `run_id`, `case_id`, `as_of_date`, exact private JD file, and a prospective non-existing output path. Do not create the path first. Do not manually reproduce the role sequence for a publishable draft. The runtime enforces:

1. `resume-researcher` receives only the job description. 2. `resume-writer` receives only the master resume and validated Researcher artifact. 3. `resume-auditor` independently audits the exact Writer draft. 4. `resume-editor` is called only after `FAIL`, corrects only named findings, and is followed by a fresh Auditor review. Maximum two corrections.

The coordinator must validate every `resume-team-handoff/v1` digest and lineage, require distinct role identities, and fail closed on malformed, stale, replayed, ambiguous, unavailable, timed-out, or side-effecting results. The coordinator must not write or silently repair the resume itself. Require macOS or Linux; Windows preflight fails closed with `POSIX_RUNTIME_REQUIRED`.

For Codex only, omit model flags by default because the hardened subprocess ignores user c

Read more
Ships withresume-builder

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.

Get the whole plugin, auto-invoked

Other skills on resume-builder.