weekly-pipeline-rollup
Weekly pipeline rollup
You turn a CRM deal export into a stakeholder-ready weekly pipeline report. The rollup answers four questions: where the quarter is pacing, what moved this week, what is at risk, what is new, plus the one ask for the stakeholder. The same data ships in three shapes: Slack thread, email, Notion page.
Inputs to gather first
If .lens/rollup-spec.md exists, read it. Otherwise prompt for:
- Audience — founder / CEO / board / sales-leader. Each has a different length and focus.
- CRM export — open deals plus closed-won and closed-lost from the last 7 days, with
deal_id,company_name,primary_contact,owner,amount,currency,stage,stage_changed_at,created_at,close_date,last_activity_at,last_activity_type,lost_reason - Last rollup timestamp — for diffing stage changes
- Quarter targets — commit, best case, current pacing
- Stage taxonomy — the CRM’s pipeline stages in order
- Delivery channel — Slack thread, email, Notion page
If no targets are provided, run the rollup without the gap-to-target framing. Note explicitly that targets are missing.
The pipeline (five phases)
Phase 1 — Rollup spec
Audience-to-length mapping:
- Founder: 200-400 words, focused on trajectory, one big movement, one big risk.
- CEO: 400-600 words, quarter pacing plus top 5 deals.
- Board: 300-500 words, quarter pacing plus year-on-year plus the one ask.
- Sales leader: 600-900 words, stage-by-stage, rep-by-rep, deals at risk.
Every rollup answers four questions: quarter pacing, what moved, what is at risk, what is new.
Phase 2 — CRM extraction
Return JSON with:
summary_metrics— open_pipeline_value, open_deals_count, deals_advanced_this_week, deals_stalled, deals_closed_won_this_week, deals_closed_lost_this_week, weekly_net_movementpacing— quarter_target, closed_won_quarter_to_date, pacing_percentage, gap_to_target, weeks_remaining_in_quarteradvanced_deals— deal / from_stage / to_stage / amount / ownerstalled_deals— deal / days_idle / amount / owner / next_step_needed (days_idle >= 14, not closed)new_deals— deal / amount / owner / sourceclosed_won— deal / amount / ownerclosed_lost— deal / amount / lost_reason / ownertop_5_at_risk— combines stalled at high-value stages, slipping close dates, owners idle 21+ days
Phase 3 — Narrative synthesis
Return Markdown:
# Pipeline rollup, week of {DATE}
## Quarter pacing
{paragraph, numbers named}
## What moved this week
{1-3 biggest advances by value, owners named}
## What is at risk
{top 3 at-risk deals, risk signal, next step}
## What is new
{1-3 most consequential new opportunities}
## The one ask
{single sentence, concrete, answerable}
Rules:
- Length within 10 percent of target.
- Every claim names a number, name or stage.
- No padding. No exclamation marks. No hype words. Active voice.
- “Nothing material this week” instead of padding when a section is empty.
Phase 4 — Stakeholder format pack
Return JSON with slack (header_message under 1500 chars plus threaded_replies), email (subject with pacing pct plus body), notion (page_title, page_body_markdown, tags including pacing band, callout_summary).
Rules:
- Slack header has a single emoji indicator based on weekly_net_movement.
- Email subject is searchable, includes pacing pct.
- Notion tags include “on-pace”, “behind”, or “ahead”.
Phase 5 — Delivery
Deliver to the chosen channel. Archive every rollup to .lens/rollups/{date}.md with the underlying JSON next to it.
Output
Three deliverables:
- The rollup Markdown
- The format pack JSON
- The archive file at
.lens/rollups/{date}.md
Evals
Before delivering:
- Numerical accuracy — every number in the rollup matches the CRM source.
- Length adherence — within 10 percent of the audience’s target.
- Ask quality — concrete, answerable. “Have eyes on this” is not an ask. “Marcus, call Aros before Tuesday” is.
- Section discipline — empty sections say “Nothing material this week” rather than padding.
- No AI tells — no em dashes, no prose colons, no hype words, no exclamation marks.
Failure modes to watch
- Padding to feel substantial — flag and recommend the “nothing material” line.
- Numbers do not reconcile — extract from a single export only. Never combine two source files.
- At-risk wishlist — hold the top-3 cap.
- Ask drift — if “the one ask” becomes multiple, split across weeks.
- Stakeholder fatigue — recommend a quarterly format refresh to keep the read sharp.
Hand-off
- 13 weekly rollups feed quarterly-okr-synthesis.
- The archive becomes searchable through personal-knowledge-base.
- Stalled-deal flags drive prep for call-follow-up-loop.
- Pipeline movement reads into daily-briefing-pipeline.
Save to .lens/rollups/{date}.md.
Ten skills, twenty playbooks, growing.
Browse the rest of the skill set or read the paired playbook for the strategic context.