cv-tailoring

Selects and reorders existing CV blocks to match job descriptions without fabricating content.

Updated May 19, 2026
One-click install
npx skills add https://github.com/Jessitoii/career-os --skill cv-tailoring-jessitoii
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cv-tailoring
Source: https://github.com/Jessitoii/career-os/tree/main/.agents/skills/cv-tailoring
Command: npx skills add https://github.com/Jessitoii/career-os --skill cv-tailoring-jessitoii

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires fpdf2, pydantic.

What problem does it solve? Job seekers need tailored CVs for each application, but manual customization is slow and AI-generated resumes risk inventing false experience. This Skill tailors CVs by selecting and reordering only existing content blocks, guaranteeing factual accuracy. ## Core Features & Use Cases - CV Version Selection: Uses an LLM to pick the best-matching CV version from multiple options based on job stack keywords. - Immutable Block Reordering: Reorders skill and project blocks by relevance to the job description using a strict prompt contract validated with Pydantic schemas. - Cover Letter Generation: Produces tailored PDF cover letters with fpdf2 and archives paths in the applications database table. - Use Case: When applying to a FastAPI backend role, the Skill selects the backend-focused CV version, surfaces FastAPI projects first, injects JD keywords into the summary, and generates a matching cover letter PDF. ## Quick Start Use the cv-tailoring skill to select the best CV version and generate a tailored cover letter for this job listing.

Frequently Asked Questions about cv-tailoring

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

FAQPage Schema
How do I tailor a CV for a specific job description with an LLM?

Pass master skill and project blocks plus the job description to the LLM with a prompt contract forbidding new content. Validate the returned JSON with a Pydantic schema containing tailored_summary, selected_project_ids, top_skill_ids, and keyword_injections.

How to select the best CV version for a job application?

Extract keywords from each CV version's metadata and ask the LLM to compare them against the job's detected stack. The model returns only the ID of the best-matching CV version as JSON.

How do I prevent an LLM from fabricating resume content?

Use an immutable block selection approach where the LLM only selects and reorders existing blocks by ID. The system prompt explicitly forbids generating new data or modifying existing sentences, and only the summary may be rewritten.

What Python library generates cover letter PDFs?

fpdf2 generates cover letter PDFs via the FPDF class by adding pages and writing tailored content. Reportlab is an alternative mentioned for the same task, with output paths stored in the applications table.

Which LLM model should I use for CV tailoring?

Use claude-sonnet-4 as the primary model since language quality matters for CVs. Configure a fallback chain through gpt-4o-mini, groq/llama-3-70b, and ollama/llama3:8b for rate-limit resilience.

When should I not use automated CV tailoring?

Avoid it for general prompt engineering unrelated to CV content or for managing CV files on disk and S3, which is infrastructure work. It also cannot create genuinely new experience entries, only reorganize existing ones.