ooligo
claude-skill

Évaluateur de test à emporter avec Claude

Difficulty
intermédiaire
Setup time
40min
For
recruiter · hiring-manager · technical-screener
Recruiting & TA

Stack

Un Claude Skill qui score la soumission à un test à emporter d’un candidat contre un rubrique rédigé par l’équipe d’embauche, avec des citations ligne par ligne depuis le code ou les documents soumis, et produit un rapport d’évaluation structuré — sans jamais valider ou invalider automatiquement. Le panel d’entretien utilise le rapport pour ancrer le debrief en direct ; la vraie décision embauche/non-embauche se produit dans la discussion du panel, pas dans le rapport. Remplace les 60-90 minutes désorganisées de lecture par panéliste de « j’ai lu ça samedi matin et je pense que c’était pas mal ? » par une revue structurée de 15 minutes par panéliste plus un debrief calibré de 30 minutes.

Quand l’utiliser

  • Le poste utilise un test à emporter comme étape dans le process (entretiens structurés prérequis — sans rubrique écrit, le skill n’a rien à scorer).
  • Vous voulez un scoring cohérent entre les panélistes. Les revues de tests à emporter sont notoirement incohérentes parce que chaque panéliste lit à un moment différent avec un niveau d’attention différent ; le rapport ancré dans le rubrique est l’artefact de nivellement.
  • Le test à emporter est un exercice de code, une écriture de conception système, un exercice écrit (brouillon de PRD, mock-write-up d’appel de vente), ou un build d’intégration qui produit des artefacts inspectables.

Quand NE PAS l’utiliser

  • Valider/invalider automatiquement dans le process. Le skill produit un rapport scoré. La décision d’embauche se produit dans le debrief du panel. Câbler le score agrégé du rapport à une transition d’étape déclenche la même exposition NYC LL 144 / AI Act européen que l’auto-rejet au screening.
  • Entretiens de code en direct. Workflow différent (observation en direct du processus, pas évaluation d’artefact). Le workflow de debrief d’entretien couvre ce cas.
  • Tests à emporter de plus de 4 heures de travail candidat. Les longs tests à emporter sont eux-mêmes un anti-pattern d’expérience candidat ; le skill ne corrigera pas cela.
  • Soumissions où le candidat n’a pas signé la déclaration d’usage de l’IA. Le scoring du rubrique est calibré contre une politique d’usage de l’IA spécifique (par ex. « outils IA autorisés pour l’aide à la syntaxe, pas pour la génération de solution ») ; sans la déclaration, le skill ne peut pas calibrer la détection de « signal IA uniquement ».
  • Détection de plagiat comme usage principal. Le skill signale les patterns suspects (correspondances verbatim avec des dépôts publics, boilerplate IA générique généré de façon suspecte) mais n’est pas un outil de détection de plagiat légal. Utilisez un outil dédié si vous avez besoin de résultats de plagiat défendables.

Setup

  1. Déposez le bundle. Placez apps/web/public/artifacts/take-home-evaluator-claude-skill/SKILL.md dans votre répertoire de skills Claude Code.
  2. Rédigez le rubrique. Par test à emporter, écrivez un rubrique JSON avec les dimensions que vous scorez réellement (justesse, qualité du code, prise de décision documentée dans les commentaires / README, gestion des erreurs, couverture de tests). Ancres par dimension à 1-5. Le template se trouve dans references/1-take-home-rubric-template.md.
  3. Configurez la politique d’usage de l’IA. Le prompt du skill dit explicitement à Claude quel usage de l’IA était autorisé (« aide à la syntaxe uniquement », « outils IA autorisés tout au long », « pas d’outils IA », etc.). Le paramètre correspond au langage de déclaration dans le brief du test à emporter — ils doivent correspondre.
  4. Définissez le mode de distribution aux panélistes. Soit le mode mono-panéliste (un rapport par soumission) soit le mode par panéliste (chaque panéliste reçoit la même soumission, génère sa propre évaluation, et le skill agrège les deltas inter-panélistes). Le mode par panéliste détecte la dérive de scoring mais double le coût modèle.
  5. Testez sur un test à emporter clôturé. Scorez un test à emporter d’un candidat embauché (ou non) le trimestre dernier. Comparez les scores par dimension du skill aux scores réels du panel. Ajustez les ancres du rubrique si le skill pondère différemment les dimensions.

