init
This commit is contained in:
commit
d295c7f139
1527 files changed
+270726
No files matched your search
@@ -0,0 +1,106 @@
|
||||
# career-ops -- Modes francophones (`modes/fr/`)
|
||||
|
||||
Ce dossier contient les traductions francaises des principaux modes career-ops pour les candidats qui ciblent le marche francophone (France, Belgique, Suisse romande, Luxembourg, Quebec).
|
||||
|
||||
## Quand utiliser ces modes ?
|
||||
|
||||
Utilise `modes/fr/` si au moins une de ces conditions est remplie :
|
||||
|
||||
- Tu postules principalement a des **offres d'emploi en francais** (Welcome to the Jungle, Indeed FR, APEC, Pole emploi / France Travail, LinkedIn FR, sites carrieres)
|
||||
- Ton **CV est en francais** ou tu alternes entre FR et EN selon l'offre
|
||||
- Tu as besoin de reponses et lettres de motivation en **francais tech naturel**, pas traduit par une machine
|
||||
- Tu dois gerer des **specificites contractuelles francophones** : convention collective, RTT, mutuelle, prevoyance, 13e mois, periode d'essai, preavis, cheques-dejeuner, interessement/participation, portage salarial
|
||||
|
||||
Si la plupart de tes offres sont en anglais, reste sur les modes standard dans `modes/`. Les modes anglais fonctionnent pour les offres francophones, mais ne connaissent pas les specificites du marche francophone en detail.
|
||||
|
||||
## Comment activer ?
|
||||
|
||||
### Option 1 -- Par session
|
||||
|
||||
Dis a Claude en debut de session :
|
||||
|
||||
> "Utilise les modes francais sous `modes/fr/`."
|
||||
|
||||
Claude lira alors les fichiers de ce dossier au lieu de `modes/`.
|
||||
|
||||
### Option 2 -- En permanence
|
||||
|
||||
Ajoute dans `config/profile.yml` :
|
||||
|
||||
```yaml
|
||||
language:
|
||||
primary: fr
|
||||
modes_dir: modes/fr
|
||||
```
|
||||
|
||||
Rappelle-le a Claude lors de ta premiere session ("Regarde dans `profile.yml`, j'ai configure `language.modes_dir`"). Claude utilisera automatiquement les modes francais.
|
||||
|
||||
## Quels modes sont traduits ?
|
||||
|
||||
Cette premiere iteration couvre les quatre modes a plus fort impact :
|
||||
|
||||
| Fichier | Traduit depuis | Role |
|
||||
|---------|----------------|------|
|
||||
| `_shared.md` | `modes/_shared.md` (EN) | Contexte partage, archetypes, regles globales, specificites marche francophone |
|
||||
| `offre.md` | `modes/oferta.md` (ES) | Evaluation complete d'une offre (Blocs A-F) |
|
||||
| `postuler.md` | `modes/apply.md` (EN) | Assistant live pour remplir les formulaires de candidature |
|
||||
| `pipeline.md` | `modes/pipeline.md` (ES) | Inbox d'URLs / Second Brain pour les offres collectees |
|
||||
|
||||
Les autres modes (`scan`, `batch`, `pdf`, `tracker`, `auto-pipeline`, `deep`, `contacto`, `ofertas`, `project`, `training`) restent en EN/ES. Leur contenu est surtout du tooling, des chemins et des commandes -- il doit rester independant de la langue.
|
||||
|
||||
## Ce qui reste en anglais
|
||||
|
||||
Volontairement non traduit car vocabulaire tech standard :
|
||||
|
||||
- `cv.md`, `pipeline`, `tracker`, `report`, `score`, `archetype`, `proof point`
|
||||
- Noms d'outils (`Playwright`, `WebSearch`, `WebFetch`, `Read`, `Write`, `Edit`, `Bash`)
|
||||
- Valeurs de statut dans le tracker (`Evaluated`, `Applied`, `Interview`, `Offer`, `Rejected`)
|
||||
- Extraits de code, chemins, commandes
|
||||
|
||||
Les modes utilisent du francais tech naturel, tel qu'il est parle dans les equipes engineering a Paris, Lyon ou Geneve : texte courant en francais, termes techniques en anglais la ou c'est l'usage. Pas de traduction forcee de "Pipeline" en "Canalisation" ni de "Deploy" en "Deploiement applicatif".
|
||||
|
||||
## Lexique de reference
|
||||
|
||||
Pour garder un ton coherent si tu modifies ou etends les modes :
|
||||
|
||||
| Anglais | Francais (dans cette codebase) |
|
||||
|---------|-------------------------------|
|
||||
| Job posting | Offre d'emploi / Annonce |
|
||||
| Application | Candidature |
|
||||
| Cover letter | Lettre de motivation |
|
||||
| Resume / CV | CV |
|
||||
| Salary | Salaire / Remuneration |
|
||||
| Compensation | Remuneration / Package |
|
||||
| Skills | Competences |
|
||||
| Interview | Entretien |
|
||||
| Hiring manager | Manager recruteur / Hiring manager |
|
||||
| Recruiter | Recruteur (ou Recruiter) |
|
||||
| AI | IA (Intelligence Artificielle) |
|
||||
| Requirements | Prerequis / Exigences |
|
||||
| Career history | Parcours professionnel |
|
||||
| Notice period | Preavis |
|
||||
| Probation | Periode d'essai |
|
||||
| Vacation | Conges payes (CP) |
|
||||
| 13th month salary | 13e mois / Prime de fin d'annee |
|
||||
| Permanent employment | CDI (Contrat a Duree Indeterminee) |
|
||||
| Fixed-term contract | CDD (Contrat a Duree Determinee) |
|
||||
| Freelance | Freelance / Independant / Auto-entrepreneur |
|
||||
| Collective agreement | Convention collective |
|
||||
| Works council | CSE (Comite Social et Economique) |
|
||||
| Profit sharing | Interessement / Participation |
|
||||
| Meal vouchers | Titres-restaurant / Cheques-dejeuner |
|
||||
| Health insurance | Mutuelle d'entreprise |
|
||||
| Disability/life insurance | Prevoyance |
|
||||
| RTT | RTT (Reduction du Temps de Travail) |
|
||||
| Cadre status | Statut cadre |
|
||||
| SYNTEC | Convention SYNTEC (IT/consulting) |
|
||||
|
||||
## Contribuer
|
||||
|
||||
Pour ameliorer une traduction ou ajouter un mode :
|
||||
|
||||
1. Ouvre une Issue avec ta proposition (voir `CONTRIBUTING.md`)
|
||||
2. Respecte le lexique ci-dessus pour garder le ton coherent
|
||||
3. Traduis de maniere idiomatique -- pas de traduction mot a mot
|
||||
4. Conserve les elements structurels (Blocs A-F, tableaux, blocs de code, instructions outils) a l'identique
|
||||
5. Teste avec une vraie offre francophone (Welcome to the Jungle, APEC, Indeed FR) avant de soumettre la PR
|
||||
@@ -0,0 +1,205 @@
|
||||
# Contexte partage -- career-ops (Francais)
|
||||
|
||||
<!-- ============================================================
|
||||
PERSONNALISATION DE CE FICHIER
|
||||
============================================================
|
||||
Ce fichier contient le contexte partage pour tous les modes
|
||||
career-ops en version francaise. Avant d'utiliser career-ops, tu DOIS :
|
||||
1. Remplir config/profile.yml avec tes informations personnelles
|
||||
2. Creer cv.md a la racine du projet (CV en Markdown)
|
||||
3. (Optionnel) Creer article-digest.md avec tes proof points
|
||||
4. Adapter les sections marquees [PERSONNALISER] ci-dessous
|
||||
============================================================ -->
|
||||
|
||||
## Sources de verite (TOUJOURS lire avant chaque evaluation)
|
||||
|
||||
| Fichier | Chemin | Quand |
|
||||
|---------|--------|-------|
|
||||
| cv.md | `cv.md` (racine du projet) | TOUJOURS |
|
||||
| article-digest.md | `article-digest.md` (si existant) | TOUJOURS (proof points detailles) |
|
||||
| profile.yml | `config/profile.yml` | TOUJOURS (identite et roles cibles) |
|
||||
|
||||
**REGLE : Ne JAMAIS coder en dur des metriques issues des proof points.** Les lire depuis `cv.md` et `article-digest.md` au moment de l'evaluation.
|
||||
**REGLE : Pour les metriques d'articles/projets, `article-digest.md` a priorite sur `cv.md`** (`cv.md` peut contenir des chiffres plus anciens).
|
||||
|
||||
---
|
||||
|
||||
## North Star -- Roles cibles
|
||||
|
||||
Le skill traite TOUS les roles cibles avec le meme soin. Aucun n'est primaire ou secondaire -- chacun est un succes si la remuneration et les perspectives d'evolution sont au rendez-vous :
|
||||
|
||||
| Archetype | Axes thematiques | Ce que l'entreprise achete |
|
||||
|-----------|------------------|----------------------------|
|
||||
| **AI Platform / LLMOps Engineer** | Evaluation, Observability, Fiabilite, Pipelines | Quelqu'un qui met l'IA en production avec des metriques |
|
||||
| **Agentic Workflows / Automation** | HITL, Tooling, Orchestration, Multi-Agent | Quelqu'un qui construit des systemes agents fiables |
|
||||
| **Technical AI Product Manager** | GenAI/Agents, PRDs, Discovery, Delivery | Quelqu'un qui traduit le business en produits IA |
|
||||
| **AI Solutions Architect** | Hyperautomation, Enterprise, Integrations | Quelqu'un qui concoit des architectures IA end-to-end |
|
||||
| **AI Forward Deployed Engineer** | Client-facing, Livraison rapide, Prototypage | Quelqu'un qui deploie des solutions IA rapidement chez le client |
|
||||
| **AI Transformation Lead** | Conduite du changement, Adoption, Enablement | Quelqu'un qui pilote la transformation IA dans les organisations |
|
||||
|
||||
<!-- [PERSONNALISER] Adapte les archetypes ci-dessus a tes roles cibles.
|
||||
Exemple pour le backend engineering :
|
||||
- Senior Backend Engineer
|
||||
- Staff Platform Engineer
|
||||
- Engineering Manager
|
||||
etc. -->
|
||||
|
||||
### Framing adaptatif par archetype
|
||||
|
||||
> **Metriques concretes : les lire depuis `cv.md` et `article-digest.md` au moment de l'evaluation. JAMAIS les coder en dur ici.**
|
||||
|
||||
| Si le role est... | Mettre en avant chez le candidat... | Sources de proof points |
|
||||
|-------------------|-------------------------------------|-------------------------|
|
||||
| Platform / LLMOps | Experience production, observability, evals, closed-loop | article-digest.md + cv.md |
|
||||
| Agentic / Automation | Orchestration multi-agent, HITL, fiabilite, couts | article-digest.md + cv.md |
|
||||
| Technical AI PM | Product discovery, PRDs, metriques, gestion des parties prenantes | cv.md + article-digest.md |
|
||||
| Solutions Architect | Conception systeme, integrations, pret pour l'entreprise | article-digest.md + cv.md |
|
||||
| Forward Deployed Engineer | Livraison rapide, proximite client, prototype a production | cv.md + article-digest.md |
|
||||
| AI Transformation Lead | Conduite du changement, enablement d'equipe, adoption | cv.md + article-digest.md |
|
||||
|
||||
<!-- [PERSONNALISER] Associe tes projets/articles concrets aux archetypes ci-dessus -->
|
||||
|
||||
### Narratif de transition (a utiliser dans TOUS les framings)
|
||||
|
||||
<!-- [PERSONNALISER] Remplace par ton propre narratif. Exemples :
|
||||
- "SaaS construite et vendue apres 5 ans. Desormais 100% focus sur l'IA appliquee en entreprise."
|
||||
- "Lead engineering dans une Series-B pendant une croissance x10. En quete du prochain defi."
|
||||
- "Transition du conseil vers le produit. Recherche de roles a forte responsabilite."
|
||||
Lu depuis config/profile.yml -> narrative.exit_story -->
|
||||
|
||||
Utiliser le narratif de transition depuis `config/profile.yml` pour cadrer TOUS les contenus :
|
||||
- **Dans les summaries PDF :** Faire le pont entre le passe et le futur -- "Applique desormais les memes [competences] au domaine [de l'offre]."
|
||||
- **Dans les stories STAR :** Faire reference aux proof points de `article-digest.md`.
|
||||
- **Dans les reponses draft (Bloc G) :** Le narratif de transition va dans la premiere reponse.
|
||||
- **Quand l'offre mentionne "entrepreneurial", "autonomie", "builder", "end-to-end" :** C'est LE differenciateur n.1. Augmenter le poids du match.
|
||||
|
||||
### Avantage transversal
|
||||
|
||||
Cadrer le profil comme **"Builder technique avec une pratique demontrable"**, en adaptant le framing au role :
|
||||
- Pour PM : "Builder qui reduit l'incertitude avec des prototypes puis livre en production de maniere disciplinee"
|
||||
- Pour FDE : "Builder qui livre des le jour 1 avec observability et metriques"
|
||||
- Pour SA : "Builder qui concoit des systemes end-to-end avec une vraie experience d'integration"
|
||||
- Pour LLMOps : "Builder qui met l'IA en production avec des systemes qualite en boucle fermee"
|
||||
|
||||
Positionner "Builder" comme signal professionnel -- pas comme "bricoleur". Les proof points reels rendent ca credible.
|
||||
|
||||
### Portfolio comme proof point (utiliser dans les candidatures a fort enjeu)
|
||||
|
||||
<!-- [PERSONNALISER] Si tu as une demo live, un dashboard ou un projet public, configure-le ici.
|
||||
Exemple :
|
||||
dashboard:
|
||||
url: "https://tondomaine.dev/demo"
|
||||
password: "demo-2026"
|
||||
when_to_share: "Roles LLMOps, AI Platform, Observability"
|
||||
Lu depuis config/profile.yml -> narrative.proof_points et narrative.dashboard -->
|
||||
|
||||
Si le candidat a une demo live / un dashboard (verifier `profile.yml`), proposer l'acces dans les candidatures pertinentes.
|
||||
|
||||
### Intelligence remuneration (Comp Intelligence)
|
||||
|
||||
<!-- [PERSONNALISER] Recherche les fourchettes de remuneration pour tes roles cibles et adapte les valeurs -->
|
||||
|
||||
**Conseils generaux :**
|
||||
- WebSearch pour les donnees marche actuelles (Glassdoor, Levels.fyi, Welcome to the Jungle, APEC, Talent.io, Indeed Salaires)
|
||||
- Cadrer par titre de poste, pas par competences -- les titres definissent les bandes salariales
|
||||
- Les taux freelance en France sont generalement 30-50% au-dessus du brut horaire equivalent CDI (charges sociales, conges, maladie, prospection)
|
||||
- Le geo-arbitrage fonctionne en remote : cout de la vie plus bas = meilleur net
|
||||
|
||||
### Marche francophone -- Specificites (IMPORTANT)
|
||||
|
||||
Dans les offres et negociations francophones, certains termes n'existent pas sur les marches EN/ES. Ils DOIVENT etre correctement pris en compte :
|
||||
|
||||
| Terme | Signification | Impact sur l'evaluation |
|
||||
|-------|---------------|-------------------------|
|
||||
| **CDI** (Contrat a Duree Indeterminee) | Equivalent du "permanent employment". Le graal en France | Standard attendu. Un CDD pour un senior est un signal d'alerte |
|
||||
| **CDD** (Contrat a Duree Determinee) | Contrat temporaire, duree fixe | Acceptable pour des missions specifiques. Sinon, questionner pourquoi pas CDI |
|
||||
| **Periode d'essai** | 3-4 mois cadre (renouvelable 1 fois, max 8 mois total) | Standard marche. Flaguer si > 4 mois initial |
|
||||
| **Preavis** | 1-3 mois selon convention collective et anciennete | Planifier la date de demarrage en consequence |
|
||||
| **Statut cadre** | Categorie socio-professionnelle specifique a la France. Implique forfait jours, cotisations differentes | La quasi-totalite des postes tech sont cadre. Verifier si mentionne |
|
||||
| **Convention collective SYNTEC** | Convention la plus courante en IT/conseil. Definit minima salariaux, classifications | Verifier la classification (position + coefficient) pour valider le salaire |
|
||||
| **RTT** (Reduction du Temps de Travail) | Jours de repos supplementaires (8-12/an en general) pour les cadres au forfait | Un vrai plus. Equivalent a 1-2 semaines de conges en plus |
|
||||
| **13e mois** | Mois de salaire supplementaire, souvent verse en decembre | Inclure dans le calcul : brut annuel = brut mensuel x 13. NE JAMAIS oublier dans la comparaison |
|
||||
| **Interessement / Participation** | Partage des benefices. Participation obligatoire > 50 salaries | Peut representer 1-3 mois de salaire. Verifier l'historique |
|
||||
| **Titres-restaurant** | Cheques-dejeuner (Swile, Edenred). Part employeur ~60% | Petit avantage mais courant. ~1000-1500 EUR/an d'economie |
|
||||
| **Mutuelle** | Complementaire sante obligatoire. Part employeur >= 50% | Standard. Verifier si la couverture est bonne (famille, optique, dentaire) |
|
||||
| **Prevoyance** | Assurance deces/invalidite/incapacite | Plus rare comme argument de vente, mais important a verifier |
|
||||
| **CSE** (Comite Social et Economique) | Instance representative du personnel | Avantages CSE (cheques vacances, culture, sport) = bonus non negligeable dans les grands groupes |
|
||||
| **Conges payes** | 25 jours legaux (5 semaines). Certaines conventions donnent plus | < 25 jours = illegal en France. 25 + RTT = standard tech. > 30 jours = excellent |
|
||||
| **Portage salarial** | Statut hybride entre salariat et freelance | Alternative au freelance pur. Simplifie l'administratif mais cout ~10% |
|
||||
| **Auto-entrepreneur / Micro-entreprise** | Statut freelance simplifie, plafond de CA | Pour les missions courtes. Attention au plafond et aux charges |
|
||||
|
||||
### Scripts de negociation
|
||||
|
||||
<!-- [PERSONNALISER] Adapte a ta situation -->
|
||||
|
||||
**Pretentions salariales (framework general) :**
|
||||
> "Sur la base des donnees marche actuelles pour ce type de poste, je vise une fourchette de [FOURCHETTE depuis profile.yml]. Je reste flexible sur la structure -- c'est le package global et les perspectives d'evolution qui comptent."
|
||||
|
||||
**Reponse a une decote geographique :**
|
||||
> "Les roles sur lesquels je suis en concurrence sont axes sur les resultats, pas sur la localisation. Mon track record ne change pas avec le code postal."
|
||||
|
||||
**Si l'offre est en dessous de la cible :**
|
||||
> "Je suis actuellement en discussion sur des packages dans la fourchette [fourchette superieure]. [Entreprise] m'attire pour [raison]. Est-il possible d'atteindre [cible] ?"
|
||||
|
||||
**Negociation sur le 13e mois / variable :**
|
||||
> "Pour comparer les packages de maniere equitable, pourriez-vous detailler le fixe brut annuel, le 13e mois eventuel, et la part variable separement ?"
|
||||
|
||||
### Politique de localisation (Location Policy)
|
||||
|
||||
<!-- [PERSONNALISER] Adapte a ta situation. Lu depuis config/profile.yml -> location -->
|
||||
|
||||
**Dans les formulaires :**
|
||||
- Questions binaires "Pouvez-vous etre sur site ?" : repondre selon la disponibilite reelle dans `profile.yml`
|
||||
- Champs libres : indiquer le chevauchement horaire et la disponibilite explicitement
|
||||
|
||||
**Dans les evaluations (scoring) :**
|
||||
- Dimension remote pour du hybride hors de ton pays : Score **3.0** (pas 1.0)
|
||||
- Score 1.0 uniquement si l'offre dit explicitement "presence obligatoire 4-5 jours/semaine, aucune exception"
|
||||
|
||||
### Priorite time-to-offer
|
||||
- Demo fonctionnelle + metriques > perfection
|
||||
- Postuler vite > apprendre davantage
|
||||
- Approche 80/20, tout est timebox
|
||||
|
||||
---
|
||||
|
||||
## Regles globales
|
||||
|
||||
### JAMAIS
|
||||
|
||||
1. Inventer de l'experience ou des metriques
|
||||
2. Modifier `cv.md` ou les fichiers portfolio
|
||||
3. Soumettre des candidatures au nom du candidat
|
||||
4. Partager un numero de telephone dans les messages generes
|
||||
5. Recommander une remuneration en dessous du marche
|
||||
6. Generer un PDF sans avoir lu l'offre avant
|
||||
7. Utiliser du jargon corporate ou des formules creuses
|
||||
8. Ignorer le tracker (chaque offre evaluee est enregistree)
|
||||
|
||||
### TOUJOURS
|
||||
|
||||
0. **Lettre de motivation :** Si le formulaire le permet, TOUJOURS en inclure une. PDF dans le meme design visuel que le CV. Citations de l'offre mappees sur les proof points. 1 page max.
|
||||
1. Lire `cv.md` et `article-digest.md` (si existant) avant d'evaluer une offre
|
||||
1b. **Premiere evaluation de chaque session :** Lancer `node cv-sync-check.mjs` via Bash. En cas d'alertes, prevenir le candidat
|
||||
2. Detecter l'archetype du role et adapter le framing
|
||||
3. Citer des lignes exactes du CV lors du matching
|
||||
4. Utiliser WebSearch pour les donnees de remuneration et d'entreprise
|
||||
5. Enregistrer dans le tracker apres chaque evaluation
|
||||
6. Generer le contenu dans la langue de l'offre (francais si l'offre est en francais, anglais sinon)
|
||||
7. Etre direct et concret -- pas de blabla
|
||||
8. Francais tech naturel pour les textes generes. Phrases courtes, verbes d'action, eviter le passif. Ne pas traduire de force les termes techniques (stack, pipeline, deployment, embedding)
|
||||
8b. **URLs de case studies dans le Professional Summary du PDF :** Si le PDF mentionne des case studies ou demos, les URLs DOIVENT apparaitre dans le premier paragraphe (Professional Summary). Les recruteurs ne lisent souvent que le summary. Toutes les URLs en HTML avec `white-space: nowrap`
|
||||
9. **Entrees tracker en TSV** -- NE JAMAIS editer applications.md directement pour de nouveaux ajouts. Ecrire le TSV dans `batch/tracker-additions/`, `merge-tracker.mjs` gere la fusion
|
||||
10. **`**URL:**` dans chaque en-tete de report** -- entre Score et PDF
|
||||
|
||||
### Outils
|
||||
|
||||
| Outil | Usage |
|
||||
|-------|-------|
|
||||
| WebSearch | Recherche remuneration, tendances, culture d'entreprise, contacts LinkedIn, fallback offres |
|
||||
| WebFetch | Fallback pour extraire les offres depuis des pages statiques |
|
||||
| Playwright | Verifier si les offres sont actives (browser_navigate + browser_snapshot), extraire les offres depuis des SPAs. **CRITIQUE : JAMAIS 2+ agents en parallele avec Playwright -- ils partagent la meme instance navigateur** |
|
||||
| Read | cv.md, article-digest.md, cv-template.html |
|
||||
| Write | HTML temporaire pour PDF, applications.md, reports .md |
|
||||
| Edit | Mettre a jour le tracker |
|
||||
| Bash | `node generate-pdf.mjs` |
|
||||
@@ -0,0 +1,204 @@
|
||||
# Mode: interview/debrief — Débriefing post-entretien
|
||||
|
||||
Après un véritable entretien, capturez ce qui a été demandé, évaluez ce qui a fonctionné et ce qui n'a pas fonctionné, comblez les lacunes avant le prochain round et mettez à jour la banque de questions.
|
||||
|
||||
---
|
||||
|
||||
## When to Run This Skill
|
||||
|
||||
- Immédiatement après un vrai entretien (pendant que la mémoire est fraîche)
|
||||
- Après un appel avec un recruteur qui a fait remonter de nouvelles informations sur le processus
|
||||
- Lorsque le candidat apprend le format du prochain round et le nom de l'intervieweur
|
||||
|
||||
---
|
||||
|
||||
## Inputs
|
||||
|
||||
1. **Débriefing de l'entretien par le candidat** — quelles questions ont été posées, comment il a répondu, ce qui a semblé solide ou faible
|
||||
2. **Nom et rôle de l'intervieweur** — informe la prédiction pour le prochain round
|
||||
3. **Résultat du round** (si connu) — avance / rejeté / en attente
|
||||
4. **Détails du prochain round** (si connu) — format, intervieweurs, calendrier
|
||||
5. **Banque de questions** dans `interview-prep/question-bank.md` — mise à jour avec de vraies données
|
||||
6. **Banque d'histoires** dans `interview-prep/story-bank.md` — ajoute de nouvelles histoires si elles font surface
|
||||
7. **CV** dans `cv.md` + `article-digest.md` (si présent) — pour ancrer les réponses suggérées dans une expérience réelle
|
||||
8. **Affirmations rétractées** dans `interview-prep/retracted-claims.md` (si présent) — barrière stricte ; n'utilisez jamais une affirmation rétractée dans une réponse suggérée même si le candidat l'a dite pendant l'entretien
|
||||
9. **Fichier de préparation spécifique au rôle** — ajoutez les notes de débriefing
|
||||
|
||||
---
|
||||
|
||||
## Step 1 — Capture What Was Asked
|
||||
|
||||
Demandez au candidat d'énumérer toutes les questions dont il se souvient, dans l'ordre si possible. Ne suggérez pas d'options — laissez-le d'abord se souvenir librement.
|
||||
|
||||
Pour chaque question capturée :
|
||||
|
||||
- Qu'ont-ils dit ?
|
||||
- Comment l'intervieweur a-t-il réagi (signal positif, neutre, a repoussé, est passé rapidement à autre chose) ?
|
||||
- Se sont-ils sentis confiants ou incertains ?
|
||||
|
||||
Si la mémoire est incomplète, posez des questions ciblées :
|
||||
|
||||
- "Y a-t-il eu des questions qui vous ont pris au dépourvu ?"
|
||||
- "Y a-t-il quelque chose auquel vous auriez souhaité répondre différemment ?"
|
||||
- "L'intervieweur a-t-il relancé sur quoi que ce soit — cela signifie généralement qu'il en voulait plus ?"
|
||||
|
||||
---
|
||||
|
||||
## Step 2 — Honest Assessment Per Question
|
||||
|
||||
Pour chaque question, produisez :
|
||||
|
||||
```markdown
|
||||
**Q: [question]**
|
||||
- Ce qui a été dit : [résumé de leur réponse]
|
||||
- Ce qui a fonctionné : [ce qui était bon — soyez spécifique]
|
||||
- Ce qui manquait : [lacune — terme technique précis, résultat manquant, pas de réflexion, etc.]
|
||||
- Réponse correcte/complète : [ce que la réponse complète devrait inclure]
|
||||
- Statut : ✅ Solide / 🟡 Correct / 🔴 Lacune
|
||||
```
|
||||
|
||||
Soyez direct. S'ils ont raté le concept central que la question testait, dites-le. Si une réponse était véritablement forte, dites-le aussi. Le débriefing est le moment d'apprentissage le plus précieux — l'imprécision le gaspille.
|
||||
|
||||
---
|
||||
|
||||
## Step 3 — Update Question Bank
|
||||
|
||||
Pour chaque question débriefée, mettez à jour `interview-prep/question-bank.md` :
|
||||
|
||||
- Changez le statut en ✅ / 🟡 / 🔴 en fonction de la performance réelle
|
||||
- Ajoutez des notes de lacune à partir du débriefing
|
||||
- Ajoutez toute nouvelle question qui est apparue et qui n'était pas encore dans la banque
|
||||
|
||||
Si la banque de questions n'existe pas, créez-la avec les questions de cet entretien comme point de départ.
|
||||
|
||||
---
|
||||
|
||||
## Step 4 — Close the Gaps
|
||||
|
||||
Pour chaque 🔴 lacune identifiée :
|
||||
|
||||
1. **Expliquez la bonne réponse** — claire, concise, avec un exemple travaillé (code, calcul, diagramme) là où cela aide
|
||||
2. **Connectez à une vraie histoire** si possible — "vous avez en fait cela dans votre [histoire existante de la banque d'histoires] — voici comment l'utiliser"
|
||||
3. **Ajoutez au fichier de préparation spécifique au rôle** sous une section "Lacunes à combler avant le round N"
|
||||
4. **Ajoutez à `interview-prep/interview-prep-guide.md`** (si le candidat en maintient un) quand il s'agit d'un principe réutilisable qui s'applique au-delà de ce rôle
|
||||
|
||||
---
|
||||
|
||||
## Step 5 — Extract New Stories
|
||||
|
||||
Parfois, un vrai entretien fait ressortir une histoire que le candidat n'avait pas préparée. Si le candidat a décrit une expérience qu'il n'avait pas formalisée :
|
||||
|
||||
> "Vous avez mentionné [X] dans votre réponse — cela ressemble à ce qui pourrait devenir une vraie histoire STAR+R. Voulez-vous la construire maintenant pendant que c'est frais ?"
|
||||
|
||||
Si oui, construisez-la comme une histoire STAR+R (Situation, Tâche, Action, Résultat, Réflexion) et ajoutez-la à `interview-prep/story-bank.md`.
|
||||
|
||||
---
|
||||
|
||||
## Step 6 — Next Round Intelligence
|
||||
|
||||
Si le candidat connaît le format du prochain round :
|
||||
|
||||
1. **Prévoyez les questions probables** en fonction de :
|
||||
- Le rôle du prochain intervieweur (par ex., praticien senior → profondeur dans la compétence centrale, conception ; pair interfonctionnel → collaboration, limites du domaine ; dirigeant → stratégie, impact sur l'entreprise)
|
||||
- Ce qui a été couvert dans ce round (le round suivant va généralement plus en profondeur, pas en largeur)
|
||||
- Ce qui a semblé le plus intéresser l'intervieweur dans ce round
|
||||
|
||||
Étiquetez chaque prédiction `[inferred]` — ne présentez jamais une question prédite comme si elle provenait de vrais candidats ou d'initiés.
|
||||
|
||||
2. **Créez une liste de priorités** pour la préparation du prochain round — ordonnée par gravité de la lacune et probabilité d'être testée
|
||||
|
||||
3. **Suggérez d'exécuter** `interview/plan` avec les détails du prochain round pour construire un plan de préparation complet
|
||||
|
||||
---
|
||||
|
||||
## Step 7 — Probability Assessment (Optional)
|
||||
|
||||
Si le candidat demande une lecture honnête de ses chances :
|
||||
|
||||
Évaluez en fonction de :
|
||||
|
||||
- Nombre et gravité des lacunes (🔴 sur les fondamentaux = risque plus élevé que 🔴 sur les sujets avancés)
|
||||
- Signaux de l'intervieweur (a donné des détails spécifiques sur le prochain round = positif ; vague = neutre ; appel court = risque)
|
||||
- Adéquation au rôle (années d'expérience, correspondance de domaine, localisation)
|
||||
- Différenciateurs (choses que le candidat a dites et que la plupart des candidats ne diraient pas)
|
||||
|
||||
Soyez honnête. Une fourchette de probabilité avec un raisonnement clair est plus utile qu'une fausse confiance.
|
||||
|
||||
---
|
||||
|
||||
## Step 8 — Save Debrief
|
||||
|
||||
Ajoutez à `interview-prep/{company-slug}-{role-slug}.md` :
|
||||
|
||||
```markdown
|
||||
## Round [N] Debrief — [YYYY-MM-DD]
|
||||
|
||||
**Intervieweur :** [nom, rôle]
|
||||
**Type de round :** [screening / technical / design-case-study / behavioral]
|
||||
**Résultat :** [pending / moved forward / rejected]
|
||||
|
||||
### Questions Asked
|
||||
[liste]
|
||||
|
||||
### Gaps Identified
|
||||
[liste avec les bonnes réponses]
|
||||
|
||||
### Next Round
|
||||
**Format :** [si connu]
|
||||
**Intervieweurs :** [si connu]
|
||||
**Préparation prioritaire :** [top 3 des sujets à combler avant le prochain round]
|
||||
|
||||
### Process Intel (recruiter / HM screens — omit if not applicable)
|
||||
**Rémunération discutée :** [oui / non — si oui, ce qui a été dit et ce qui a été ancré]
|
||||
**Calendrier :** [toutes les dates ou échéances mentionnées]
|
||||
**Autres candidats :** [si divulgué]
|
||||
**Prochaines étapes :** [ce que l'intervieweur a dit qu'il se passerait ensuite et d'ici quand]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 9 — Write Session Transcript
|
||||
|
||||
Après le débriefing, rédigez également une transcription de session lisible par machine vers `interview-prep/sessions/{company-slug}-{role-slug}-{round}-{YYYY-MM-DD}.md`. C'est un enregistrement structuré du round pour les modes d'analyse en aval ; les tours étiquetés par l'intervenant permettent à un consommateur de lire les deux côtés sans réinférer qui a parlé. Le contrat complet se trouve dans `interview-prep/sessions/README.md`.
|
||||
|
||||
Format :
|
||||
|
||||
```markdown
|
||||
---
|
||||
company: [company]
|
||||
role: [role]
|
||||
round: [screen | hiring-manager | technical | system-design | behavioral | onsite | final]
|
||||
date: YYYY-MM-DD
|
||||
interviewer_role: [rôle, si connu]
|
||||
source: debrief
|
||||
---
|
||||
|
||||
## Q1
|
||||
**Interviewer:** [question telle que posée]
|
||||
<!-- competency: tag[, tag...] -->
|
||||
**Candidate:** [réponse telle que livrée / reconstruite dans ce débriefing]
|
||||
|
||||
## Q2
|
||||
...
|
||||
```
|
||||
|
||||
Règles pour la transcription :
|
||||
|
||||
- **Mappez le type de round à l'énumération** ci-dessus (par ex. recruteur screen → `screen`, HM screen → `hiring-manager`, plongée technique approfondie → `technical`, conception/étude de cas → `system-design`).
|
||||
- **Taguez chaque réponse.** Sur la ligne juste au-dessus de chaque ligne `**Candidate:**`, émettez `<!-- competency: tag[, tag...] -->` — en minuscules kebab-case, séparés par des virgules pour les réponses multi-compétences (par ex. `system-design`, `people-leadership`, `incident-response`). Vous avez déjà évalué chaque réponse à l'étape 2, donc taguez à partir de cette évaluation plutôt que de relire. Les tags sont libres ; choisissez la compétence que la question a réellement testée.
|
||||
- **Reconstruisez fidèlement le tour du candidat.** Utilisez ce que le candidat a déclaré avoir dit à l'étape 1, et non une réponse idéalisée. La "réponse correcte/complète" de l'étape 2 appartient au fichier de débriefing, jamais dans la transcription — la transcription enregistre ce qui s'est passé.
|
||||
- **`source: debrief`.**
|
||||
- Le fichier de session atterrit dans un répertoire gitignored (les vrais noms/entreprises n'entrent jamais dans le contrôle de version) ; rédigez-le sans expurger.
|
||||
|
||||
---
|
||||
|
||||
## Rules
|
||||
|
||||
- **Débriefez immédiatement.** Le souvenir des détails de l'entretien se dégrade vite — en quelques heures, les questions et réactions spécifiques sont oubliées. Exécutez cette compétence le même jour.
|
||||
- **Ne minimisez pas les lacunes.** Une 🔴 lacune qui est qualifiée de 🟡 par gentillesse réapparaîtra lors du prochain round.
|
||||
- **Ne mettez jamais d'affirmations inventées dans la bouche du candidat.** Les réponses correctes/complètes peuvent s'appuyer sur des connaissances générales du domaine, mais toute affirmation personnelle ou mesure suggérée doit provenir de ce que le candidat a dit, de `cv.md`, de `article-digest.md` ou de la banque d'histoires.
|
||||
- **Les affirmations rétractées sont une barrière stricte.** Si une affirmation apparaît dans `interview-prep/retracted-claims.md`, ne suggérez jamais au candidat de l'utiliser — même s'il l'a dite lors du vrai entretien. Signalez-le : "Cette affirmation est dans votre liste rétractée — elle n'est pas défendable sous pression. Voici une version qui n'en dépend pas."
|
||||
- **Enregistrez de nouvelles rétractations.** Si le débriefing révèle une affirmation que le candidat a utilisée lors du vrai entretien et qu'il accepte maintenant de ne pas être défendable, proposez de l'ajouter à `interview-prep/retracted-claims.md` : `**"[affirmation]"** ([contexte]). Raison : [raison d'une ligne + formulation correcte si applicable].`
|
||||
- **Extrayez explicitement les lacunes de vocabulaire.** Si le candidat a utilisé un terme imprécis là où un terme précis existe, ajoutez-le à `interview-prep/interview-prep-guide.md` sous la section vocabulaire (si le candidat en maintient un).
|
||||
- **Une lacune = un correctif.** Ne surchargez pas avec un plan d'étude complet pour chaque lacune. Donnez la priorité à la ou aux deux plus susceptibles d'être testées lors du prochain round.
|
||||
- **Célébrez ce qui a fonctionné.** Le débriefing ne concerne pas seulement les lacunes. Nommez ce qui était solide — cela renforce le bon comportement et donne confiance pour le prochain round.
|
||||
@@ -0,0 +1,157 @@
|
||||
# Mode: interview/plan — Planificateur de préparation d'entretien
|
||||
|
||||
Étant donné une description de poste et la date/heure de l'entretien, créez un plan de préparation structuré et organisé par blocs de temps, adapté aux lacunes spécifiques du candidat.
|
||||
|
||||
---
|
||||
|
||||
## Inputs
|
||||
|
||||
1. **Description de poste** (requis) — collez en ligne ou fournissez l'URL
|
||||
2. **Date et heure de l'entretien** (requis) — pour calculer les heures disponibles
|
||||
3. **Nom et rôle de l'intervieweur** (si connu) — oriente la profondeur et le ton de la préparation
|
||||
4. **Type de round** (si connu) — sélection (screening), technique/spécifique au domaine, conception/étude de cas, panel comportemental
|
||||
5. **CV** dans `cv.md` + `article-digest.md` (si présent) — lire pour l'expérience, les compétences, les points de preuve
|
||||
6. **Profil** dans `config/profile.yml` + `modes/_profile.md` — lire pour la narration, les archétypes et les cibles
|
||||
7. **Banque d'histoires** dans `interview-prep/story-bank.md` — histoires STAR+R existantes
|
||||
8. **Banque de questions** dans `interview-prep/question-bank.md` — lacunes existantes (si le fichier existe)
|
||||
|
||||
---
|
||||
|
||||
## Step 1 — Fit Assessment
|
||||
|
||||
Lisez le CV et la JD (description de poste). Produisez une évaluation sur deux colonnes :
|
||||
|
||||
**Points forts sur lesquels s'appuyer :** expérience, titres, domaine, points de preuve qui correspondent directement à la JD.
|
||||
|
||||
**Lacunes à combler :** compétences, outils ou expériences mentionnés dans la JD qui sont absents ou faibles dans le CV. Classez par probabilité d'être testés dans ce type spécifique de round.
|
||||
|
||||
Soyez honnête. Une lacune est une lacune — signalez-la clairement pour que le temps de préparation soit alloué aux bons endroits.
|
||||
|
||||
---
|
||||
|
||||
## Step 2 — Round Intelligence
|
||||
|
||||
Identifiez ce que ce round évalue réellement en fonction de :
|
||||
|
||||
- Le rôle de l'intervieweur (manager = communication + passion + fondamentaux ; praticien = profondeur + jugement)
|
||||
- L'étiquette du round (sélection, technique/domaine, conception/étude de cas, final)
|
||||
- Les signaux de la JD (ce qu'ils mettent en évidence)
|
||||
|
||||
**Recruiter screen :**
|
||||
|
||||
- Coche les cases : adéquation, alignement de la rémunération, logistique, communication
|
||||
- Ce n'est pas un test technique — les questions approfondies viennent avec le Hiring Manager et dans les rounds suivants
|
||||
- Probable : pitch de présentation, "pourquoi nous / pourquoi ce rôle", attente salariale, calendrier, une question logistique
|
||||
- Traitez ceci comme le point de contrôle facile ; utilisez le temps de préparation pour construire les fondations de ce qui vient ensuite
|
||||
|
||||
**Hiring-manager screen :**
|
||||
|
||||
- Communication, passion, adéquation — plus la philosophie de leadership et le jugement
|
||||
- Fondamentaux de la compétence principale de la JD — pas les composants internes profonds
|
||||
- 1–2 histoires comportementales
|
||||
- Probable : parcours, "pourquoi nous", un concept central de la JD, une histoire de leadership, une question de mise en situation orientée vers l'avenir
|
||||
|
||||
**Technical / domain deep-dive with a practitioner :**
|
||||
|
||||
- Profondeur dans la compétence principale de la JD (par ex., fonctionnement interne pour l'ingénierie, choix de modélisation pour la data, méthodes d'évaluation pour la finance)
|
||||
- Scénarios appliqués issus du quotidien du rôle
|
||||
- Exercice en direct ou explication d'un cas travaillé possible
|
||||
- Les histoires sont utilisées comme preuves, pas comme événement principal
|
||||
|
||||
**Design / case study panel :**
|
||||
|
||||
- Solution complète — contraintes, composants, compromis, modes de défaillance
|
||||
- Les dimensions de qualité que la JD souligne (par ex., scalabilité, conformité, mesurabilité)
|
||||
- Niveau senior : définir les contraintes, poser des questions de clarification, mener la conversation
|
||||
|
||||
Calibrez le plan au round. Trop préparer en profondeur pour un round de sélection fait perdre du temps et crée le mauvais état d'esprit.
|
||||
|
||||
---
|
||||
|
||||
## Step 3 — Build the Time-Blocked Plan
|
||||
|
||||
Calculez les heures disponibles entre maintenant et l'heure de l'entretien. Divisez en blocs :
|
||||
|
||||
Avant de dimensionner les blocs, vérifiez `interview-prep/question-bank.md` (s'il existe). Toute question marquée 🔴 lors d'un round précédent est une lacune prouvée — elle obtient un bloc dédié indépendamment de la façon dont l'analyse CV-vs-JD la classe. Les données de performance réelles priment sur le risque inféré.
|
||||
|
||||
**Modèle (ajustez la taille des blocs en fonction des heures totales disponibles) :**
|
||||
|
||||
```text
|
||||
Block 1 — Fixez votre narration (en premier, toujours)
|
||||
- Rédigez explicitement la chronologie de votre parcours
|
||||
- Préparez "pourquoi cette entreprise" avec un lien spécifique à votre histoire
|
||||
- Préparez l'histoire de votre point de preuve le plus fort (version de 30 secondes)
|
||||
- Temps : ~15% des heures disponibles
|
||||
|
||||
Block 2 — Sujet de domaine prioritaire (lacune à plus haut risque en premier)
|
||||
- Un sujet par bloc — ne mélangez pas
|
||||
- Pour chacun : concept → votre accroche d'histoire → questions de suivi probables
|
||||
- Temps : ~25% des heures disponibles
|
||||
|
||||
Block 3 — Sujet de domaine secondaire
|
||||
- Lacune avec le deuxième risque le plus élevé
|
||||
- Temps : ~20% des heures disponibles
|
||||
|
||||
Block 4 — Histoires comportementales
|
||||
- Associez les histoires existantes aux types de questions probables
|
||||
- Pratiquez la version verbale de 2 minutes pour chacune
|
||||
- Préparez la Réflexion pour chacune — l'élément différenciateur du candidat senior
|
||||
- Temps : ~15% des heures disponibles
|
||||
|
||||
Block 5 — Recherche sur l'entreprise
|
||||
- Pages de produits pertinentes pour le rôle
|
||||
- Lien entre votre parcours et leur domaine spécifique
|
||||
- 3–4 questions pointues à leur poser
|
||||
- Temps : ~10% des heures disponibles
|
||||
|
||||
Block 6 — Test pratique (si le temps le permet)
|
||||
- Une question par sujet probable — à voix haute, chronométrée
|
||||
- Temps : ~10% des heures disponibles
|
||||
|
||||
Block 7 — Marge + repos
|
||||
- Arrêtez d'étudier 60–90 minutes avant l'entretien
|
||||
- Bachoter dans la dernière heure ajoute du bruit, pas du signal
|
||||
- Temps : restant
|
||||
```
|
||||
|
||||
Ajustez la taille des blocs en fonction de la gravité des lacunes et du type de round. S'il s'agit d'une sélection (screening), le Block 4 (comportemental) et le Block 5 (recherche sur l'entreprise) sont plus importants que les blocs approfondis du domaine.
|
||||
|
||||
---
|
||||
|
||||
## Step 4 — Priority Quick-Reference
|
||||
|
||||
À la fin du plan, produisez une référence rapide d'une page que le candidat peut parcourir 15 minutes avant l'entretien :
|
||||
|
||||
```markdown
|
||||
## 15-Minute Pre-Interview Review
|
||||
|
||||
**Votre phrase d'ancrage :** [une phrase qui capture pourquoi vous êtes le candidat idéal pour ce rôle]
|
||||
|
||||
**Les 3 choses principales à retenir :**
|
||||
1. [message le plus important avec lequel laisser l'intervieweur]
|
||||
2. [question la plus probable et la première phrase de votre réponse]
|
||||
3. [le lien entre votre parcours et leur domaine]
|
||||
|
||||
**Vos questions à poser :**
|
||||
1. [question 1]
|
||||
2. [question 2]
|
||||
3. [question 3]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 5 — Save Output
|
||||
|
||||
Sauvegardez le plan dans `interview-prep/{company-slug}-{role-slug}.md` si un fichier n'existe pas, ou ajoutez une section `## Prep Plan` s'il existe.
|
||||
|
||||
---
|
||||
|
||||
## Rules
|
||||
|
||||
- **Calibrez en fonction du round.** Un plan de préparation de screening est très différent d'un plan pour un panel de conception. Ne prenez pas par défaut une profondeur maximale pour chaque entretien.
|
||||
- **Les lacunes d'abord.** Le temps est limité. Les points forts du candidat n'ont pas besoin de préparation — ses lacunes, si.
|
||||
- **Les lacunes 🔴 de la banque de questions priment sur les lacunes déduites.** Les données réelles de performance valent mieux que l'analyse CV-vs-JD. Si le candidat sait déjà qu'il a des difficultés sur un sujet, ne l'ignorez pas.
|
||||
- **Un sujet par bloc.** Mélanger les sujets dans un seul bloc réduit la rétention.
|
||||
- **Prévoyez toujours du temps de repos.** Un candidat reposé est plus performant qu'un candidat qui a bachoté.
|
||||
- **Ne générez jamais de fausses informations sur l'entreprise.** Si vous n'avez pas fait de recherches, dites-le — n'inventez pas d'affirmations sur la culture ou de détails techniques sur l'entreprise.
|
||||
- **N'inventez jamais d'affirmations pour le candidat.** La phrase d'ancrage et les points de discussion pré-entretien dans la référence rapide (Step 4) doivent être fondés sur ce que le candidat a réellement — `cv.md`, `article-digest.md` ou la banque d'histoires. Ne rédigez pas d'affirmations qui dépendent d'une expérience ou de mesures que le candidat n'a pas. Si une affirmation apparaît dans `interview-prep/retracted-claims.md`, ne l'incluez jamais.
|
||||
@@ -0,0 +1,255 @@
|
||||
# Mode: interview/practice — Interviewer d'entraînement
|
||||
|
||||
Dirigez un entretien d'entraînement réaliste — une question à la fois — et donnez des retours structurés après chaque réponse. Suit ce qui a fonctionné et ce qui doit être amélioré.
|
||||
|
||||
---
|
||||
|
||||
## Inputs
|
||||
|
||||
1. **Type de round** (requis) — sélection/recruteur, sélection/HM, technique/spécifique au domaine, conception/étude de cas, comportemental
|
||||
2. **Persona de l'intervieweur** (si connu) — nom, rôle, entreprise ; oriente le style et la profondeur des questions
|
||||
3. **Liste de questions** (facultatif) — questions spécifiques à couvrir ; si non fournie, générez-les à partir du type de round
|
||||
4. **CV** dans `cv.md` + `article-digest.md` (si présent) — pour vérifier les affirmations dans les réponses et ancrer des versions plus solides dans une expérience réelle
|
||||
5. **Profil** dans `config/profile.yml` + `modes/_profile.md` — narration du candidat, critères rédhibitoires, cibles de rémunération
|
||||
6. **Banque d'histoires** dans `interview-prep/story-bank.md` — pour vérifier l'exactitude de l'histoire dans les retours
|
||||
7. **Banque de questions** dans `interview-prep/question-bank.md` — pour mettre à jour le statut après chaque réponse
|
||||
8. **Fichier de préparation spécifique au rôle** — pour les informations sur l'entreprise, les questions sourcées, la stratégie de rémunération
|
||||
9. **Affirmations rétractées** dans `interview-prep/retracted-claims.md` (si présent) — affirmations que le candidat a explicitement rejetées comme indéfendables ; traitez comme une barrière stricte
|
||||
|
||||
---
|
||||
|
||||
## Protocol
|
||||
|
||||
### Preflight — Check Substance Files
|
||||
|
||||
Avant de planter le décor, confirmez quels fichiers existent :
|
||||
|
||||
- `interview-prep/question-bank.md` (ou un équivalent spécifique à l'entreprise)
|
||||
- Le fichier de préparation spécifique au rôle (`interview-prep/{company}-{role}.md`)
|
||||
- `cv.md`
|
||||
- `interview-prep/retracted-claims.md`
|
||||
|
||||
Si la banque de questions et le fichier de préparation spécifique au rôle sont tous les deux absents, dites au candidat clairement :
|
||||
|
||||
> "Vous avez le protocole d'entraînement mais pas votre banque de questions ou vos notes de préparation pour ce rôle. Les retours seront génériques jusqu'à ce que ceux-ci existent. Voulez-vous exécuter `interview-prep` ou `interview/plan` d'abord pour les créer ?"
|
||||
|
||||
Ne dirigez pas silencieusement une session superficielle comme s'il s'agissait d'une session complète. Si le candidat confirme qu'il veut continuer quand même, continuez — mais notez dans le résumé de la session que la source des questions s'est rabattue sur les valeurs par défaut générées.
|
||||
|
||||
---
|
||||
|
||||
### Opening
|
||||
|
||||
Plantez le décor brièvement :
|
||||
|
||||
> "Je vais jouer le rôle de [nom de l'intervieweur/rôle]. Nous allons procéder une question à la fois. Répondez comme vous le feriez dans le véritable entretien — à voix haute si possible, tapé sinon. Après chaque réponse, je vous donnerai des retours, puis nous passerons à la suivante. Dites 'pause' si vous voulez vous arrêter et discuter avant que je ne donne mes retours. Prêt ?"
|
||||
|
||||
Ensuite, commencez avec la première question — pas de préambule, pas de "voici la question 1". Posez-la simplement naturellement comme le ferait l'intervieweur.
|
||||
|
||||
---
|
||||
|
||||
### During the Session
|
||||
|
||||
**Posez une question à la fois.** Attendez la réponse complète avant de donner des retours.
|
||||
|
||||
**Restez dans le personnage** pendant la réponse. Si le candidat pose une question de clarification au milieu de sa réponse ("est-ce que cela a du sens ?"), répondez comme le ferait l'intervieweur — brièvement, sans rompre la scène.
|
||||
|
||||
**Questions de suivi :** après une réponse complète, posez un suivi naturel si :
|
||||
|
||||
- La réponse était incomplète mais sur la bonne voie (tirez le fil)
|
||||
- La réponse était forte (allez plus en profondeur — c'est ce que font les vrais intervieweurs)
|
||||
- La réponse a complètement raté le point clé (donnez-leur une chance de se rattraper)
|
||||
|
||||
**Suivez ce qui a été couvert.** Gardez une liste mentale des histoires et exemples que le candidat a utilisés. S'ils reprennent la même histoire une deuxième fois, signalez-le après le retour : "Vous avez utilisé [histoire] pour [N] questions maintenant — les intervieweurs remarquent un ensemble d'exemples limité. Quel serait un exemple différent que vous pourriez utiliser ici ?" Vérifiez également la *fin* de chaque réponse : si elle atterrit sur un domaine qui ne correspond pas au rôle (par ex., terminer sur le commerce électronique quand le rôle est fintech/fraude), notez-le : "Contenu solide, mais vous avez conclu sur [mauvais domaine] — pour ce rôle, orientez la réponse sur [bon domaine]."
|
||||
|
||||
---
|
||||
|
||||
### After Each Answer — Structured Feedback
|
||||
|
||||
```markdown
|
||||
**Ce qui a fonctionné :**
|
||||
- [chose spécifique qui a marché — citez leurs mots si possible]
|
||||
- [un autre point fort]
|
||||
|
||||
**Ce qui doit être affûté :**
|
||||
- [lacune spécifique — ce qui manquait ou était imprécis]
|
||||
- [vocabulaire ou formulation à améliorer]
|
||||
|
||||
**La version plus solide :**
|
||||
> "[Une ou deux phrases montrant comment la réponse aurait pu s'ouvrir ou se conclure plus efficacement]"
|
||||
|
||||
**Mise à jour du statut :** [✅ Solide / 🟡 Correct / 🔴 Lacune]
|
||||
```
|
||||
|
||||
Gardez les retours concis. Une ou deux choses à affûter par réponse — pas une réécriture complète. Le but est l'amélioration à la prochaine tentative, pas le découragement.
|
||||
|
||||
---
|
||||
|
||||
### Feedback Principles
|
||||
|
||||
**Soyez honnête, pas encourageant.** "Bonne réponse" sans substance fait perdre le temps de préparation du candidat. Si une réponse était faible, dites-le clairement et expliquez pourquoi.
|
||||
|
||||
**Citez leurs propres mots.** "Vous avez dit 'négocier entre cohérence et disponibilité' — le terme précis est 'faire un compromis entre cohérence et disponibilité'" est plus utile que "utilisez un meilleur vocabulaire technique."
|
||||
|
||||
**Commencez par ce qui a fonctionné.** Même une réponse faible a généralement quelque chose de juste. Le nommer en premier permet de mieux faire passer la correction.
|
||||
|
||||
**Signalez explicitement les lacunes de vocabulaire.** Les intervieweurs experts remarquent le langage imprécis. Lorsque le candidat utilise un terme vague là où un terme précis existe, signalez-le nommément.
|
||||
|
||||
**La vérification de Réflexion.** Pour les histoires comportementales, vérifiez toujours : ont-ils inclus une Réflexion ? ("Ce que je ferais différemment / ce que j'ai appris.") C'est le signal du candidat senior. S'il manque, demandez une fois après le retour : "Que feriez-vous différemment en sachant ce que vous savez maintenant ?"
|
||||
|
||||
**La règle des deux minutes.** Si une réponse dépasse deux minutes, notez-le. Les intervieweurs arrêtent d'écouter. La solution est presque toujours d'énoncer la réponse d'abord, puis d'expliquer — pas de couper du contenu. *Dans une session tapée, vous ne pouvez pas chronométrer la livraison — substituez une vérification de structure à la place :* signalez les réponses qui enterrent le message principal (plus de 4–5 phrases d'introduction avant que le point n'arrive) et dites au candidat : le rythme et les mots de remplissage ne peuvent être diagnostiqués qu'à voix haute — enregistrez-vous ou repassez cette question verbalement.
|
||||
|
||||
**Vérifiez les affirmations suspectes avant de les coacher.** Lorsque le candidat énonce une mesure ou une portée spécifique (effectif géré, AUM, chiffre d'affaires, pourcentage d'amélioration) que vous ne pouvez pas confirmer par le contexte précédent, vérifiez-la par rapport à `cv.md`, `article-digest.md` et `interview-prep/retracted-claims.md` avant de donner des retours. Si l'affirmation n'est pas étayée, signalez-le : "Je ne trouve pas ce chiffre dans votre CV — est-ce défendable s'ils insistent ? Si ce n'est pas le cas, voici une version qui n'en dépend pas." Ne coachez jamais un candidat pour répéter une affirmation qu'il ne peut pas prouver.
|
||||
|
||||
**N'inventez jamais d'expérience ou de mesures.** La version plus solide ne peut utiliser que des faits que le candidat a réellement énoncés, ou des affirmations qui existent dans `cv.md`, `article-digest.md` ou la banque d'histoires. Resserrez la formulation est le travail — ajouter des accomplissements est une fabrication. Si une affirmation apparaît dans `interview-prep/retracted-claims.md`, ne l'utilisez pas dans une version plus solide même si le candidat l'a dite.
|
||||
|
||||
**Proposez d'enregistrer les rétractations.** Lorsqu'un candidat concède au milieu d'une session qu'une affirmation n'est pas défendable sous la pression ("vous avez raison, je ne peux pas prouver ça"), proposez de l'ajouter à `interview-prep/retracted-claims.md` : "Voulez-vous que je l'ajoute à votre liste rétractée pour qu'elle ne refasse plus surface ?" Si oui, ajoutez : `**"[affirmation]"** ([contexte]). Raison : [raison d'une ligne + formulation correcte si applicable].`
|
||||
|
||||
**Lorsque les informations sur l'entreprise sont minces en pleine session.** Si le candidat a visiblement du mal sur une question "pourquoi cette entreprise / pourquoi ce rôle" parce que le fichier de préparation spécifique au rôle manque d'informations, n'inventez pas et ne restez pas silencieux. Sortez de votre personnage, exécutez l'étape de recherche `interview-prep` pour cette seule question (le même chemin de recherche sourcée que possède `interview-prep.md`), et revenez avec 2–3 angles concrets et cités. Ensuite, reprenez le personnage. Si la recherche ne donne rien d'utilisable, dites-le clairement. Il ne s'agit pas d'une deuxième boucle de recherche — c'est invoquer l'étape de recherche existante juste à temps lorsque le pipeline en amont n'a pas été exécuté en premier.
|
||||
|
||||
**Lorsque le candidat conteste une affirmation factuelle dans les documents de préparation.** Si le candidat conteste un fait spécifique dans la banque de questions ou le fichier de préparation (par ex., une métrique, une spécification de produit, un chiffre de SLA), ne défendez pas l'autorité du fichier. Sortez de votre personnage, vérifiez l'affirmation par rapport aux sources primaires et corrigez le fichier source si le candidat a raison. Revenez avec le chiffre vérifié et reprenez. Si aucune source primaire ne peut être trouvée, dites-le et marquez l'affirmation comme non vérifiée — le candidat ne devrait pas utiliser un fait invérifiable dans un vrai entretien.
|
||||
|
||||
---
|
||||
|
||||
### After All Questions — Session Summary
|
||||
|
||||
```markdown
|
||||
## Practice Session Summary
|
||||
|
||||
**Type de round :** [screening / technical / design-case-study / behavioral]
|
||||
**Questions couvertes :** [N]
|
||||
|
||||
**Prêt :**
|
||||
- [question] — [note d'une ligne sur pourquoi c'est solide]
|
||||
|
||||
**À travailler avant l'entretien :**
|
||||
- [question] — [lacune spécifique à combler]
|
||||
|
||||
**Vocabulaire à corriger :**
|
||||
- "[ce qu'ils ont dit]" → "[terme correct]"
|
||||
|
||||
**Lecture globale :** [une phrase honnête sur la préparation à l'entretien]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Write Session Transcript
|
||||
|
||||
Après le résumé, rédigez une transcription de session lisible par machine vers `interview-prep/sessions/{company-slug}-{role-slug}-{round}-{YYYY-MM-DD}.md` (utilisez `practice` pour le slug entreprise/rôle s'il ne s'agissait pas d'une session spécifique à l'entreprise). C'est un enregistrement structuré du round pour les modes d'analyse en aval ; les tours étiquetés par l'intervenant permettent à un consommateur de lire les deux côtés sans réinférer qui a parlé. Le contrat complet se trouve dans `interview-prep/sessions/README.md`.
|
||||
|
||||
Format :
|
||||
|
||||
```markdown
|
||||
---
|
||||
company: [company, ou "practice"]
|
||||
role: [role]
|
||||
round: [screen | hiring-manager | technical | system-design | behavioral | onsite | final]
|
||||
date: YYYY-MM-DD
|
||||
interviewer_role: [rôle du persona, si défini]
|
||||
source: practice
|
||||
---
|
||||
|
||||
## Q1
|
||||
**Interviewer:** [la question que vous avez posée]
|
||||
<!-- competency: tag[, tag...] -->
|
||||
**Candidate:** [la réponse du candidat, mot pour mot]
|
||||
|
||||
## Q2
|
||||
...
|
||||
```
|
||||
|
||||
Règles pour la transcription :
|
||||
|
||||
- **Mappez le type de round à l'énumération** ci-dessus (recruteur screen → `screen`, HM screen → `hiring-manager`, technique/domaine → `technical`, conception/étude de cas → `system-design`, comportemental → `behavioral`).
|
||||
- **Taguez chaque réponse.** Sur la ligne juste au-dessus de chaque ligne `**Candidate:**`, émettez `<!-- competency: tag[, tag...] -->` — en minuscules kebab-case, séparés par des virgules pour les réponses multi-compétences. Vous avez déjà évalué chaque réponse pendant la session, donc taguez à partir de là. Les tags sont libres ; choisissez la compétence que la question a réellement testée.
|
||||
- **Enregistrez la réponse du candidat mot pour mot**, pas la "version plus solide" — la transcription enregistre ce qui s'est passé, pas le coaching.
|
||||
- **`source: practice`.**
|
||||
- Le fichier de session atterrit dans un répertoire gitignored (les vrais noms/entreprises n'entrent jamais dans le contrôle de version) ; rédigez-le sans expurger.
|
||||
|
||||
---
|
||||
|
||||
## Question Sets by Round Type
|
||||
|
||||
Si aucune liste de questions n'est fournie, sourcez les questions dans cet ordre de priorité :
|
||||
|
||||
1. **Vraies questions de `interview-prep/question-bank.md`** — questions que cette entreprise (ou lors d'un round précédent) a réellement posées, capturées par les débriefings. La valeur la plus élevée : empiriquement fondé.
|
||||
2. **Questions sourcées du fichier de préparation spécifique au rôle** — questions que la recherche interview-prep.md a trouvées et citées. Utilisez-les telles quelles ; gardez leurs citations hors de la session mais respectez leur formulation.
|
||||
3. **Les ensembles par défaut ci-dessous** — solution de repli générée pour une première session sans recherche préalable. Remplissez les emplacements entre crochets à partir de la JD.
|
||||
|
||||
Mélangez les niveaux lorsque les niveaux supérieurs sont minces — par ex., 3 vraies questions de la banque complétées par des valeurs par défaut — mais ne sautez jamais un niveau supérieur qui a des questions pertinentes pour ce type de round.
|
||||
|
||||
### Screening — Recruiter (20–30 min)
|
||||
|
||||
Un screen de recruteur est une vérification de cases, pas un sondage en profondeur. Gardez les réponses nettes ; ne les sur-concevez pas. Le recruteur vérifie l'adéquation, l'alignement de la rémunération et la logistique avant de passer le relais au Hiring Manager.
|
||||
|
||||
1. Parlez-moi de votre parcours.
|
||||
2. Pourquoi cette entreprise / pourquoi ce rôle ?
|
||||
3. Pourquoi quittez-vous votre rôle actuel ?
|
||||
4. Quelles sont vos attentes salariales ?
|
||||
5. [Logistique : emplacement / hybride / calendrier / autorisation de travail]
|
||||
6. Quelles questions avez-vous pour nous ?
|
||||
|
||||
**Coaching de rémunération (recruiter screen uniquement).** Surveillez si le candidat donne de lui-même un plancher salarial non sollicité (par ex., "le minimum auquel je peux descendre est X"). S'il le fait, signalez-le après la réponse : "Vous venez de leur donner votre plancher — cela plafonne votre négociation avant qu'elle ne commence. Le mouvement le plus fort est de s'ancrer sur une cible étudiée et de reporter au package global : 'Je cible la moitié supérieure de la fourchette du marché pour ce niveau — je voudrais comprendre le salaire de base, le bonus et les actions ensemble avant de me fixer sur un chiffre.'" Si le fichier de préparation spécifique au rôle définit une stratégie de rémunération, suivez-la ; sinon donnez uniquement cette note mécanique générique — n'inventez jamais de chiffres cibles.
|
||||
|
||||
### Screening — Hiring Manager (30–45 min)
|
||||
|
||||
Un screen de HM sonde la philosophie de leadership, le jugement et la profondeur de l'expérience. Les réponses peuvent être plus longues et avoir plus de poids narratif. Le HM décide s'il doit investir le temps de son équipe dans des rounds supplémentaires.
|
||||
|
||||
1. Parlez-moi de votre parcours.
|
||||
2. Pourquoi cette entreprise / pourquoi ce rôle ?
|
||||
3. Parlez-moi du problème le plus difficile que vous ayez résolu dans votre domaine.
|
||||
4. Parlez-moi d'une fois où vous avez fait face à une résistance par rapport à un changement que vous proposiez.
|
||||
5. Que signifie [titre de la JD] pour vous ?
|
||||
6. Comment décririez-vous votre approche de votre métier ?
|
||||
7. [Un concept fondamental de la JD — par ex., une méthode centrale, un framework, une réglementation ou un outil de la discipline]
|
||||
|
||||
Incorporez au moins 2 questions situationnelles / orientées vers l'avenir de l'ensemble ci-dessous — celles-ci sondent le jugement et la conscience de soi, pas les histoires passées :
|
||||
|
||||
**Forward-looking / situational :**
|
||||
|
||||
- "À quoi ressemble le succès pour vous dans les 90 premiers jours ?"
|
||||
- "Si vous rejoignez et que l'équipe est en difficulté — délais manqués, moral bas — quelle est votre première action ?"
|
||||
- "Comment décidez-vous ce qu'il faut déléguer par rapport à ce qu'il faut posséder soi-même ?"
|
||||
- "Comment gérez-vous un collègue respecté qui n'est pas d'accord avec une direction que vous avez fixée ?"
|
||||
|
||||
**Self-awareness / growth :**
|
||||
|
||||
- "Qu'est-ce que vous avez mal fait professionnellement et qu'avez-vous appris ?"
|
||||
- "De quoi avez-vous besoin de la part de votre manager pour faire votre meilleur travail ?"
|
||||
- "Où êtes-vous encore en train de grandir dans votre rôle ?"
|
||||
|
||||
### Technical / Domain-Specific (practitioner, 45–60 min)
|
||||
|
||||
1. [Internes centraux du principal outil ou méthode de la discipline — par ex., internes de fonctionnement pour l'ingénierie, modèles d'attribution pour le marketing, méthodes d'évaluation pour la finance]
|
||||
2. [Modèle ou framework établi pertinent pour le rôle — à partir de la JD]
|
||||
3. [Exploration en profondeur d'un bloc de construction fondamental — par ex., une structure de données, un test statistique, un principe comptable]
|
||||
4. [Sujet avancé que la JD met en avant — le domaine où la profondeur sépare les candidats]
|
||||
5. Parlez-moi d'un échec aux enjeux élevés dans votre travail — comment vous l'avez diagnostiqué et ce que vous avez fait.
|
||||
6. Comment relevez-vous la barre de qualité dans une équipe ?
|
||||
|
||||
### Design / Case Study (45–60 min)
|
||||
|
||||
1. Concevez [un système, un processus, une campagne ou un produit pertinent pour le rôle].
|
||||
2. [Question de contrainte — comment se comporte votre conception lorsque quelque chose échoue, évolue de 10x ou perd son budget ?]
|
||||
3. [Question de qualité/fiabilité — comment garantissez-vous l'exactitude ou mesurez-vous le succès ?]
|
||||
4. Expliquez-moi comment vous sauriez que cela fonctionne après le lancement.
|
||||
|
||||
### Behavioral Panel
|
||||
|
||||
1. Parlez-moi d'une fois où vous avez dirigé une équipe à travers une livraison difficile.
|
||||
2. Décrivez un échec majeur en production ou sur le marché — que s'est-il passé et qu'est-ce qui a changé après ?
|
||||
3. Parlez-moi d'une fois où vous avez influencé la direction à travers les équipes ou les parties prenantes.
|
||||
4. À quoi ressemble une équipe très performante pour vous ?
|
||||
5. Parlez-moi d'une fois où vous avez simplifié quelque chose de complexe.
|
||||
6. Parlez-moi d'une fois où vous avez résolu un problème qui n'était pas le vôtre à résoudre.
|
||||
|
||||
---
|
||||
|
||||
## Rules
|
||||
|
||||
- **Une question à la fois.** Ne donnez jamais plusieurs questions en avance. Les vrais intervieweurs demandent une chose à la fois.
|
||||
- **Aucun indice avant la réponse.** Ne préparez pas le candidat avec "c'est à propos de X". Demandez froidement.
|
||||
- **Retours honnêtes uniquement.** Un faux encouragement est pire que le silence — il envoie un candidat dans un vrai entretien sous-préparé.
|
||||
- **Aucune affirmation fabriquée dans les réponses suggérées.** Les versions plus solides ne s'appuient que sur ce que le candidat a dit ou ce qui est dans `cv.md`, `article-digest.md` ou la banque d'histoires — jamais d'expérience ou de mesures inventées.
|
||||
- **Les affirmations rétractées sont une barrière stricte.** Si une affirmation apparaît dans `interview-prep/retracted-claims.md`, ne l'utilisez jamais dans une version plus solide — même si le candidat l'a dite dans sa réponse. Signalez-le à la place.
|
||||
- **Suivre le statut.** Mettez à jour `interview-prep/question-bank.md` après la session s'il existe.
|
||||
- **Arrêtez lorsqu'on vous le demande.** Si le candidat dit "faisons une pause" ou "c'est suffisant pour aujourd'hui", respectez-le. N'insistez pas pour une question de plus.
|
||||
@@ -0,0 +1,166 @@
|
||||
# Mode : offre -- Evaluation complete A-F
|
||||
|
||||
Quand le candidat colle une offre (texte ou URL), TOUJOURS livrer les 6 blocs.
|
||||
|
||||
## Etape 0 -- Detection d'archetype
|
||||
|
||||
Classer l'offre dans l'un des 6 archetypes (voir `_shared.md`). Si hybride, indiquer les 2 plus proches. Cela determine :
|
||||
- Quels proof points prioriser dans le bloc B
|
||||
- Comment reecrire le summary dans le bloc E
|
||||
- Quelles stories STAR preparer dans le bloc F
|
||||
|
||||
## Bloc A -- Resume du role
|
||||
|
||||
Tableau avec :
|
||||
- Archetype detecte
|
||||
- Domaine (Platform / Agentic / LLMOps / ML / Enterprise)
|
||||
- Fonction (Build / Conseil / Management / Deploy)
|
||||
- Seniorite
|
||||
- Remote (Full remote / Hybride / Sur site)
|
||||
- Taille d'equipe (si mentionnee)
|
||||
- TL;DR en 1 phrase
|
||||
|
||||
## Bloc B -- Match avec le CV
|
||||
|
||||
Lire `cv.md`. Creer un tableau ou chaque prerequis de l'offre est mappe sur des lignes exactes du CV.
|
||||
|
||||
**Adapte a l'archetype :**
|
||||
- FDE -> prioriser les proof points de livraison rapide et proximite client
|
||||
- SA -> prioriser la conception systeme et les integrations
|
||||
- PM -> prioriser la product discovery et les metriques
|
||||
- LLMOps -> prioriser evals, observability, pipelines
|
||||
- Agentic -> prioriser multi-agent, HITL, orchestration
|
||||
- Transformation -> prioriser conduite du changement, adoption, passage a l'echelle
|
||||
|
||||
Section **Lacunes (Gaps)** avec strategie de mitigation pour chacune. Pour chaque lacune :
|
||||
1. Est-ce un bloqueur dur ou un nice-to-have ?
|
||||
2. Le candidat peut-il demontrer une experience adjacente ?
|
||||
3. Y a-t-il un projet portfolio qui couvre cette lacune ?
|
||||
4. Plan de mitigation concret (phrase pour la lettre de motivation, mini-projet rapide, etc.)
|
||||
|
||||
## Bloc C -- Niveau et strategie
|
||||
|
||||
1. **Niveau detecte** dans l'offre vs **niveau naturel du candidat pour cet archetype**
|
||||
2. **Plan "vendre senior sans mentir"** : formulations specifiques adaptees a l'archetype, realisations concretes a mettre en avant, comment positionner l'experience de fondateur comme un atout
|
||||
3. **Plan "si je suis downlevel"** : accepter si la remuneration est juste, negocier une revue a 6 mois, criteres de promotion clairs
|
||||
|
||||
## Bloc D -- Remuneration et demande
|
||||
|
||||
Utiliser WebSearch pour :
|
||||
- Salaires actuels du role (Glassdoor, Levels.fyi, Welcome to the Jungle, APEC, Talent.io, Indeed Salaires)
|
||||
- Reputation de remuneration de l'entreprise (Glassdoor, WTTJ)
|
||||
- Tendance de demande du role sur le marche francophone
|
||||
|
||||
Tableau avec donnees et sources citees. Si pas de donnees, le dire clairement -- ne rien inventer.
|
||||
|
||||
**Marche francais -- Verifications obligatoires :**
|
||||
- 13e mois / prime de fin d'annee mentionne ? L'inclure dans le calcul brut annuel.
|
||||
- Part variable (bonus, commission, BSPCE / stock-options) ?
|
||||
- Interessement / Participation mentionnes ? Historique disponible ?
|
||||
- Convention collective (SYNTEC, Metallurgie, etc.) applicable ? Si oui, verifier la classification.
|
||||
- CDI ou CDD ? Si CDD : duree, motif, possibilite de CDI-isation.
|
||||
- Freelance / Portage salarial ? TJM, duree de mission, risque de requalification.
|
||||
|
||||
## Bloc E -- Plan de personnalisation
|
||||
|
||||
| # | Section | Etat actuel | Changement propose | Justification |
|
||||
|---|---------|-------------|--------------------|----- ---------|
|
||||
| 1 | Summary | ... | ... | ... |
|
||||
| ... | ... | ... | ... | ... |
|
||||
|
||||
Top 5 modifications du CV + Top 5 modifications LinkedIn pour maximiser le match.
|
||||
|
||||
## Bloc F -- Plan d'entretiens
|
||||
|
||||
6-10 stories STAR+R mappees sur les prerequis de l'offre (STAR + **Reflection**) :
|
||||
|
||||
| # | Prerequis de l'offre | Story STAR+R | S | T | A | R | Reflection |
|
||||
|---|---------------------|--------------|---|---|---|---|------------|
|
||||
|
||||
La colonne **Reflection** capture ce qui a ete appris ou ce qui serait fait differemment. Cela signale la seniorite -- les juniors decrivent ce qui s'est passe, les seniors en tirent des enseignements.
|
||||
|
||||
**Story Bank :** Si `interview-prep/story-bank.md` existe, verifier si ces stories y sont deja. Sinon, ajouter les nouvelles. Avec le temps, cela construit une banque reutilisable de 5-10 stories maitre adaptables a n'importe quelle question d'entretien.
|
||||
|
||||
**Selectionnees et cadrees selon l'archetype :**
|
||||
- FDE -> mettre en avant la vitesse de livraison et la proximite client
|
||||
- SA -> mettre en avant les decisions d'architecture
|
||||
- PM -> mettre en avant la discovery et les arbitrages
|
||||
- LLMOps -> mettre en avant les metriques, evals, hardening en production
|
||||
- Agentic -> mettre en avant l'orchestration, la gestion d'erreurs, le HITL
|
||||
- Transformation -> mettre en avant l'adoption et le changement organisationnel
|
||||
|
||||
Inclure aussi :
|
||||
- 1 case study recommandee (quel projet presenter et comment)
|
||||
- Questions red-flag et comment y repondre (ex : "Pourquoi avez-vous vendu votre entreprise ?", "Aviez-vous une equipe sous votre responsabilite ?", "Pourquoi un changement apres si peu de temps ?")
|
||||
|
||||
---
|
||||
|
||||
## Post-evaluation
|
||||
|
||||
**TOUJOURS** executer apres les blocs A-F :
|
||||
|
||||
### 1. Sauvegarder le report .md
|
||||
|
||||
Sauvegarder l'evaluation complete dans `reports/{###}-{company-slug}-{YYYY-MM-DD}.md`.
|
||||
|
||||
- `{###}` = prochain numero sequentiel (3 chiffres, zero-padded). Pour l'allouer de maniere atomique et eviter les conditions de concurrence, vous devez executer `node reserve-report-num.mjs` pour reserver le numero (stdout renvoie `{###}`), ecrire le rapport, puis executer `node reserve-report-num.mjs --release {###}` pour liberer le sentinel.
|
||||
- `{company-slug}` = nom d'entreprise en minuscules, sans espaces (utiliser des tirets)
|
||||
- `{YYYY-MM-DD}` = date du jour
|
||||
|
||||
**Format du report :**
|
||||
|
||||
```markdown
|
||||
# Evaluation : {Entreprise} -- {Role}
|
||||
|
||||
**Date :** {YYYY-MM-DD}
|
||||
**Archetype :** {detecte}
|
||||
**Score :** {X/5}
|
||||
**URL :** {URL de l'offre}
|
||||
**PDF :** {chemin ou en attente}
|
||||
|
||||
---
|
||||
|
||||
## A) Resume du role
|
||||
(contenu complet du bloc A)
|
||||
|
||||
## B) Match avec le CV
|
||||
(contenu complet du bloc B)
|
||||
|
||||
## C) Niveau et strategie
|
||||
(contenu complet du bloc C)
|
||||
|
||||
## D) Remuneration et demande
|
||||
(contenu complet du bloc D)
|
||||
|
||||
## E) Plan de personnalisation
|
||||
(contenu complet du bloc E)
|
||||
|
||||
## F) Plan d'entretiens
|
||||
(contenu complet du bloc F)
|
||||
|
||||
## G) Brouillons de reponses pour la candidature
|
||||
(uniquement si score >= 4.5 -- brouillons de reponses pour le formulaire de candidature)
|
||||
|
||||
---
|
||||
|
||||
## Mots-cles extraits
|
||||
(liste de 15-20 mots-cles de l'offre pour l'optimisation ATS)
|
||||
```
|
||||
|
||||
### 2. Enregistrer dans le tracker
|
||||
|
||||
**TOUJOURS** enregistrer dans `data/applications.md` :
|
||||
- Prochain numero sequentiel
|
||||
- Date du jour
|
||||
- Entreprise
|
||||
- Role
|
||||
- Score : moyenne du match (1-5)
|
||||
- Statut : `Evaluated`
|
||||
- PDF : non (ou oui si l'auto-pipeline a genere un PDF)
|
||||
- Report : lien relatif vers le fichier report (ex : `[001](reports/001-company-2026-01-01.md)`)
|
||||
|
||||
**Format du tracker :**
|
||||
|
||||
```markdown
|
||||
| # | Date | Entreprise | Role | Score | Statut | PDF | Report |
|
||||
```
|
||||
@@ -0,0 +1,63 @@
|
||||
# Mode : pipeline -- Inbox d'URLs (Second Brain)
|
||||
|
||||
Traite les URLs d'offres accumulees dans `data/pipeline.md`. Le candidat ajoute des URLs quand il veut et lance ensuite `/career-ops pipeline` pour toutes les traiter d'un coup.
|
||||
|
||||
## Workflow
|
||||
|
||||
1. **Lire** `data/pipeline.md` -> trouver les items `- [ ]` dans la section "En attente" / "Pending" / "Pendientes"
|
||||
2. **Pour chaque URL en attente** :
|
||||
a. Reserver le prochain `REPORT_NUM` sequentiel de maniere atomique en executant `node reserve-report-num.mjs` (et liberer le sentinel en executant `node reserve-report-num.mjs --release <num>` une fois le rapport ecrit)
|
||||
b. **Extraire l'offre** avec Playwright (`browser_navigate` + `browser_snapshot`) -> WebFetch -> WebSearch
|
||||
c. Si l'URL n'est pas accessible -> marquer comme `- [!]` avec une note et continuer
|
||||
d. **Executer l'auto-pipeline complet** : Evaluation A-F -> Report .md -> PDF (si score >= 3.0) -> Tracker
|
||||
e. **Deplacer de "En attente" vers "Traitees"** : `- [x] #NNN | URL | Entreprise | Role | Score/5 | PDF oui/non`
|
||||
3. **Si 3+ URLs en attente**, lancer des agents en parallele (Agent tool avec `run_in_background`) pour maximiser la vitesse.
|
||||
4. **A la fin**, afficher un tableau recapitulatif :
|
||||
|
||||
```
|
||||
| # | Entreprise | Role | Score | PDF | Action recommandee |
|
||||
```
|
||||
|
||||
## Format de pipeline.md
|
||||
|
||||
```markdown
|
||||
## En attente
|
||||
- [ ] https://jobs.example.com/posting/123
|
||||
- [ ] https://boards.greenhouse.io/company/jobs/456 | Company SAS | Senior PM
|
||||
- [!] https://private.url/job -- Erreur : login requis
|
||||
|
||||
## Traitees
|
||||
- [x] #143 | https://jobs.example.com/posting/789 | Acme SAS | AI PM | 4.2/5 | PDF oui
|
||||
- [x] #144 | https://boards.greenhouse.io/xyz/jobs/012 | BigCo | SA | 2.1/5 | PDF non
|
||||
```
|
||||
|
||||
> Note : Les en-tetes de section peuvent etre en EN ("Pending"/"Processed"), ES ("Pendientes"/"Procesadas"), DE ("Offen"/"Verarbeitet") ou FR ("En attente"/"Traitees"). Etre flexible a la lecture, fidele au style existant a l'ecriture.
|
||||
|
||||
## Detection intelligente de l'offre depuis l'URL
|
||||
|
||||
1. **Playwright (prefere) :** `browser_navigate` + `browser_snapshot`. Fonctionne avec toutes les SPAs.
|
||||
2. **WebFetch (fallback) :** Pour les pages statiques ou quand Playwright n'est pas disponible.
|
||||
3. **WebSearch (dernier recours) :** Chercher sur des portails secondaires qui indexent l'offre.
|
||||
|
||||
**Cas particuliers :**
|
||||
- **LinkedIn** : Peut necessiter un login -> marquer `[!]` et demander au candidat de coller le texte
|
||||
- **PDF** : Si l'URL pointe vers un PDF, le lire directement avec le Read tool
|
||||
- **Prefixe `local:`** : Lire le fichier local. Exemple : `local:jds/linkedin-pm-ai.md` -> lire `jds/linkedin-pm-ai.md`
|
||||
- **Welcome to the Jungle / Indeed FR / APEC** : Portails francophones courants. Playwright gere bien les cookie banners
|
||||
- **France Travail (ex-Pole emploi)** : Offres structurees, bien lisibles par machine. WebFetch suffit generalement
|
||||
|
||||
## Numerotation automatique
|
||||
|
||||
1. Executer `node reserve-report-num.mjs` pour reserver le prochain numero sequentiel de maniere atomique (stdout renvoie `{###}`).
|
||||
2. Ecrire le rapport avec ce numero.
|
||||
3. Liberer le sentinel en executant `node reserve-report-num.mjs --release {###}` une fois le rapport ecrit.
|
||||
|
||||
## Synchronisation des sources
|
||||
|
||||
Avant de traiter une URL, verifier la sync :
|
||||
|
||||
```bash
|
||||
node cv-sync-check.mjs
|
||||
```
|
||||
|
||||
En cas de desynchronisation, alerter le candidat avant de continuer.
|
||||
@@ -0,0 +1,114 @@
|
||||
# Mode : postuler -- Assistant live pour les formulaires de candidature
|
||||
|
||||
Mode interactif pour le moment ou le candidat remplit un formulaire de candidature dans Chrome. Lit ce qui est a l'ecran, charge le contexte de l'evaluation precedente de l'offre et genere des reponses personnalisees pour chaque question du formulaire.
|
||||
|
||||
## Prerequis
|
||||
|
||||
- **Ideal avec Playwright visible** : En mode visible, le candidat voit le navigateur et Claude peut interagir avec la page.
|
||||
- **Sans Playwright** : le candidat partage une capture d'ecran ou colle les questions manuellement.
|
||||
|
||||
## Workflow
|
||||
|
||||
```
|
||||
1. DETECTER -> Lire l'onglet Chrome actif (capture/URL/titre)
|
||||
2. IDENTIFIER -> Extraire entreprise + role depuis la page
|
||||
3. RECHERCHER -> Matcher avec les reports existants dans reports/
|
||||
4. CHARGER -> Lire le report complet + Bloc G (si existant)
|
||||
5. COMPARER -> Le role a l'ecran correspond-il a celui evalue ? Si changement -> alerter
|
||||
6. ANALYSER -> Identifier TOUTES les questions visibles du formulaire
|
||||
7. GENERER -> Pour chaque question, generer une reponse personnalisee
|
||||
8. PRESENTER -> Afficher les reponses formatees pour copier-coller
|
||||
```
|
||||
|
||||
## Etape 1 -- Detecter l'offre
|
||||
|
||||
**Avec Playwright :** Snapshot de la page active. Lire titre, URL et contenu visible.
|
||||
|
||||
**Sans Playwright :** Demander au candidat de :
|
||||
- Partager une capture d'ecran du formulaire (le Read tool lit les images)
|
||||
- Ou coller les questions du formulaire en texte
|
||||
- Ou indiquer entreprise + role pour qu'on cherche le contexte
|
||||
|
||||
## Etape 2 -- Identifier et charger le contexte
|
||||
|
||||
1. Extraire le nom de l'entreprise et le titre du poste depuis la page
|
||||
2. Chercher dans `reports/` par nom d'entreprise (Grep case-insensitive)
|
||||
3. Si match -> charger le report complet
|
||||
4. Si Bloc G present -> charger les brouillons de reponses precedents comme base
|
||||
5. Si PAS de match -> alerter le candidat et proposer un auto-pipeline rapide
|
||||
|
||||
## Etape 3 -- Detecter les changements de role
|
||||
|
||||
Si le role a l'ecran differe de celui evalue :
|
||||
- **Alerter le candidat** : "Le role a change de [X] a [Y]. Souhaites-tu que je reevalue ou que j'adapte les reponses au nouveau titre ?"
|
||||
- **Si adapter** : Ajuster les reponses au nouveau role sans reevaluer
|
||||
- **Si reevaluer** : Lancer l'evaluation complete A-F, mettre a jour le report, regenerer le Bloc G
|
||||
- **Mettre a jour le tracker** : Modifier le titre du role dans applications.md si necessaire
|
||||
|
||||
## Etape 4 -- Analyser les questions du formulaire
|
||||
|
||||
Identifier TOUTES les questions visibles :
|
||||
- Champs de texte libre (lettre de motivation, "pourquoi ce poste", motivation, etc.)
|
||||
- Listes deroulantes (comment avez-vous connu l'entreprise, autorisation de travail, etc.)
|
||||
- Oui/Non (mobilite, visa, disponibilite, etc.)
|
||||
- Champs de salaire (fourchette, pretentions salariales -- en brut annuel pour la France)
|
||||
- Champs d'upload (CV, lettre de motivation PDF, references)
|
||||
|
||||
Classifier chaque question :
|
||||
- **Deja repondue dans le Bloc G** -> reprendre la reponse existante
|
||||
- **Nouvelle question** -> generer la reponse depuis le report + `cv.md`
|
||||
|
||||
## Etape 5 -- Generer les reponses
|
||||
|
||||
Pour chaque question, construire la reponse selon ce schema :
|
||||
|
||||
1. **Contexte du report** : Utiliser les proof points du bloc B, les stories STAR du bloc F
|
||||
2. **Bloc G precedent** : Si un brouillon existe, le prendre comme base et affiner
|
||||
3. **Ton "Je vous choisis"** : meme framework que dans l'auto-pipeline -- confiant, pas suppliant
|
||||
4. **Specificite** : citer quelque chose de concret de l'offre visible a l'ecran
|
||||
5. **career-ops proof point** : inclure dans "Informations complementaires" si un tel champ existe
|
||||
|
||||
**Champs specifiques aux formulaires francais courants :**
|
||||
- **Pretentions salariales (brut annuel)** -> Fourchette depuis `profile.yml`, en EUR, avec mention "negociable selon le package global"
|
||||
- **Date de disponibilite** -> Date realiste tenant compte du preavis (souvent 1-3 mois)
|
||||
- **Autorisation de travail / Nationalite** -> Honnete et concis ; pour les citoyens UE : "Aucun titre de sejour requis (citoyen UE)"
|
||||
- **Langues** -> Niveaux selon le CECRL (A1-C2)
|
||||
- **Mobilite** -> Preciser la zone geographique acceptable et la frequence de deplacement
|
||||
|
||||
**Format de sortie :**
|
||||
|
||||
```
|
||||
## Reponses pour [Entreprise] -- [Role]
|
||||
|
||||
Base : Report #NNN | Score : X.X/5 | Archetype : [type]
|
||||
|
||||
---
|
||||
|
||||
### 1. [Question exacte du formulaire]
|
||||
> [Reponse prete a copier-coller]
|
||||
|
||||
### 2. [Question suivante]
|
||||
> [Reponse]
|
||||
|
||||
...
|
||||
|
||||
---
|
||||
|
||||
Notes :
|
||||
- [Observations sur le role, changements, etc.]
|
||||
- [Suggestions de personnalisation que le candidat devrait verifier]
|
||||
```
|
||||
|
||||
## Etape 6 -- Apres la candidature (optionnel)
|
||||
|
||||
Si le candidat confirme que la candidature est envoyee :
|
||||
1. Mettre a jour le statut dans `applications.md` de "Evaluated" a "Applied"
|
||||
2. Mettre a jour le Bloc G du report avec les reponses finales
|
||||
3. Suggerer l'etape suivante : `/career-ops contacto` pour du LinkedIn outreach vers le hiring manager
|
||||
|
||||
## Gestion du defilement
|
||||
|
||||
Si le formulaire a plus de questions que ce qui est visible :
|
||||
- Demander au candidat de defiler et de partager une autre capture d'ecran
|
||||
- Ou de coller les questions restantes
|
||||
- Traiter par iterations jusqu'a couvrir tout le formulaire
|
||||
Reference in new issue
Block a user