Un Claude Skill qui prend le dossier d’entretien complet d’un candidat plus la grille de rémunération interne du poste et produit un brief de préparation d’offre — composition d’offre recommandée, négociation anticipée, stratégie de closing propre au candidat, et un flag d’escalade explicite quand la recommandation nécessite une revue par le comité de rémunération. Remplace l’approche typique « on verra l’offre quand on y arrivera » par une préparation structurée de 15 minutes qui améliore matériellement le taux d’acceptation des offres sur les recrutements seniors sans entraîner l’équipe à courir après des prétentions d’offres concurrentes non vérifiées.
Le Skill est conçu pour être le brief pré-appel du recruteur, pas l’offre elle-même. Il produit une recommandation que le recruteur et le hiring manager examinent ; quand la recommandation tombe hors de la grille, de la fourchette publiée ou des garde-fous d’équité interne, le brief positionne escalation: comp-committee et s’arrête. Ce comportement d’escalade est le point — un outil de rémunération qui renvoie toujours un chiffre entraîne l’équipe à l’ignorer la première fois que le chiffre est faux.
Quand l’utiliser
Utilisez le Skill avant que le recruteur ouvre la conversation d’offre, une fois que le hiring manager a validé « oui, on veut faire une offre à cette personne ». Déclencheurs typiques :
Postes IC senior+, tous les postes manager+.
Tout poste où la grille a plus de 15 % d’écart entre plancher et plafond.
Tout poste où un signal d’offre concurrente a émergé pendant le process.
Tout recrutement dans une juridiction avec fourchette de rémunération publiée (CA, CO, NY, WA, IL et autres), où placer l’offre hors de la fourchette publiée crée une exposition juridique.
Le Skill charge la grille de rémunération du poste, le dossier d’entretien du candidat et toute preuve d’offre concurrente que le recruteur a capturée. Il renvoie un brief markdown couvrant la composition, la justification, les objections anticipées, la stratégie de closing, et soit une recommandation dans la grille soit une escalade vers le comité de rémunération avec les critères déclencheurs nommés.
Quand NE PAS l’utiliser
Étendre des offres automatiquement sans revue humaine. La sortie est un brief. Le recruteur et le hiring manager — et si requis, le comité de rémunération — approuvent avant qu’un chiffre atteigne le candidat. Le Skill ne produit jamais de libellé prêt-à-envoyer de lettre d’offre.
Communications orientées client ou candidat sur les offres concurrentes. Le Skill raisonne en interne sur le signal d’offre concurrente pour dimensionner la recommandation. Il ne rédige pas de messages au candidat qui référencent, valident ou contrent une offre concurrente — c’est un jugement du recruteur, souvent aussi juridique.
Remplacer le comité de rémunération sur les recommandations au-dessus de la grille. Toute recommandation qui atterrit au-dessus de la grille publiée, hors de la fourchette de rémunération publiée dans les juridictions concernées, ou qui crée une nouvelle exception d’équité interne déclenche une escalade vers le comité de rémunération. Le Skill ne pré-décide pas ce que le comité devrait approuver.
Raisonner à partir d’ancres de salaire actuel. Demander ou ancrer sur le salaire actuel du candidat chez son employeur est illégal dans de nombreux états américains et plusieurs juridictions européennes. La méthode du Skill ne demande pas et n’accepte pas d’input de salaire actuel.
Offres junior, dans la grille, à composante unique. Un poste pour jeune diplômé au milieu de grille sans signal d’offre concurrente n’a pas besoin de cette préparation. Le Skill est excessif pour les offres où le template standard du recruteur fait déjà le travail.
Setup
Déposez le Skill. Placez le contenu du bundle d’artefacts dans votre répertoire de skills Claude Code à .claude/skills/offer-prep/. Le bundle contient SKILL.md plus trois fichiers de référence dans references/.
Remplacez les références de template par vos grilles et règles réelles. Le Skill n’a pas de limites sans elles.
references/1-comp-band-template.md — divisez en un fichier par famille de rôles (Engineering, GTM, Product, etc.) et documentez plancher / milieu / plafond par niveau pour la base, le bonus, les actions et le signing. Documentez votre table d’ajustements géographiques et votre politique de prime à la signature. Documentez le pourcentage de garde-fou d’équité interne.
references/2-competing-offer-evidence.md — conservez le format comme template orienté recruteur. Le recruteur le remplit par candidat avant d’invoquer le Skill.
references/3-escalation-criteria.md — remplacez les espaces réservés REPLACE % par vos seuils réels (au-dessus de la grille, extension d’actions, violation d’équité interne, fenêtre de référence de pattern d’équité de rémunération) et documentez qui siège au comité de rémunération, quel est le SLA, et où les décisions sont consignées.
Testez sur des offres clôturées. Exécutez le Skill sur cinq offres récentes dont la préparation a déjà eu lieu (étendues, acceptées ou refusées, suffisamment dans le passé pour avoir des données de résultat). Comparez la recommandation du Skill à ce que l’équipe a réellement offert. L’objectif n’est pas « le Skill a correspondu » — c’est d’identifier les cas où le Skill aurait signalé une escalade vers le comité de rémunération que l’équipe a sautée, ou recommandé un positionnement différent de celui choisi par l’équipe. Ajustez les grilles et seuils en fonction de ce que vous trouvez.
Ce que le Skill fait réellement
La méthode exécute six sous-tâches dans un ordre fixe. L’ordre compte — la vérification de la grille à l’étape 1 conditionne si les étapes 2-5 produisent une recommandation.
Chargez d’abord la grille de rémunération. Charger la grille avant de lire quoi que ce soit sur le candidat évite le biais d’ancrage sur ce que le candidat a dit vouloir. Si le signal de l’entretien pointe hors de la grille, le brief escalade plutôt que d’ajuster un récit à un chiffre prédéterminé.
Lisez le signal de l’entretien. Le Skill extrait le calibrage de niveau depuis le debrief, les motivations déclarées depuis les screens du recruteur et du HM, et les signaux de risque (trajet, préférence actions-vs-cash, ambiguïté de périmètre du poste, anxiété sur l’adéquation manager). Si le process n’a pas calibré le niveau — moins de quatre intervieweurs, signal mixte — le Skill fait remonter cela comme bloquant plutôt que de deviner le milieu.
Factorisez les offres concurrentes explicitement. Chaque offre concurrente est classifiée comme verified (lettre d’offre vue ou confirmation tierce), claimed-credible (les spécificités correspondent à la seniorité et à la grille connue de l’entreprise nommée) ou claimed-unverified (mention vague, pas de spécificités). Les prétentions non vérifiées ne pilotent jamais une recommandation hors de la grille. La classification est visible dans la justification afin que l’équipe décide du poids à lui donner.
Recommandez la composition de l’offre. Positionnez la base dans la grille en fonction du calibrage de niveau et du poids des offres concurrentes. Positionnez les actions avec l’attribution standard de l’entreprise pour le niveau sauf si le process ou l’offre concurrente justifie une extension. Positionnez le signing uniquement s’il y a une raison spécifique (relocalisation, bridging d’actions non acquises, écart de rémunération que la base ne peut pas combler sans briser l’équité interne). Calculez la trésorerie Année 1, la trésorerie Année 1 plus actions annualisées, et les actions au prix 409a le plus récent ou au dernier tour.
Rédigez la négociation anticipée et le closing. Pour chaque objection probable (tirée du signal de l’entretien plus des offres concurrentes), nommez la poussée probable spécifique, la réponse recommandée, et le seuil de ligne rouge. La stratégie de closing nomme ce avec quoi ouvrir, ce qu’aborder proactivement, quelle pression de timing appliquer ou relâcher, et quel rôle joue le hiring manager dans l’appel.
Définissez le flag d’escalade. Faites passer la recommandation par les critères d’escalade. Si un déclencheur dur se déclenche (base au-dessus de la grille, actions au-dessus de la grille, signing au-dessus de la politique, violation d’équité interne, hors de la fourchette de rémunération publiée, risque de pattern d’équité salariale), positionnez escalation: comp-committee, listez les critères déclenchés, et arrêtez. Les déclencheurs doux (calibrage de niveau partagé, offre concurrente crédible déclarée, candidat avec priorité rémunération au milieu) signalent mais ne bloquent pas.
Un seul run de préparation d’offre lit le dossier d’entretien du candidat (typiquement 5 000-15 000 tokens de notes de debrief et transcripts de screen), le fichier de grille pour la famille de rôle (1 000-3 000 tokens) et les deux templates de preuves/escalade (1 000 tokens combinés). La sortie est un brief de 1 000-2 000 tokens. Avec Claude Sonnet 4.6 aux tarifs actuels, une seule préparation coûte entre 3 et 8 centimes — nettement moins qu’une minute du coût chargé d’un recruteur senior.
Le temps économisé par recruteur est le chiffre plus large. Les recruteurs exécutant le Skill avant les offres seniors rapportent avoir réduit le temps de préparation d’offre de 45-60 minutes (rassembler les notes de debrief, construire une recommandation de rémunération dans un tableur, rédiger des scénarios de négociation dans un doc) à 15-20 minutes (réviser le brief, valider les preuves d’offre concurrente, décider d’escalader). Pour un recruteur gérant 8-12 réquisitions seniors, c’est environ 4-6 heures par semaine récupérées.
Les grilles et seuils dans les fichiers de référence sont l’investissement porteur, pas le Skill lui-même. Prévoyez 3-5 heures d’un partenaire rémunération pour le remplissage initial, et 30 minutes par trimestre pour le rafraîchissement.
Métrique de succès
Suivez le taux d’acceptation des offres aux niveaux seniors (IC L5+, manager M4+) sur une fenêtre glissante de 90 jours. Les programmes matures rapportent une amélioration de 10-20 points de pourcentage aux niveaux seniors une fois que la préparation d’offre structurée remplace la préparation ad hoc, avec la majeure partie du gain provenant de candidats qui auraient refusé sur une objection qu’il était possible de fermer (trajet, préférence actions, timing d’approbation du comité de rémunération) que le brief a mise en lumière et traitée.
Une deuxième métrique à surveiller : la part des offres ayant déclenché une escalade vers le comité de rémunération mais refusées par le comité. Au-dessus d’environ 20-30 % de taux de refus, les grilles ou seuils dans les fichiers de référence sont mal calibrés — les recruteurs consacrent du temps de comité à des cas qui n’auraient jamais dû escalader, ou les grilles doivent s’élargir.
Comparaison avec les alternatives
Calcul manuel du recruteur. Un tableur plus le PDF de la grille fonctionne. Cela s’étend mal : chaque recruteur construit une logique de recommandation légèrement différente, les prétentions d’offres concurrentes dérivent vers des ancres sans classification de vérification, et les patterns d’équité salariale sont invisibles jusqu’à ce qu’un audit les fasse remonter. Le Skill rend la logique explicite et le comportement d’escalade cohérent entre recruteurs.
Outils de rémunération Ashby et Greenhouse.Ashby et Greenhouse proposent tous deux des modules de gestion des offres avec application de grille et workflows d’approbation. Ils gèrent bien la couche de routage des approbations — ils ne produisent pas de brief propre au candidat raisonnant sur le signal de l’entretien, les preuves d’offres concurrentes et la stratégie de closing. Utilisez le module ATS pour le routage et l’audit ; utilisez le Skill pour le brief qui alimente le routage.
Délibération du comité de rémunération sur chaque offre senior. Envoyer chaque offre senior au comité de rémunération brûle le temps du comité sur les cas dans la grille qui n’en ont pas besoin. La logique d’escalade du Skill route uniquement les cas qui nécessitent genuinement le jugement du comité, laissant le reste à l’approbation recruteur-et-HM sur le brief seul.
Outils de données marché Pave ou Carta seuls. Les données marché sont un input à la grille, pas un substitut à un brief propre au candidat. Charger des données marché sans méthode structurée pour les combiner avec le signal de l’entretien et la classification des offres concurrentes produit le mode d’échec que ce Skill est conçu pour prévenir — des recruteurs citant des percentiles de marché pour justifier des offres au-dessus de la grille que la grille interne ne soutient pas.
Points de vigilance
Dérive d’équité salariale. Des offres répétées au-dessus du milieu concentrées dans un pattern démographique s’accumulent en exposition à l’équité salariale même quand chaque offre individuelle est défendable. Garde-fou : le brief inclut un bloc de vérification d’équité salariale listant les cinq dernières offres au même niveau plus géo et leur position dans la grille. Si la nouvelle recommandation étendrait un pattern, le brief positionne escalation: comp-committee quelle que soit la taille.
Lois de divulgation de rémunération par juridiction. Les lois de fourchette de rémunération publiée exigent que l’offre tombe dans la fourchette publiée. Garde-fou : l’input posted_range est requis pour ces juridictions. Si manquant, le Skill refuse de produire un chiffre et demande au recruteur de confirmer d’abord la fourchette publiée.
Prétentions d’offres concurrentes non vérifiées. Les candidats gonflent parfois ou inventent des offres concurrentes ; les recruteurs laissent parfois ces prétentions piloter l’escalade. Garde-fou : chaque entrée d’offre concurrente est classifiée selon les règles de vérification dans references/2-competing-offer-evidence.md, et les prétentions non vérifiées ne pilotent jamais une recommandation hors de la grille.
Grilles périmées. Un Skill borné par des grilles vieilles de 18 mois produit des recommandations vieilles de 18 mois. Garde-fou : rafraîchissez les fichiers de référence trimestriellement ; les templates incluent un champ last reviewed que le brief fait remonter s’il est plus ancien que la cadence de rafraîchissement.
Ne faites pas remonter les signaux de classe protégée. La stratégie de négociation ne doit pas tenir compte des données démographiques du candidat ou de l’historique de rémunération chez l’employeur actuel. Garde-fou : la méthode lit uniquement le dossier d’entretien, la grille de rémunération et les preuves explicites d’offres concurrentes — elle ne demande pas et n’accepte pas de champs de salaire actuel ou démographiques.
Stack
Ce workflow se situe dans le vertical recruiting, typiquement aux côtés d’Ashby ou de Greenhouse comme système d’enregistrement pour le process d’entretien et le routage d’approbation des offres, de Claude Code comme runtime du Skill, et optionnellement de Pave ou Carta comme flux de données marché pour le rafraîchissement trimestriel de la grille. Voir l’index des workflows de recrutement pour les artefacts de préparation associés.
---
name: offer-prep
description: Produce an offer-prep brief the recruiter takes into the offer call. Reads the candidate's interview record, the role's internal comp band, and any competing-offer signal, then drafts a recommended offer composition with rationale, anticipated negotiation, and escalation flags. Replaces ad-hoc "we'll figure it out when we get there" offer prep.
---
# Offer prep
## When to invoke
Invoke before the recruiter opens the offer conversation with a candidate, once the hiring manager has signed off "yes, we want to make an offer to this person." Typical use cases: senior+ IC roles, all manager+ roles, any role where the band has more than 15% spread between the floor and ceiling, any role where a competing offer signal has surfaced in the loop.
Do NOT invoke this skill for:
- **Auto-extending offers.** The output is a brief for a human to review and decide on, not a draft to send. The recruiter and hiring manager (and where required, the comp committee) approve before any number reaches the candidate.
- **Customer-facing or candidate-facing comms about competing offers.** This skill reasons about competing-offer signal internally. It does not draft messages to send to the candidate that reference, validate, or counter a competing offer — that is a recruiter judgment call.
- **Replacing the comp committee.** For any recommendation that lands above the published band, outside posted-pay-range jurisdictions, or that creates a new internal-equity exception, the brief sets `escalation: comp-committee` and stops. It does not pre-decide what the committee should approve.
## Inputs
- Required: `candidate_context` — path to or pasted contents of the candidate's interview record (Ashby/Greenhouse/Lever export, debrief notes, scorecards, recruiter-screen and hiring-manager-screen notes).
- Required: `role` — role title, level, and team, plus a path to the comp band for that level (see `references/1-comp-band-template.md`).
- Required: `comp_band` — the role's internal salary range, equity range, bonus structure, signing-bonus policy, and any geographic adjustment table.
- Optional: `market_data` — Levels.fyi, Pave, or Carta benchmarks for the role + level + geo. If omitted, the brief uses only the internal band and flags "market context not loaded."
- Optional: `competing_offers` — what the candidate has said about other processes (see `references/2-competing-offer-evidence.md`). Free-form OK, but the brief downgrades unverified claims (see Watch-outs).
- Optional: `posted_range` — the salary range posted on the job ad, if any. Required for jurisdictions with pay-disclosure laws (see Watch-outs).
## Reference files
Always read the following from `references/` before generating the brief. Without them, the recommendation is a guess.
- `references/1-comp-band-template.md` — the template for documenting a role's internal comp band. Replace the template's contents with your real bands per role + level. The skill's recommendation is bounded by this file.
- `references/2-competing-offer-evidence.md` — the format for capturing what the candidate has actually said about other offers, what is verified vs. claimed, and what the recruiter has done to validate it.
- `references/3-escalation-criteria.md` — the rules for when the brief sets `escalation: comp-committee` instead of recommending a number.
## Method
Run these six sub-tasks in order. Do not parallelize — the comp-band check in step 1 gates whether steps 2-5 produce a recommendation at all.
### 1. Pull the comp band first
Load `comp_band` for the role + level + geo before reading anything else about the candidate. Why first: it bounds the entire recommendation. If the candidate's signal points outside the band, the brief sets `escalation: comp-committee` immediately rather than fitting a story to a predetermined number. Reading the candidate first creates anchoring bias toward whatever the candidate said they wanted.
Output of this step: the floor, midpoint, and ceiling for base, bonus target, equity, and signing — plus any geographic adjustment factor.
### 2. Read the interview signal
From the candidate's interview record, extract:
- Level signal — did the loop calibrate the candidate at the role's level, above, or below? Cite the debrief.
- Stated motivations — what the candidate said matters about the role, compensation, team, location, growth. Cite the recruiter-screen and hiring-manager-screen notes.
- Risk signals — anything in the loop that suggests the offer needs to address a specific concern (commute, equity-vs-cash preference, role scope ambiguity, manager-fit anxiety).
If the loop did not calibrate level (e.g. mixed signal, fewer than 4 interviewers), surface that as a blocker rather than guessing a midpoint.
### 3. Factor competing offers explicitly
If `competing_offers` is provided, classify each:
- **Verified** — recruiter has seen the offer letter or has direct third-party confirmation. Treat as a real anchor.
- **Claimed-credible** — candidate stated specifics (company, role, comp numbers) that match the candidate's seniority and the named company's known band. Treat as soft anchor; flag for verification.
- **Claimed-unverified** — candidate mentioned "I have other things going on" or named a company without specifics. Do not anchor against this. Surface it but recommend ignoring for sizing purposes.
Why factor explicitly: the failure mode is recruiters letting unverified claims drive comp escalation. The brief makes the verification status visible in the rationale so the comp committee (or recruiter+HM) decides how much weight to give it.
### 4. Recommend offer composition
Using the band (step 1), the level signal (step 2), and the competing-offer weight (step 3):
- Place base within the band — typically band-midpoint for at-level candidates, above-midpoint for top-of-band loop calibration, at-floor only with explicit rationale.
- Place equity — bias toward the company's standard grant for the level unless the loop or competing offer justifies a stretch.
- Place signing — only if there's a specific reason (relocation, leaving unvested equity behind, bridging a comp gap that base can't close without breaking internal equity).
- Compute total Year-1 cash, Year-1 plus equity-grant-divided-by-vest, and equity at the company's most-recent 409a or last-round price.
### 5. Draft anticipated negotiation and closing
For each likely candidate pushback (drawn from interview signal + competing offers), write:
- The likely push (specific, citing the source).
- The recommended response (what the recruiter says).
- The walk-away threshold (what number or term the team will not exceed).
For the closing strategy: what to lead with for this candidate, what to address proactively, what timing pressure to apply or relieve, what role the hiring manager should play in the call.
### 6. Set escalation flag and "needs comp-committee review" fallback
Run the recommendation through `references/3-escalation-criteria.md`. If any criterion fires, set `escalation: comp-committee` in the output, list the criteria that fired, and stop. Do not soften the recommendation to avoid escalation.
Why a fallback rather than a forced recommendation: forcing a within-band number when the candidate signal is genuinely above-band trains the team to ignore the brief. The escalation path is the trustworthy behavior.
## Output format
```markdown
# Offer prep — <Candidate name> for <Role>, <Level>
escalation: <none | comp-committee>
escalation-reasons: <empty | bulleted list of triggered criteria>
## Recommended offer
- Base: $<X> (band: $<floor>–$<ceiling>, midpoint $<mid>)
- Bonus target: <Y>%
- Equity: <Z> RSUs / options, <vest> vest
- Signing: $<W> (reason: <relocation | unvested-equity-bridge | none>)
- Start date: <target>
- Year 1 cash: $<X + bonus-at-target + signing>
- Year 1 + equity-annualized: $<above + equity/vest-years>
## Why this composition
- Level calibration: <at-level | above | below>, source: <debrief link>
- Stated motivations: <bulleted, with source notes>
- Competing-offer weight: <none | verified | claimed-credible | claimed-unverified>
## Anticipated negotiation
- Likely push: <specific>
- Source: <interview note or competing-offer record>
- Recommended response: <specific>
- Walk-away: <number or term>
## Closing strategy
- Lead with: <what to emphasize>
- Address proactively: <concerns from loop>
- Timing: <pressure to apply or relieve, with reason>
- Hiring manager role: <what they do on the call>
## Open questions for the team
- <Anything the brief cannot resolve>
## Pay-disclosure compliance
- Posted range: $<floor>–$<ceiling> (jurisdiction: <state/country>)
- Recommendation within posted range: <yes | NO — escalate>
```
## Watch-outs
- **Pay-equity drift.** Repeated above-midpoint offers for one demographic pattern (e.g. external hires vs. internal promotes, one gender, one region) accumulate into pay-equity exposure even when each individual offer is defensible. Guard: the brief includes a `pay-equity-check` block that lists the last five offers at the same level + geo and their band-position. If the new recommendation would extend a pattern, the brief sets `escalation: comp-committee` regardless of size.
- **Jurisdictional pay-disclosure laws.** In states/countries with posted-pay-range laws (CA, CO, NY, WA, IL, etc.), the offer must fall within the posted range. Guard: the `posted_range` input is required for those jurisdictions; if missing, the brief refuses to produce a number and instead asks the recruiter to confirm the posted range.
- **Unverified competing-offer claims.** Candidates sometimes inflate or invent competing offers. Guard: every competing-offer entry is classified verified / claimed-credible / claimed-unverified per step 3, and the rationale section makes the classification visible so the team decides how much weight to give it. Unverified claims never drive a recommendation outside the band.
- **Protected-class proxies.** Negotiation strategy must not consider candidate demographics, current-employer pay history (illegal to ask in many jurisdictions), or proxies for either. Guard: the method reads only the interview record, the comp band, and the explicit `competing_offers` input — it does not request or accept current-salary or demographic fields.
- **Don't auto-extend.** The brief produces a recommendation. Humans approve and extend. Guard: the output never includes recipient email, signature, or send-ready offer-letter language.
# Comp band — TEMPLATE
> Replace this template's contents with your real comp bands per role + level
> + geo. The offer-prep skill reads this on every run; without your real
> bands, the recommendation is unbounded and the escalation logic in
> `3-escalation-criteria.md` cannot fire correctly.
## How to use
One file per role family (e.g. `eng-comp-band.md`, `gtm-comp-band.md`, `product-comp-band.md`) lives in your private fork of the references directory. The skill loads the relevant file based on the `role` input. Each file follows the structure below.
## Role family: REPLACE_ME (e.g. Engineering)
### Level matrix
| Level | Title pattern | Band midpoint base | Equity tier |
|---------|---------------------------|--------------------|-------------|
| L3 | Software Engineer | $REPLACE | T1 |
| L4 | Senior Software Engineer | $REPLACE | T2 |
| L5 | Staff Software Engineer | $REPLACE | T3 |
| L6 | Principal | $REPLACE | T4 |
| M4 | Engineering Manager | $REPLACE | T2 |
| M5 | Senior Engineering Manager | $REPLACE | T3 |
### Per-level bands
For each level, document floor / midpoint / ceiling. The skill uses these as hard bounds. Above-ceiling recommendations trigger `escalation: comp-committee`.
#### L4 — Senior Software Engineer (example)
| Component | Floor | Midpoint | Ceiling |
|-----------------|--------------|--------------|--------------|
| Base | $REPLACE | $REPLACE | $REPLACE |
| Bonus target | REPLACE % | REPLACE % | REPLACE % |
| Equity (RSUs) | REPLACE | REPLACE | REPLACE |
| Signing maximum | $REPLACE | — | $REPLACE |
Vest schedule: REPLACE (e.g. 4-year, 25/25/25/25, 1-year cliff).
Equity priced at: REPLACE (e.g. last-round preferred, current 409a).
#### L5 — Staff Software Engineer
(repeat structure)
### Geographic adjustment table
| Geo | Adjustment factor |
|---------------------|-------------------|
| US Tier 1 (SF/NYC) | 1.00 |
| US Tier 2 | REPLACE |
| US Tier 3 / remote | REPLACE |
| EU Tier 1 (London) | REPLACE |
| EU Tier 2 | REPLACE |
| LATAM remote | REPLACE |
Apply the factor to base. Bonus target and equity are typically NOT geo-adjusted — confirm with your comp framework.
### Signing-bonus policy
When signing is allowed, and the maximum:
- Relocation bridging: up to $REPLACE, repayable on REPLACE schedule.
- Unvested-equity bridging: up to estimated value of REPLACE months of unvested grant at prior employer. Requires documentation.
- Pure comp-gap closing without one of the above reasons: NOT ALLOWED.
### Internal-equity guardrail
If the recommendation would place the candidate above any current employee at the same level + geo by more than REPLACE %, the brief sets `escalation: comp-committee` regardless of band position.
### Last reviewed
REPLACE_DATE — refresh whenever bands change so the brief's recommendation is bounded by current numbers.
# Competing-offer evidence — TEMPLATE
> Capture what the candidate has actually said about other offers, what the
> recruiter has done to validate it, and the resulting verification class.
> The offer-prep skill reads this format and assigns weight per the rules
> in `SKILL.md` step 3.
## Why this matters
Recruiters routinely let unverified competing-offer claims drive comp escalation. That trains candidates to claim more and trains the team to spend above-band on signal that may not exist. This template forces the classification to be explicit so the comp committee or recruiter+HM decides how much weight to give each entry.
## Format
One block per claimed competing offer.
### Competing offer — REPLACE_COMPANY_NAME
- **Source of claim**: where the candidate raised it (recruiter screen on REPLACE_DATE, debrief, post-loop email, etc.)
- **Specifics provided**:
- Company: REPLACE (or "not disclosed")
- Role: REPLACE (or "not disclosed")
- Stage of process: REPLACE (e.g. "verbal offer", "final round", "early")
- Comp numbers cited: REPLACE (base, equity, signing — or "not disclosed")
- Decision deadline cited: REPLACE
- **Verification attempted**:
- Offer letter seen: yes / no
- Third-party confirmation (e.g. mutual contact): yes / no, with detail
- Sense-check against the named company's known band: matches / above / below
- **Verification class** (pick one):
- `verified` — offer letter seen or direct third-party confirmation
- `claimed-credible` — specifics match seniority and named company's known band
- `claimed-unverified` — vague mention, no specifics, no validation possible
- **Weight assigned by skill**: derived from class above. The skill never upgrades a class — only the recruiter can mark something as `verified` after seeing the document.
## Multiple offers
If the candidate has multiple competing offers, repeat the block per offer. The skill will use the highest-weighted entry as the anchor. Two `claimed-credible` offers do not aggregate into a `verified` anchor — they remain `claimed-credible` individually.
## What NOT to capture here
- Current-salary numbers from the candidate's existing employer. Asking for these is illegal in many US states and several EU jurisdictions. The brief does not use current-salary anchoring under any circumstance.
- Demographic information about the candidate.
- Information from background-check or reference-call sources — those belong in their own pipeline, not in offer-prep evidence.
## Last reviewed
REPLACE_DATE
# Escalation criteria — TEMPLATE
> The offer-prep skill runs the proposed recommendation through these
> criteria as the last step. If any fire, the brief sets
> `escalation: comp-committee`, lists the triggered criteria, and stops.
> Do not soften a recommendation to avoid escalation — that defeats the
> purpose of the rule.
## Hard escalation triggers
Any single trigger sets `escalation: comp-committee`.
1. **Above-band base.** Recommended base exceeds the level's ceiling in `1-comp-band-template.md`.
2. **Above-band equity.** Recommended equity grant exceeds the level's equity ceiling, or stretches more than REPLACE % above the standard grant for the level.
3. **Above-policy signing.** Recommended signing exceeds the maximum in the signing-bonus policy, or falls outside the allowed reasons (relocation, unvested-equity bridging).
4. **Internal-equity breach.** Recommendation would place the new hire more than REPLACE % above any current employee at the same level + geo (per the internal-equity guardrail).
5. **Outside posted pay range.** Recommendation falls outside the `posted_range` for any jurisdiction with pay-disclosure laws (CA, CO, NY, WA, IL, and others — confirm with your legal team on a current basis).
6. **Pay-equity pattern risk.** The new recommendation would extend a pattern of above-midpoint offers within one demographic dimension over the last REPLACE offers at the same level + geo.
## Soft triggers — flag but do not block
These do not force comp-committee escalation, but the brief surfaces them in `escalation-reasons` for visibility.
- Loop calibration disagreement — the level signal from the debrief is split (e.g. 2 hire-at-level, 2 hire-above-level). The brief recommends band-midpoint and flags the split.
- Competing-offer claim is `claimed-credible` and would push the recommendation above midpoint. The brief surfaces the offer's verification status and asks the team to validate before relying on it.
- Candidate stated motivations include "comp is my top priority" plus the recommendation is at or below midpoint. The brief flags the acceptance-rate risk.
## What "comp-committee review" means in this template
Replace this section with your team's actual escalation path. Typical shape:
- Submit the brief plus the triggered criteria to the comp committee (named members: REPLACE).
- Committee SLA: REPLACE business days.
- Committee may approve as-recommended, approve with modifications, or decline (in which case the recruiter returns to the candidate with the in-band offer or a "we cannot proceed" message).
- Committee decisions are logged in REPLACE (e.g. an Ashby comment, a Notion log) for pay-equity audit purposes.
## Last reviewed
REPLACE_DATE