Ce que le skill fait réellement

Six étapes. L’ordre compte : les vérifications déterministes (compilation, exécution, structure des fichiers) se produisent avant que le LLM ne score quoi que ce soit, parce que laisser le modèle scorer une soumission non fonctionnelle produit un rapport confiant sur un artefact cassé.

  1. Valider la forme de la soumission. Vérifier que tous les livrables nommés dans le brief du test à emporter existent (par ex. README.md, fichiers source, fichiers de tests). Livrables manquants → signaler dans le rapport ; ne PAS scorer ces dimensions.
  2. Exécuter les vérifications déterministes. Compiler le code. Exécuter la suite de tests que le candidat a écrite. Capturer la sortie. Ce sont les résultats auditables et reproductibles — le LLM ne les rejoue pas.
  3. Scorer par dimension du rubrique. Pour chaque dimension dans le rubrique, scorer 1-5 avec des citations verbatim depuis la soumission du candidat (chemin de fichier + plage de lignes + le code ou texte). Les citations sont requises ; sans citation, le score se défaut à l’ancre 1 du rubrique. L’exigence de citation maintient le modèle ancré dans la soumission réelle plutôt que dans un feedback générique.
  4. Détecter le signal d’usage de l’IA contre la politique. Exécuter des vérifications de patterns contre la politique d’usage de l’IA déclarée. Les correspondances verbatim avec du boilerplate IA générique public, le style suspicieusement cohérent entre fichiers de complexité variable, ou les commentaires génériques sans engagement avec les décisions spécifiques au problème font tous remonter des notes ai-use-signal — pas comme violation, juste comme signal que le panel discute contre la politique déclarée.
  5. Calculer l’agrégat SANS recommandation embauche/non-embauche. Sommer les scores par dimension. Exposer l’agrégat comme chiffre. Ne PAS traduire l’agrégat en recommandation. Le skill renvoie explicitement « rapport ; pas une décision » plutôt que « pass / fail ».
  6. Émettre un rapport par panéliste ou agrégé. En mode mono-panéliste, le rapport va au panéliste appelant. En mode par panéliste, le skill agrège entre panélistes, expose les deltas inter-panélistes par dimension (et quel panéliste a vu quoi différemment), et émet un rapport prêt pour le debrief.

Coûts réels

Par soumission de test à emporter, sur Claude Sonnet 4.6 :

  • Tokens LLM — typiquement 15-30 000 tokens d’input (rubrique + code/texte de soumission + instructions du skill) et 3-5 000 tokens d’output (rapport scoré par dimension). Environ 0,15-0,25 $ par soumission en mode mono-panéliste. Le mode par panéliste (3-4 panélistes) multiplie linéairement.
  • Coût CI / sandbox — exécuter la suite de tests du candidat coûte ce que votre CI coûte normalement ; généralement négligeable. L’exécution en sandbox (recommandée — n’exécutez jamais le code du candidat sur le laptop du panel) coûte ce que votre fournisseur de runner sandbox facture.
  • Temps du panéliste — le gain. La première passe de revue d’un test à emporter par un panéliste est de 60-90 minutes quand c’est fait bien, moins quand c’est fait mal. Examiner le rapport du skill et noter accord/désaccord par dimension est de 15-25 minutes. Temps panel total économisé par test à emporter : 2-3 heures de panéliste.
  • Temps de setup — 40 minutes une fois pour le rubrique et le mapping de politique d’usage de l’IA par format de test à emporter. La réutilisation entre postes de la même famille est élevée.

Métrique de succès

Suivez trois choses par cycle de test à emporter :

  • Variance de score inter-panélistes — variance entre les scores par dimension des panélistes. Le skill devrait comprimer la variance (panélistes ancrés sur le même rubrique et les mêmes citations) sans forcer un accord artificiel. Une variance inférieure à ~0,5 (sur une échelle de 5 points) suggère que les panélistes approuvent le rapport du skill sans regard ; supérieure à ~1,5 suggère que les ancres du rubrique sont trop vagues pour que le test à emporter puisse discriminer.
  • Corrélation décision-embauche-versus-non-embauche avec l’agrégat du skill — sur un trimestre, la décision d’embauche du panel corrèle-t-elle avec l’agrégat du skill ? Devrait être positive mais PAS 1,0 ; si c’est 1,0, le panel défère automatiquement (ce qui est le mode d’échec contre lequel le skill est conçu), et si c’est 0, le rubrique ou le skill est désalligné avec ce que le panel valorise réellement.
  • Durée du debrief du test à emporter — temps d’horloge murale entre « tous les panélistes ont soumis leurs revues » et « décision enregistrée ». Devrait passer de 1-2 jours à moins de 4 heures, parce que le rapport est une ancre partagée.

