cv-tailor

Generates job-tailored PDF résumés from a facts superset using react-pdf.

Updated Jun 4, 2026
One-click install
npx skills add https://github.com/CaioWF/caioweliton.dev --skill cv-tailor-caiowf
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cv-tailor
Source: https://github.com/CaioWF/caioweliton.dev/tree/main/.claude/skills/cv-tailor
Command: npx skills add https://github.com/CaioWF/caioweliton.dev --skill cv-tailor-caiowf

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Creating a customized CV for each job application is repetitive and risky: it is easy to accidentally invent facts or break ATS compatibility. This Skill produces a per-job résumé variant from a single verified source of facts, reordering and emphasizing content without fabricating anything. ## Core Features & Use Cases - Fact-safe tailoring: Builds a CvModel variant from the superset in data/*.ts, changing only selection and emphasis while keeping dates, roles, companies, and metrics immutable. - react-pdf render pipeline: Composes data/cv-tailored.local.ts and renders via pnpm cv --tailored, with flags for English locale (--locale=en) and plain-text output (--format=text) for forms that reject PDFs. - ATS-safe output: Enforces Helvetica (non-embedded) fonts, ASCII/WinAnsi characters, action-verb bullets, and a lint that blocks empty buzzwords and preserves impact metrics. - Mandatory fit report: Outputs a fit line, a change summary versus the default CV, and an eliminatory-requirements table mapping each mandatory JD requirement to evidence or an honest gap. - Gupy form support: On request, drafts the 1500-character "Apresente-se!" text and picks 3 skill chips from the candidate's registered profile list. - Use Case: Paste a backend job description and ask for a tailored CV; the Skill extracts the JD signals, reorders skills and experience bullets, renders the PDF, copies it to the Windows Downloads folder with a per-job filename, and reports which mandatory requirements are met or gapped. ## Quick Start Paste the job description and ask: tailor my CV for this job posting and generate the PDF.

Frequently Asked Questions about cv-tailor

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I tailor my CV for a specific job posting?

Paste the job description and request a tailored CV. The Skill extracts required stack, techniques, and domain signals from the JD, then reorders and emphasizes matching facts from the data superset to compose a per-job CvModel variant rendered as a PDF.

How do I generate a plain-text CV for application forms?

Run the CV build with the --format=text flag (pnpm cv --tailored --format=text). This produces a plain-text version of the tailored CV suitable for application forms that do not accept PDF uploads.

Does the tailored CV invent skills to match the job description?

No. The guardrails strictly forbid inventing facts: dates, roles, companies, metrics, and stack are immutable. Only selection and emphasis change; if the job requires something the candidate lacks, it is omitted and reported as a gap.

Why does the CV use Helvetica instead of an embedded font?

Embedded fonts corrupt the ToUnicode mapping of fi/fl ligatures in react-pdf, causing ATS parsers to misread words. Helvetica as a non-embedded base-14 font extracts cleanly, so the Skill forbids switching back to embedded fonts.

Can I get an English version of the tailored CV?

Yes, on request the Skill renders an English variant using the --locale=en flag. It is not generated automatically; the default output is the Portuguese PDF, and English is produced only when asked.

What is the Gupy output and when is it generated?

Gupy output is the application form's free-text "Apresente-se!" field (1500-character limit) plus 3 skill chips chosen from the candidate's registered profile list. It is delivered in chat only when explicitly requested, never automatically.