Un Claude Skill qui extrait le pipeline ouvert d’un commercial, compare le commit / best-case / upside par rapport au snapshot de la semaine précédente, analyse en profondeur les trois meilleurs commits avec une activité récente, et liste les questions précises que le manager devrait poser lors du 1:1 hebdomadaire de prévision — tirées d’une bibliothèque de questions indexée par type de mouvement, et non inventées à chaque exécution. L’output est un briefing Markdown d’une page que le manager lit dans les cinq à dix minutes avant l’appel. Le Skill ne produit jamais de chiffre de prévision, ne partage jamais automatiquement le briefing, et ne compare jamais les commerciaux entre eux.
Quand l’utiliser
Vous êtes un manager commercial avec trois à dix subordonnés directs qui mène un 1:1 hebdomadaire de prévision avec chacun. Vous voulez que chaque appel commence avec la même profondeur de contexte de données — pas seulement pour les commerciaux bruyants avec des affaires complexes — et vous ne disposez pas de quatre-vingt-dix minutes par semaine et par commercial pour parcourir manuellement leur pipeline avant chaque appel. Le Skill comprime la boucle « diff de snapshot + extraction d’activité récente + rédaction de questions » d’environ 45 à 90 minutes par commercial à environ 10 minutes de revue d’un briefing au format fixe. Pour une équipe de six commerciaux, c’est la différence entre vraiment faire la préparation de prévision le lundi matin et la sauter trois semaines sur quatre.
Utilisez-le hebdomadairement, le même jour, avant le même ensemble de 1:1s. La préparation quotidienne est superflue (les snapshots de prévision n’évoluent pas aussi vite et vous vous entraînerez à réagir au bruit). La préparation mensuelle est trop rare (l’activité récente est alors obsolète et vous lisez des mouvements de la semaine cinq sur une affaire qui est déjà conclue ou déjà morte). Le dimanche soir ou le lundi matin, avant le premier 1:1 de la semaine, est la fenêtre pour laquelle la bibliothèque de questions et la logique de diff de snapshot sont calibrées.
Quand NE PAS l’utiliser
Produire le chiffre de prévision que vous remontez. Ce Skill vous prépare à une conversation sur le chiffre du commercial. Le commercial est propriétaire du chiffre, vous le calibrez, et un LLM ne le génère pas. Les chiffres de commit générés automatiquement sont la façon dont la culture de prévision se pervertit — une fois que le commercial sait qu’un modèle produit l’appel, il commence à adapter ses notes de pipeline à ce que le modèle récompense.
Préparation pour le conseil d’administration, les QBRs, ou tout output qui quitte votre bureau sans que vous l’ayez lu et modifié d’abord. Le briefing est un document de préparation privé. Transmettre l’output brut du Skill au commercial, au VP ou en remontant transforme un pattern matching partiel en verdict que le manager n’a pas réellement pris. Le bundle ne livre intentionnellement aucun hook de partage automatique.
Commerciaux que vous ne managez pas directement. Le Skill vérifie le manager-de-référence avant de charger des données de pipeline et refuse en cas de non-correspondance. Les briefings de prévision avec un mauvais manager exposent le contexte affaire par affaire que l’invocateur ne devrait pas voir — le mode d’échec de fuite de données le plus impactant que ce Skill pourrait permettre s’il n’est pas protégé.
Commerciaux en rampe dans leurs 30 premiers jours. Les mouvements semaine après semaine dans le pipeline d’un commercial en rampe sont surtout du bruit — ils apprennent ce que chaque étape signifie réellement, pas en signalant la santé d’une affaire. Un briefing du lundi signalant du « thrashing » chez un commercial qui essaie juste de comprendre les définitions d’étapes est le type de faux positif qui érode la confiance dans toute la boucle. Attendez qu’il ait trois semaines propres d’activité de pipeline.
Pipelines de renouvellement ou de customer success purs. Le référentiel ici est construit pour le mouvement commit / best-case / upside en nouvelles affaires. La prévision de renouvellement a des signaux différents — tendances d’usage, NPS, clauses pluriannuelles, changements de sponsor exécutif — que ce Skill n’examine pas. Utilisez un outil ou workflow spécifique au renouvellement pour les pipelines CS.
Configuration
Déposez le bundle. Le Skill, le format de briefing, la bibliothèque de questions et le modèle d’analyse approfondie par affaire se trouvent dans apps/web/public/artifacts/forecast-meeting-prep-skill/SKILL.md et les trois fichiers dans apps/web/public/artifacts/forecast-meeting-prep-skill/references/. Copiez le répertoire dans ~/.claude/skills/forecast-meeting-prep/ ou dans .claude/skills/ au niveau projet de votre équipe pour que Claude Code le détecte.
Câblez Salesforce (ou votre CRM). Compte de service avec accès en lecture à Opportunity, OpportunityHistory, OpportunityFieldHistory, Task, Event et ForecastingItem. Portées api et refresh_token. Le Skill met en cache le token OAuth pendant une heure pour que les briefings successifs de plusieurs commerciaux ne se réauthentifient pas. Le Skill respecte les permissions par utilisateur dans le CRM ; si vous ne pouvez pas voir les affaires d’un commercial dans l’interface, le Skill non plus — ce qui est le comportement correct.
Configurez le job de snapshot. Le diff à l’étape 2 du Skill nécessite le snapshot du pipeline de la semaine précédente dans la même forme de colonnes que celui de cette semaine. Tout ce qui dépose pipeline_<rep_id>_YYYY-MM-DD.csv dans S3 ou Drive chaque vendredi à 18h fonctionne. Le Skill refuse si une dérive de schéma est détectée entre les snapshots, donc ne changez pas les colonnes en milieu de trimestre sans relancer le job de snapshot sur les semaines précédentes.
Remplacez les modèles par vos artifacts réels. Le bundle livre trois fichiers de référence placeholder. Chacun est générique jusqu’à ce que vous le remplissiez avec le contenu de votre équipe :
references/01-briefing-format.md — la forme Markdown littérale que chaque briefing hebdomadaire utilise. Le format fixe est le point ; ne le régénérez pas par exécution.
references/02-question-library.md — votre catalogue de questions d’appel de prévision, indexé par type de mouvement. Le pilote livre sept patterns (commit ajouté sans apparition préalable dans le best-case, commit supprimé, avance d’étape sans activité, dérive de date de clôture, affaire bloquée, thrashing, signalement répété). Ajoutez des patterns correspondant à vos définitions d’étapes et au vocabulaire de votre équipe.
references/03-deal-deepdive-template.md — le bloc par affaire que le Skill rend pour chacun des top commits. Même forme par affaire pour que le manager scanne les trois premiers d’un coup d’œil.
Décidez votre cadence hebdomadaire et la séquence des 1:1s. Le briefing est conçu pour être lu une fois, dans les cinq à dix minutes avant chaque 1:1. Lancez le Skill en batch le lundi matin pour chaque commercial, classez chaque briefing dans vos notes de manager, puis lisez chacun au moment d’entrer dans le 1:1 correspondant. Ne partagez pas le briefing au préalable avec le commercial — les questions du briefing sont celles du manager, pas un prompt de préparation pour le commercial.
Ce que le skill fait réellement
Six étapes, dans l’ordre, sans parallélisation :
Vérifiez le manager-de-référence dans le CRM. Refus ferme si l’utilisateur invocateur n’est pas le manager direct du commercial. Pas de briefing partiel, pas de suggestion de contournement.
Différez d’abord le delta commit-vs-réel — commit total, best-case et upside semaine après semaine, plus les mouvements par opportunité entre catégories. Le delta est calculé avant toute extraction d’activité car chaque étape ultérieure (quelles affaires analyser en profondeur, quelles questions faire remonter) est indexée par ce qui a bougé. La dérive de schéma entre les snapshots est aussi un refus ferme ici.
Classez les meilleurs commits par un composite de taille d’affaire, jours jusqu’à la clôture, tout mouvement semaine après semaine, et « aucune activité dans les 14 derniers jours ». Prenez les trois premiers (défaut ; configurable jusqu’à cinq). Le plafond existe car les briefings qui essaient d’analyser en profondeur douze affaires sont feuilletés ; ceux sur trois sont utilisés.
Extrayez l’activité récente par top commit — les 14 derniers jours d’emails, réunions, appels (titres uniquement, jamais de transcriptions), completions de tâches, historique d’étapes. Le bruit auto-journalisé (emails système, refus de calendrier, séquences BCC-blast) est filtré avant de compter. Les affaires avec zéro activité significative sont signalées comme bloquées ; les affaires avec plus de cinq changements d’étape dans la fenêtre sont signalées comme en thrashing.
Faites correspondre les patterns de questions depuis 02-question-library.md avec les mouvements détectés aux étapes 2 et 4. La bibliothèque est indexée par pattern, pas par taille d’affaire ou par commercial. Si un pattern de mouvement ne correspond à aucune entrée de la bibliothèque, le Skill fait remonter le mouvement ouvertement et écrit « aucune question de bibliothèque ne correspond ; manager à rédiger » — il n’invente jamais une question générique pour remplir le slot.
Rendu du briefing dans le format fixe depuis 01-briefing-format.md. L’ordre des sections ne change pas d’une semaine à l’autre ; le choix d’ingénierie est délibéré pour que le manager scanne la même mise en page chaque lundi et remarque ce qui a changé.
La section des questions est l’output le plus important. « Comment se porte l’affaire ? » est inutile. « Expliquez-moi ce qui a changé chez Acme entre vendredi dernier et aujourd’hui pour qu’elle passe directement en commit » est une question à laquelle le commercial peut répondre précisément, que le manager peut vérifier sur le snapshot de la semaine suivante, et la bibliothèque de questions est construite pour produire des questions de cette forme précise par pattern détecté.
Réalité des coûts
Par briefing (un commercial, trois commits en analyse approfondie, ~14 jours d’activité filtrée, Claude Sonnet 4.5) :
Environ 40 000 tokens d’entrée — les deux snapshots, les métadonnées des N meilleures opportunités, le journal d’activité filtré par top commit, les trois fichiers de référence. Environ 0,12 $ au tarif actuel de Sonnet.
Environ 1 500 tokens de sortie pour le briefing lui-même. Environ 0,02 $.
Environ 0,15 $ par commercial par semaine, 0,60 $ par commercial par mois.
Pour un manager de six commerciaux, c’est environ 4 $ par mois en coût de tokens. L’accès à l’API CRM est inclus si vous avez déjà Salesforce ; le stockage de snapshots S3 ou Drive est essentiellement gratuit à ce volume.
Temps économisé par manager par semaine : environ 60 minutes de préparation manuelle de prévision par commercial se réduisent à environ 10 minutes de revue de briefing. Pour six commerciaux, c’est environ cinq heures récupérées par semaine. Le plancher réaliste est plus proche de trois heures récupérées compte tenu des conversations 1:1 qui durent légèrement plus longtemps car les questions sont plus précises — ce qui est le but.
Métriques de succès
Suivez un seul chiffre pendant un trimestre : pourcentage des 1:1s hebdomadaires de prévision où le commercial mentionne le pattern signalé par le briefing sans y être invité. Si au-dessus de 50 % à la semaine 6, la bibliothèque de questions est calibrée sur les vrais patterns d’affaires de votre équipe et le briefing s’impose comme un démarreur de conversation plutôt qu’un verdict. En dessous de ce seuil, les questions sont soit trop génériques soit le commercial ne les juge pas pertinentes — rafraîchissez la bibliothèque de questions avec les post-mortems réels d’affaires du dernier trimestre.
Signaux secondaires (plus lents, plus bruités) : précision des commits semaine après semaine, taux de glissement des prévisions en fin de trimestre, qualité des 1:1s évaluée par le manager, pourcentage des 1:1s où le commercial signale un risque d’affaire avant le manager.
Alternatives
Préparation manuelle de prévision à partir de zéro. Meilleure fidélité si le manager le fait vraiment chaque semaine. Le piège est la cohérence : sous charge, la préparation manuelle saute les commerciaux stables pour se concentrer sur le commercial problématique, la profondeur de préparation varie de semaine en semaine, et les questions dérivent vers le générique (« comment se porte Acme ? ») parce qu’il n’y a pas de bibliothèque fixe. Le Skill ne produit pas une meilleure préparation qu’un excellent manager avec un temps infini ; il produit une préparation cohérente pour le même manager sous une charge réaliste.
Fonctionnalités de prévision Clari. Clari est construit pour le chiffre de prévision lui-même — le roll-up, la calibration du commit, le scoring affaire par affaire. Il est excellent pour « quel est le chiffre de l’équipe » et pour signaler les affaires à risque par rapport aux patterns historiques. Ce qu’il ne fait pas, c’est générer un briefing de conversation 1:1 par commercial avec des questions précises tirées d’une bibliothèque que le manager possède. Vous pouvez combiner : Clari pour le chiffre et la détection de patterns au niveau équipe, ce Skill pour la préparation de conversation hebdomadaire par commercial.
Gong Forecast. Le plus pertinent quand le signal voulu est « qu’a réellement dit le client lors des appels récents » — la couche de transcription de Gong alimente directement son scoring d’affaires de prévision. Ce Skill ne tire délibérément pas les transcriptions (titres uniquement) pour garder le briefing scannable en 10 minutes et maintenir une surface de confidentialité réduite. Si vous voulez un signal de prévision au niveau du contenu des appels, Gong est le bon outil ; pour « que dois-je demander au commercial sur le diff de snapshot », ce Skill l’est.
Statu quo. « Je ferai la préparation de prévision juste après le nettoyage du pipeline. » Le nettoyage du pipeline n’est jamais terminé. Le 1:1 commence par « alors, comment va tout ? » et se termine avec le commercial qui repart en se sentant invisible. Le statu quo est l’alternative que la plupart des managers choisissent réellement.
Points de vigilance
Présenter les commerciaux comme bons ou mauvais sur la base de données retardées. Un commercial dont le commit a chuté cette semaine a peut-être fait la bonne chose (sorti honnêtement une affaire bloquée du commit avant qu’elle ne glisse) et un commercial dont le commit a augmenté peut sandbagging un glissement. Protection : le briefing rapporte les mouvements et les patterns et ne score jamais le commercial, ne classe jamais les commerciaux entre eux, et la bibliothèque de questions est construite autour du cadre « aidez-moi à comprendre » plutôt que « expliquez-vous ». Voir apps/web/public/artifacts/forecast-meeting-prep-skill/references/02-question-library.md pour les règles de formulation des questions. Le manager applique le contexte hors données (historique des 1:1s, nuances d’affaires que le snapshot ne montre pas) avant de tirer toute conclusion.
Dérive de la qualité des questions précises. Au fil du temps, la bibliothèque de questions peut se réduire aux mêmes trois questions pour chaque pattern de mouvement, et le commercial cesse de s’engager car chaque lundi semble identique. Protection : chaque entrée de la bibliothèque porte une date last_used que le Skill incrémente quand il choisit la question pour un commercial ; le Skill ajoute un avertissement quand la question correspondante a été utilisée sur ce commercial plus de trois fois dans le dernier trimestre ; le plan de déploiement prévoit un rafraîchissement trimestriel de la bibliothèque de questions à partir des post-mortems réels d’affaires du dernier trimestre. Voir apps/web/public/artifacts/forecast-meeting-prep-skill/references/02-question-library.md.
Contexte manquant que le manager a des 1:1s précédents. Le Skill voit les données de pipeline et les journaux d’activité. Il ne voit pas ce que le commercial a dit au manager lors du dernier 1:1, ce que le champion a mentionné dans un couloir, ou ce que les achats font côté client. Protection : le briefing est explicitement formulé comme « ce que les données montrent », la bibliothèque de questions est construite sur le cadre « aidez-moi à comprendre l’écart », et le manager modifie toujours avant l’appel. L’output du Skill sans revue du manager est un pattern matching partiel, pas un verdict.
Hygiène des snapshots. Si le snapshot hebdomadaire manque une semaine, le diff à l’étape 2 hallucine des mouvements à grande échelle (chaque affaire semble avoir bougé). Protection : le Skill compare les timestamps des snapshots et refuse si l’écart dépasse 10 jours, et refuse en cas de dérive de schéma entre les snapshots. Mieux vaut retourner « écart de snapshot, pas de briefing » que de rendre un briefing confident mais erroné.
Le partage automatique n’est intentionnellement pas dans le bundle. Le briefing est une préparation privée. Le câbler dans un canal Slack, l’envoyer au commercial, ou l’alimenter dans le roll-up ascendant brise le modèle de confiance — le commercial commence à écrire des notes de pipeline pour le briefing, pas pour le client, et le briefing se réduit de « ce que les données montrent » à « ce que le modèle récompense ».
Stack
Salesforce (ou votre CRM) — source de vérité pour l’ensemble des opportunités, vérification du manager-de-référence, journal d’activité
S3 ou Google Drive — stockage de snapshots hebdomadaires pour le diff semaine après semaine
Claude (Sonnet 4.5 ou supérieur) — narration du diff de snapshot, détection de patterns, sélection de questions, rendu au format fixe
Format de briefing, bibliothèque de questions, modèle d’analyse approfondie — les trois fichiers de référence dans apps/web/public/artifacts/forecast-meeting-prep-skill/references/ qui transforment un prompt générique « résumez ce pipeline » en boucle de préparation de prévision hebdomadaire que votre équipe possède
---
name: forecast-meeting-prep
description: Generate a one-page briefing for a sales manager's weekly forecast call. Pulls the rep's open pipeline, diffs commit / best-case / upside against last week's snapshot, deep-dives the top three commits, and lists specific questions the manager should ask the rep — based on actual movement patterns, not generic forecast hygiene. Output is a Markdown document the manager reads on the way to the call. Never produces forecast numbers; never auto-shares with the rep.
---
# Forecast meeting prep
## When to invoke
Invoke when a sales manager is preparing for a weekly one-on-one forecast call with a single rep. Take a rep ID, the current week's forecast snapshot, and last week's snapshot as input. Produce a Markdown briefing the manager reads in the five to ten minutes before the call.
Do NOT invoke for:
- **Producing the actual forecast number to commit upward.** This Skill prepares the manager for a conversation about the rep's number; the rep owns the number, the manager calibrates it, the Skill does not generate it. Auto-generated commit numbers are how forecast culture gets gamed.
- **Board prep, QBR roll-ups, or any output that leaves the manager's desk without manager review.** The briefing is a private prep doc. Surfacing it to the rep, the VP, or the board without the manager reading and editing first turns half-formed pattern matching into a verdict.
- **Reps the invoking user does not directly manage.** The Skill checks the requesting user's manager-of-record status against the rep ID and refuses on mismatch. Wrong-manager forecast briefings expose deal-by-deal context the invoker should not see.
- **A new rep in their first 30 days.** Week-over-week movement on a ramping rep's pipeline is mostly noise — they are learning the stages, not signaling deal health. Wait until the rep has three clean weeks of pipeline activity before relying on this Skill.
- **Renewal-only books or pure CS pipelines.** The rubric here is built for new-business commit / best-case / upside motion. Renewal forecasting has different signal (usage, NPS, multi-year clauses) that this Skill does not look at.
## Inputs
- Required: `rep_id` — the CRM user ID for the AE being prepped.
- Required: `manager_id` — the CRM user ID of the invoking manager. Used to verify manager-of-record before any pipeline data loads.
- Required: `current_snapshot` — path or ID of this week's pipeline snapshot CSV (commit, best-case, upside flagged per opportunity).
- Required: `prior_snapshot` — path or ID of last week's snapshot in the same shape. The Skill expects identical column structure week-over-week and refuses on schema drift.
- Optional: `top_n_commits` — how many top commits to deep-dive on. Default 3. The cap exists because four-plus deep-dives turn the briefing into a deck the manager will not read in five minutes.
- Optional: `activity_window_days` — how far back to pull recent activity per top commit. Default 14. Older activity is too stale to be a current-quarter signal.
- Optional: `prior_briefing` — path to last week's prep briefing for this same rep, if it exists. Used to flag patterns repeating week-over-week ("third week in a row this deal slipped a stage").
## Reference files
Read all of the following from `references/` before generating the briefing. Without them, the output reads like a generic forecast-call checklist that any sales blog could produce.
- `references/01-briefing-format.md` — the literal Markdown shape every weekly briefing uses. Fixed format is deliberate so the manager scans the same sections in the same order every week.
- `references/02-question-library.md` — the manager's catalog of forecast-call questions, indexed by deal pattern (slipped close date, stage advance with no activity, commit added with no prior best-case appearance, etc.). The Skill picks from this library rather than inventing questions.
- `references/03-deal-deepdive-template.md` — the per-deal block the Skill fills in for each of the top commits. Same shape per deal so the manager can compare across the top three at a glance.
## Method
Run these steps in order. Do not parallelize — later steps depend on data from earlier steps, and the manager-of-record check must run before any pipeline content is loaded.
### 1. Verify manager-of-record
Query the CRM for the rep's manager-of-record. If it does not match `manager_id`, refuse the request and return:
```
Refused: <manager_id> is not the manager of record for <rep_id>. Forecast prep briefings are written for the direct manager only.
```
This is a hard refusal. Do not produce a partial briefing, do not suggest workarounds. Wrong-manager forecast content is the highest-impact data-leakage failure mode this Skill could enable.
### 2. Diff commit-vs-actual delta first
Before pulling activity, compute the week-over-week delta on the forecast categories themselves: total commit, total best-case, total upside, plus per-opportunity moves between categories. Pull this first because the delta frames every other section — a $400k commit that lost $120k overnight changes which deals the deep-dive prioritizes, and the question library indexes by movement pattern (category change, amount change, close-date drift) rather than by deal size.
If schema drift is detected (column added, removed, or renamed between snapshots), stop and return:
```
Schema drift detected between snapshots. Columns differ: <list>. Re-run after the snapshot job is reconciled.
```
Hallucinating diffs across mismatched schemas is the failure mode this guard rules out.
### 3. Rank top commits for deep-dive
Take the current week's commit set and rank by a composite of: deal size, days-to-close, week-over-week movement (any move = higher rank), and "no activity in last 14 days" (any silence = higher rank). Take the top `top_n_commits` (default 3).
The engineering choice to focus the deep-dive on three deals (not all of them) is bounded by what the manager can actually talk through in a 30-minute one-on-one. Briefings that try to cover twelve commits get skimmed; briefings on three get used.
### 4. Pull recent activity per top commit
For each of the top commits, pull the last `activity_window_days` of activity: emails logged, meetings, call recordings (titles only — not transcripts), task completions, stage history. Filter out auto-logged noise (system emails, calendar declines, BCC-blast sequences) before counting.
Surface the deal as "stalled" if there are zero meaningful activities in the window. Surface as "thrashing" if there are more than five stage changes in the window (real deals do not move that much; the rep is gaming the pipeline view).
### 5. Match question patterns from the library
For each top commit and each notable category-level movement, look up the relevant question pattern in `02-question-library.md`. Engineering choice: the question library is per-pattern, not per-deal-size or per-rep, because the same patterns repeat across deals — "commit added this week with no prior best-case appearance" calls for the same conversation regardless of whether it is a $50k deal or a $500k one.
If `prior_briefing` is provided, cross-check: is this the same pattern flagged on this deal last week? If yes, escalate the question ("Third week in a row we are flagging this — what changed in the deal that did not change in the data?").
If no library question matches a movement pattern (rare, but possible), surface the movement openly and write "no library question matches; manager to draft." Never invent a generic question to fill the slot — generic questions are the failure mode this guard rules out.
### 6. Render the briefing
Use the format in `01-briefing-format.md` exactly. Engineering choice: the format is fixed so the manager scans the same sections in the same order every week and notices what changed week over week.
## Output format
```markdown
# Forecast prep — {Rep name}, week of {YYYY-MM-DD}
Manager: {Manager name}
Snapshots: this week ({date}) vs last week ({date})
Pipeline rolled up: ${commit total} commit / ${best-case total} best-case / ${upside total} upside
## Week-over-week movement
- Commit: ${last_week} → ${this_week} ({+/- $delta}, {+/- %})
- Best-case: ${last_week} → ${this_week} ({+/- $delta}, {+/- %})
- Upside: ${last_week} → ${this_week} ({+/- $delta}, {+/- %})
Notable category moves:
- {Deal name} — moved from {prior category} to {current category} ({reason if visible from activity})
- {Deal name} — close date slipped from {prior date} to {current date}
- {Deal name} — added to commit this week, no prior appearance in best-case
## Top {N} commits — deep dive
### 1. {Deal name} — ${amount}, close {date}
- Stage: {current} (was {prior, if changed})
- Activity in last {window} days: {meaningful_count} touches ({email/meeting/call counts})
- Last meaningful activity: {date} — {one-line summary}
- Movement this week: {category move | amount change | close-date drift | none}
- Pattern flag: {stalled | thrashing | repeat-flag-from-prior-week | clean}
### 2. {Deal name} — ${amount}, close {date}
(same shape)
### 3. {Deal name} — ${amount}, close {date}
(same shape)
## Questions for the rep this week
(Specific, sourced from the question library against the patterns above. Two to five questions, never generic.)
1. **{Pattern}.** "{question pulled from 02-question-library.md, deal name substituted}"
2. **{Pattern}.** "{question}"
3. **{Pattern}.** "{question}"
## Other deals worth a sentence
(One line each — deals that moved but did not make the top three. Not deep-dived.)
- {Deal name} — {one-sentence movement summary}
- {Deal name} — {one-sentence movement summary}
---
Draft by forecast-meeting-prep skill. Manager reviews and edits
before the 1:1; this briefing is private prep, not auto-shared with
the rep or rolled up.
```
## Watch-outs
- **Surfacing reps as good or bad based on lagging data.** A rep whose commit dropped this week may have done the right thing (pulled an honestly-stalled deal out of commit) and a rep whose commit grew may be sandbagging a slip. Guard: the briefing reports movement and patterns; it never scores the rep, never ranks reps against each other, and the question library is built around "help me understand" framing rather than "explain yourself" framing. The manager applies the off-data context (1:1 history, deal nuance the data does not show) before drawing any conclusion.
- **Specific-question quality drift.** Over time, the question library can collapse into the same three questions for every movement pattern, and the briefing becomes background noise the rep stops engaging with. Guard: every question in `02-question-library.md` carries a `last_used` date; the Skill prepends a warning when the matched question has been used on this rep more than three weeks in the last quarter, and the rollout plan includes a quarterly question-library refresh.
- **Missing context that the manager has from prior 1:1s.** The Skill sees pipeline data and activity logs. It does not see what the rep told the manager about the deal in the last 1:1, what the champion mentioned in a hallway, or what the customer's procurement team is doing. Guard: the briefing is explicitly framed as "what the data shows," the question library is built on "help me understand the gap" framing rather than "the data says X therefore Y," and the manager always edits before the call. The Skill output without manager review is a half-formed pattern match, not a verdict.
- **Snapshot hygiene.** If the weekly snapshot misses a week, the diff in step 2 will hallucinate movement at scale (every deal looks like it moved). Guard: the Skill compares snapshot timestamps and refuses if the gap exceeds 10 days. Better to return "snapshot gap, no briefing" than render a confident wrong briefing.
- **Auto-share is out of scope.** The briefing is a manager prep document. Never wire this into a Slack channel, never send it to the rep, never feed it into the upward roll-up. The bundle ships no auto-send hook; adding one breaks the trust model.
# Briefing format — TEMPLATE
> Replace this template's contents with your team's actual briefing
> shape. Keep the section order fixed across weeks so the manager
> scans the same layout every Monday and notices what changed.
## Why a fixed format
The manager reads this in the five to ten minutes before a 1:1. Layout-shopping is friction. Every section appears in the same place every week so eye-line goes straight to "what changed."
## Section order (do not reorder)
1. **Header** — rep name, week, manager, snapshot dates, top-line roll-up of commit / best-case / upside totals. One block.
2. **Week-over-week movement** — three lines for the category totals plus a bulleted list of notable category-level moves (not deal deep-dives — those come later).
3. **Top N commits — deep dive** — one block per deal in the format defined in `03-deal-deepdive-template.md`. Default N = 3.
4. **Questions for the rep this week** — two to five specific questions pulled from `02-question-library.md`. Each question carries the pattern that triggered it, in bold, before the question text.
5. **Other deals worth a sentence** — one line per deal that moved but did not make the top three deep-dive list. Cap at ten lines total; longer is briefing-as-list and gets skimmed.
6. **Footer** — one-line provenance line stating the briefing was drafted by the Skill, the manager reviews before the 1:1, and the briefing is not auto-shared.
## Tone
- Reporter, not judge. "Commit dropped $120k week-over-week" not "rep sandbagged commit."
- Specific, not generic. "Deal X moved from best-case to commit this week with no prior best-case appearance" not "some movement in the commit category."
- Question framing in the questions section is "help me understand" not "explain yourself." Forecast calls go badly when reps feel cornered; this briefing primes the manager toward curiosity.
## What the format does not include
- Rep score / grade / ranking against other reps. The Skill is per rep and never aggregates across reps.
- A recommended commit number. The rep owns the number; the Skill does not produce one.
- Any prediction about whether the deal closes. The Skill describes movement; the manager and rep judge probability.
## Last edited
{YYYY-MM-DD}
# Forecast question library — TEMPLATE
> Replace this template with your team's actual question catalog.
> The Skill picks questions from this library by matching the deal
> movement pattern, rather than inventing a question per run.
> Every entry carries a `last_used` date the Skill bumps when it
> picks the question for a given rep, so over-use is visible and the
> question library can be refreshed quarterly.
## How questions are indexed
Each question is filed under one or more **movement patterns**. The Skill detects the pattern from the snapshot diff and pulls one question per pattern triggered for the top-N commits. Patterns are mutually compatible — a deal can fire two patterns and pull two questions.
If you add or rename a pattern here, update the pattern detection logic in the Skill so detection and question retrieval stay in sync.
## Pattern: commit added with no prior best-case appearance
**What it means.** A deal showed up in the commit column this week that was not in best-case last week. The rep skipped the normal escalation path (upside → best-case → commit). Either the deal genuinely moved that fast (rare) or the rep is filling a commit gap.
Questions:
- "Walk me through what changed on {deal} between last Friday and today that took it straight to commit."
- "Who at {customer} confirmed verbally that they are committing this quarter, and when did that conversation happen?"
- "If we were doing this same call two weeks ago, would {deal} have been in upside, best-case, or not on the list at all?"
## Pattern: commit dropped, deal moved to best-case or upside
**What it means.** A deal in commit last week moved down a category this week. Could be honest (deal genuinely slipped) or could be a late tell that the deal was never really committed.
Questions:
- "What specifically did the customer say or do that moved {deal} out of commit?"
- "Was anything new in the deal last week that we missed, or did the signal we already had finally land?"
- "What would have to be true for {deal} to come back into commit by end of quarter?"
## Pattern: stage advance with no corresponding activity
**What it means.** Deal moved from one stage to a later stage this week, but the activity log shows no meaningful customer touch (meetings, emails, calls) tied to that move. Often the rep is hygiene-cleaning the pipeline and the move is administrative, not substantive.
Questions:
- "{Deal} advanced from {prior stage} to {current stage} this week. What conversation triggered that move?"
- "Is there a meeting, an email, or a verbal commitment we should log against this stage change so the next person reading the account understands?"
## Pattern: close-date drift (slipped > 7 days)
**What it means.** Close date moved out by more than a week. Once-off slips are normal; repeat slips on the same deal are a tell.
Questions:
- "What is the customer-side reason {deal} slipped from {prior date} to {current date}?"
- "How many times has the close date on {deal} moved this quarter, and what was the reason each time?"
- "Are we at a point where the close date is the customer's ask, or are we still telling the customer when we want to close?"
## Pattern: stalled (zero meaningful activity in window)
**What it means.** No customer-side touch in the last 14 days on a deal that is still in commit.
Questions:
- "When was the last time you heard from anyone at {customer} on {deal}, and what did they say?"
- "Who is owning the next step on the customer side, and what is their stated timeline?"
- "Should {deal} still be in commit if we have not heard from them in two weeks?"
## Pattern: thrashing (more than five stage changes in window)
**What it means.** Deal stage moved more than five times in two weeks. Real deals do not move that much; either the stage definitions are unclear or the rep is gaming pipeline hygiene reports.
Questions:
- "{Deal} has moved stage five-plus times in the last two weeks. What is actually happening on the customer side?"
- "Are our stage definitions clear enough on this one, or do we need to talk through what {current stage} means for this deal?"
## Pattern: repeat flag from prior week
**What it means.** Same pattern flagged on the same deal in the prior briefing. Either the issue did not get addressed, or the underlying signal is real and ongoing.
Questions:
- "We flagged {pattern} on {deal} last week as well. What changed this week, if anything?"
- "Is this turning into a deal where the data is telling us something the rep narrative is not?"
## Last edited
{YYYY-MM-DD}
# Deal deep-dive block — TEMPLATE
> Replace this template with your team's actual per-deal block. Keep
> the field order fixed across deals and across weeks so the manager
> can scan the top three deep-dives at a glance and compare like for
> like.
## The block
```markdown
### {Rank}. {Deal name} — ${amount}, close {date}
- Stage: {current stage} (was {prior stage, if changed in window})
- Forecast category: {commit | best-case | upside} (was {prior, if changed})
- Activity in last {window} days: {count} meaningful touches
({email count} emails, {meeting count} meetings, {call count} calls)
- Last meaningful activity: {date} — {one-line summary, no transcripts}
- Movement this week: {category move | amount change | close-date drift | stage change | none}
- Pattern flag: {stalled | thrashing | repeat-flag-from-prior-week | clean | other}
- Notes from prior briefing (if any): {one line, only if same deal flagged last week}
```
## Field rules
- **Amount and close date** come straight from the snapshot. No derivation, no rounding, no projection.
- **Activity counts** are post-filter. Auto-logged emails, calendar declines, BCC-sequence sends, and bounce notifications are excluded before counting. The Skill never inflates activity by counting noise.
- **Last meaningful activity** is one line. Title or subject line of the activity, plus date. Never a transcript, never a quote — those belong in the source system, not in a prep briefing.
- **Movement** lists every dimension that changed week-over-week. If multiple changed, list all of them; the manager decides which matters most for the conversation.
- **Pattern flag** is the worst-case flag fired by the deal across the patterns in `02-question-library.md`. If multiple patterns fired, the flag is "multiple" and the questions section will surface one question per pattern.
- **Notes from prior briefing** appear only when `prior_briefing` was passed as input and the same deal was flagged. Otherwise omit the line — do not pad with "no prior context."
## What goes here vs what goes in the questions section
This block is reporting (what the data shows). The questions section is conversation (what the manager asks). Do not collapse them — a manager scanning the deep-dive on the way to a 1:1 needs to hold the data in their head before they get to the questions.
## Last edited
{YYYY-MM-DD}