Comparaison avec les alternatives

  • Versus les rapports de code CodeSignal / notation automatique HackerRank. Ces produits exécutent le code du candidat contre les cas de test de la plateforme et émettent un score. Choisissez-les si votre test à emporter est structuré input-bien-défini-vers-output-bien-défini (style LeetCode). Choisissez le skill si le test à emporter est un build (écrire un petit système, concevoir une API, rédiger un PRD), où le rubrique est le score et le score est le rubrique. Les deux sont complémentaires ; CodeSignal peut être l’input vers l’étape d’exécution de tests du skill.
  • Versus les tests à emporter corrigés à la main. La correction à la main est juste pour les recrutements à plus forts enjeux (ingénieur fondateur, IC principal) où le jugement narratif du panel est le livrable. Le skill rentabilise son coût de setup sur les 80 % de tests à emporter où l’application cohérente du rubrique est ce qui manque.
  • Versus ChatGPT-style « revois ce code ». Le chat générique renvoie un feedback générique. Le skill est structurellement différent : il requiert des citations verbatim, exécute les vérifications déterministes en premier, et refuse de produire une recommandation embauche/non-embauche.
  • Versus pas de test à emporter (process uniquement en direct). Un choix raisonnable pour les rôles seniors où les références et les tours en direct portent la charge. Le skill est sans pertinence si le process n’a pas de test à emporter.

Points de vigilance

  • Dérive vers validation/invalidation automatique. Garde-fou : la sortie du skill se termine par les scores par dimension et l’agrégat. Il n’y a pas de chaîne « pass » ou « fail ». Le schéma omet explicitement un champ de recommandation.
  • Hallucination de feedback générique. Garde-fou : chaque score de dimension requiert une citation verbatim (chemin de fichier + plage de lignes + contenu). Les scores sans citations se défautent à 1.
  • Héritage de biais du rubrique. Garde-fou : le rubrique est en amont de ce skill. Faites passer le rubrique par le cadrage de l’auditeur de slate de diversité — le rubrique score-t-il sur des dimensions avec un impact disparate connu (par ex. « utilise des idiomes obscurs », qui corrèle souvent avec le background bootcamp versus CS-program) ?
  • Faux positif de détection d’usage de l’IA. Garde-fou : les signaux d’usage de l’IA sont remontés comme notes, pas comme violations. Le panel examine contre la politique déclarée. Le flag automatique comme violation serait la mauvaise lecture ; l’usage légitime des outils IA (dans le cadre de la politique) est de plus en plus la norme.
  • Échec de sandboxing sur le code du candidat. Garde-fou : le skill recommande explicitement l’exécution en sandbox et avertit si l’environnement appelant exécute la suite de tests directement sur la machine du panel. N’exécutez jamais du code candidat non revu sur une machine ayant accès aux secrets du cabinet.
  • Explosion de la taille de la soumission. Garde-fou : si la soumission dépasse ~50 000 LOC, le skill avertit que le scoring sera partiel et invite le panéliste à identifier les parties sur lesquelles se concentrer. Les tests à emporter qui produisent 50 000 LOC sont eux-mêmes un signe que le brief était faux.

Stack

Le bundle du skill se trouve dans apps/web/public/artifacts/take-home-evaluator-claude-skill/ et contient :

  • SKILL.md — la définition du skill
  • references/1-take-home-rubric-template.md — template de rubrique remplissable
  • references/2-ai-use-policy-mapping.md — comment la politique déclarée se mappe aux vérifications de patterns du skill

Outils supposés que vous utilisez : Claude (le modèle). Optionnel : CodeSignal ou HackerRank pour le leg de vérification déterministe ; Ashby pour la fiche candidat. L’exécution en sandbox est le choix du recruteur / hiring manager (conteneurs Docker, GitHub Actions, etc.).

Concepts associés : entretiens structurés, entretiens comportementaux, expérience candidat, qualité de l’embauche.

Files in this artifact

Download all (.zip)