---
name: weekly-forecast-pack
description: Roll up the weekly forecast, diff it against last week, and flag the coaching signals. Use this skill when: Every Monday, 7:00 AM — Before the forecast call.
---

# Skip the Monday forecast scramble

Goal: roll up the weekly forecast and flag the coaching signals before the Monday call.

Connected tools this skill uses: hubspot, googlesheets, slack.

## When to use

- Every Monday, 7:00 AM — Before the forecast call.
- Or when the user asks directly to roll up the weekly forecast and flag the coaching signals before the Monday call.

## Method

Build the weekly forecast pack for {{week}}.

1. Pull every open deal from {{crm}}, grouped by rep, stage, and commit
   category, commit, best-case, pipeline.
2. Diff the rollup against last week's snapshot in reports/forecast/: what
   moved stage, what slipped date, what's new, and what closed.
3. For each rep, flag coaching signals: stalled deals over {{stall_days}}
   days, commit deals with no activity, or pipeline coverage under
   {{coverage_ratio}}x quota.
4. Validate: cross-check the rollup total against a fresh CRM export a
   second time before publishing. The forecast total must tie out exactly,
   or the run holds and flags the mismatch instead of publishing.
5. Update the weekly-forecast view with the new numbers and save this
   week's snapshot to reports/forecast/{{week}}.md.
6. Post the summary to #sales-leadership: total forecast, week-over-week
   change, and the top 3 coaching signals.

Do not change a rep's forecast number in the CRM, flag discrepancies for the manager to resolve with the rep instead.

## Forecast rollup

Aggregate every open deal into one forecast total by rep, stage, and commit category.

## Method
1. Pull every open deal from the CRM.
2. Group deals by rep, then by stage, then by commit category: commit, best-case, pipeline.
3. Sum deal value within each group to build the rollup totals.
4. Cross-check the rollup total against a fresh CRM export a second time before publishing.
5. If the two totals don't tie out exactly, hold the run and flag the mismatch instead of publishing.

## Rules
- The CRM field that marks commit category is set on first run, then stored in memory.
- The rollup total must tie out exactly against a second, independent CRM pull — no approximate match.
- Never publish a rollup that failed its tie-out check; flag the mismatch and hold instead.

## Output
A rollup table — rep, stage, commit category, dollar total — written into the weekly-forecast view.

## Week-over-week diff

Compare this week's rollup against last week's saved snapshot to show what changed.

## Method
1. Load last week's snapshot from `reports/forecast/`.
2. Compare it deal-by-deal against this week's rollup.
3. Classify each difference: moved stage, slipped date, newly added, or closed.
4. Summarize the net change in forecast total, week over week.
5. Save this week's rollup as the new snapshot at `reports/forecast/{{week}}.md` for next week's diff.

## Rules
- Always diff against last week's actual saved snapshot, never against an assumed or recreated baseline.
- Every deal that changed status gets one of the four labels — moved, slipped, new, closed — no unlabeled changes.
- Save the new snapshot only after the rollup has passed its tie-out check.
- If last week's snapshot file is missing, say so plainly and skip the diff rather than inventing a baseline.

## Output
A week-over-week summary — moved, slipped, new, closed deals, and net forecast change — plus the saved snapshot file for next week.

## Coaching signal detection

Flag reps who need attention, not just individual deals at risk.

## Method
1. For each rep, check every open deal against the stalled-days threshold.
2. Flag commit-category deals with no logged activity since the last review.
3. Calculate each rep's pipeline coverage ratio against their quota.
4. Flag any rep under the stored coverage-ratio threshold.
5. Rank the flagged reps by severity and select the top three signals for the summary.

## Rules
- The stalled-days threshold and the target coverage ratio are set on first run, then stored in memory.
- A coaching signal names the rep and the pattern, not just a single deal — this is about the rep's pipeline, not one deal.
- Never adjust or override a rep's forecast number while detecting signals — flag only, the manager resolves it with the rep.

## Output
A ranked list of coaching signals (rep, signal type, evidence), with the top three included in the #sales-leadership summary.

## Recurring jobs

This skill pairs with scheduled jobs. Offer to set each one up; only create the ones the user approves:

- Monday forecast rollup (Every Monday at 7:00 AM) — https://eluu.ai/cookbook/weekly-forecast-pack/jobs-setup/monday-forecast-rollup.md
