tobby168/resume-pipeline

Utilisez ce pipeline lorsqu'un utilisateur envoie un lien vers une offre d'emploi (ou le texte de la JD) avec peu ou pas d'instructions — une URL nue, "adapte mon CV pour ça", "est-ce que ça vaut le coup de postuler". Construit un CV d'une page à partir de la bibliothèque de modules, l'évalue via le panel aveugle à 3 portes et crée la fiche de candidature. Jamais de candidature, jamais de commit.

Qu'est-ce que resume-pipeline ?

Le skill **Build & score a resume from a job link** est un pipeline automatisé pour les agents IA (Claude Code, Cursor, etc.) qui prend en charge une offre d'emploi (lien ou texte) et génère un CV ciblé, l'évalue et enregistre la candidature sans jamais l'envoyer. Il est utile pour les développeurs et les chasseurs de têtes techniques qui veulent une préparation rapide et objective de leurs candidatures. Le pipeline suit des étapes strictes : déduplication des candidatures existantes, extraction du texte de l'offre (via l'API ATS, le web structuré ou le navigateur), création d'une fiche de candidature et d'une cible (target YAML) avec sélection de modules depuis `data/modules.yaml`, construction du CV en un seul document, évaluation via le scoring-resumes (panel aveugle à 3 portes), validation de la fiche et rapport final avec les scores, les lacunes (inhérentes ou réparables) et les contraintes non-CV (localisation, visa, déplacements, habilitation). Il fonctionne sur des postes techniques et interdit toute invention d'expérience ou de contenu de l'offre. L'agent ne doit jamais postuler à la place de l'utilisateur. Toutes les étapes sont documentées dans le SKILL.md et les scripts Python associés.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tobby168/resume-pipeline/tree/HEAD/.claude/skills/build-and-score-resume

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Construire et évaluer un CV à partir d'un lien d'offre d'emploi

Un lien nu est une instruction complète. Faites tout le pipeline sans rien demander. Arrêtez-vous à « construit + évalué + enregistré » — postuler est l'action de l'utilisateur.

Étapes

  1. Dédupliquer. Exécutez python -m resume_pipeline.tracker report data/applications et vérifiez si cette entreprise/équipe existe déjà. Dites-le clairement dès le départ ; continuez quand même.
  2. Extraire la JD — arrêtez-vous à la première méthode qui renvoie le texte complet :
    1. le point d'accès JSON public de l'ATS (les plateformes Greenhouse / Ashby / Lever en exposent un),
    2. une récupération web structurée ("listez chaque responsabilité et exigence, une par ligne"),
    3. un navigateur pour les sites carrières rendus en JavaScript. Si tout échoue, demandez à l'utilisateur de coller le texte. N'inventez jamais le contenu de la JD.
  3. Écrire la fiche data/applications/<slug>.md à partir de examples/applications/_TEMPLATE.md. Nouvelle fiche = un seul événement found (et non applied ; l'utilisateur postule). Un fichier = une offre.
  4. Écrire la cible data/targets/<slug>.yaml :
    • choisir les identifiants de modules depuis data/modules.yaml, ordonnés pour cette JD ; aucun texte de CV dans une cible
    • définir output: (un output: manquant construit silencieusement resume.docx)
    • un mot-clé de la JD sans vraie ligne de compétence derrière est une lacune : écrivez-la dans le commentaire d'en-tête, jamais comme mot-clé d'une ligne de compétences. Marquez chaque lacune inhérente (pas d'expérience de ce type -> récit d'entretien) ou réparable (vraie expérience, formulation erronée).
    • remplissez la page ; si elle déborde sur la page 2, réduisez d'abord project_bullets. Ne modifiez pas config/layout.yaml — il est partagé par tous les CV.
  5. Construire + vérifier une page
    python -m resume_pipeline.build_resume data/targets/<slug>.yaml --modules data/modules.yaml --out /tmp/resume_<slug>.docx
    soffice --headless --convert-to pdf --outdir /tmp /tmp/resume_<slug>.docx   # puis compter les pages
    
  6. Évaluer avec le skill scoring-resumes. Un CV n'est pas terminé tant que la grille d'évaluation n'est pas dans la fiche.
  7. Valider la fiche : python -m resume_pipeline.tracker validate data/applications.
  8. Rapport : verdict + trois scores des portes -> quelles demandes de la JD sont couvertes -> lacunes (inhérentes/réparables) -> positionnement -> portes non-CV (localisation, visa, jours sur site, habilitation — le formulaire de candidature les demande séparément et ce ne sont pas des modifications du CV) -> recommandation d'une ligne.

Règles

  • N'inventez jamais d'expérience, de date ou de JD. Ajoutez une ligne uniquement pour une expérience réelle confirmée par l'utilisateur.
  • Un score bas est une information, pas un veto : l'utilisateur décide de postuler ou non.
  • Sur une page pleine, « ajouter une ligne pour combler une lacune signalée » doit être évalué en A/B — les corrections aggravent souvent le score.
  • Plusieurs liens à la fois : extrayez d'abord toutes les JD, puis exécutez les étapes 3-8 une offre à la fois ; dites quand un CV peut couvrir deux rôles presque identiques au lieu d'en construire un en double.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills associés