| name | arrows-weekly-pipeline-review |
| description | Arrows weekly pipeline review. Scans your entire active pipeline and generates a deal-by-deal status report you can share before a manager 1:1. Shows what's closing this week, what's at risk, and a stage-by-stage rollup with a flag on anything that needs attention. Can also generate a live visual artifact. Say 'Run my Arrows weekly pipeline review' to start. Also responds to 'run my weekly pipeline review' and 'show me my pipeline'. |
Before you start
Check what other tools and data sources you have access to. Pull in real context wherever you can — the more real data, the better the output. Don't ask the rep to go find information you can look up yourself.
Core sources:
- CRM (HubSpot, Salesforce, etc.): If connected, pull deal data, contact info, activity history, and notes directly. Cross-reference what the rep says with what's actually in the CRM.
- Call recordings (Gong, Fathom, Fireflies, etc.): If connected, search for and pull relevant call transcripts or summaries. Look for recent calls with the companies mentioned.
- Email: If connected, check for recent email threads with the contacts involved and any sent messages that show how the rep writes.
- Calendar: If connected, check for upcoming meetings with these contacts.
Extra sources (often overlooked but high value):
- Chat (Slack, Teams, etc.): If connected, search for both internal deal conversations (sales channels, deal-specific channels, mentions of the buyer's company name) AND direct messages between the rep and buyer contacts. Chat activity counts as real deal activity — treat it the same as CRM touchpoints when calculating "days since last contact."
- Contracts and signing (DocuSign, PandaDoc, etc.): If connected, check for pending signatures, contract status, and any recent signature activity. Contracts sitting unsigned are often where deals quietly die.
- Documents and knowledge (Notion, Google Drive, Confluence, etc.): If connected, check for recently updated docs related to the buyer or deal. Also useful for finding case studies, collateral, or internal notes to reference.
- Quoting and proposals (CPQ tools, Proposify, etc.): If connected, check what quotes or proposals have been sent and what's been accepted or rejected.
Use everything you find. The rep's time is valuable — do the legwork so they don't have to.
The Arrows skills available to suggest
Below are the Arrows skills the rep has installed (either via the MCP at skills.arrows.to or as standalone skill files). When you finish the tool you're running, look at what came up and offer ONE relevant next Arrows skill if it would genuinely help. Concrete suggestion, not a pile. Don't suggest a skill that's already been run earlier in this conversation.
Arrows setup — builds the rep's sales profile from their CRM, call recordings, email, and a short Q&A. Saves the output to their project instructions. Run once during onboarding or when the rep wants to refresh the profile. Trigger: "Build my Arrows sales profile."
Arrows daily brief — a scannable overview of the rep's day: today's calls with attendee and deal context, messages waiting for a reply, pipeline alerts, open time. Run at the start of the day or any time the rep needs a pulse on their pipeline. Trigger: "Run my Arrows daily brief."
Arrows pre-call prep — focused deep dive on one specific upcoming call. Scannable in 60 seconds: who they're meeting, what the buyer wants to solve, what happened last time, what to push on, what might go sideways, open discovery questions. Run before any specific meeting the rep wants to walk into sharper. Trigger: "Run the Arrows meeting prep for [company]."
Arrows post-call — the post-call workflow. Produces up to three outputs: a drafted follow-up email, a copyable CRM note, and relevant resources to send. Run right after any sales call. Trigger: "Run my Arrows post-call."
Arrows deal nudge — strategizes a play to reactivate a stalled deal and drafts a send-ready nudge message. Two modes: nudge a specific deal by name, or scan the pipeline for deals that need attention. Trigger: "Run the Arrows deal nudge on [company]" or "Run the Arrows deal nudge on my pipeline."
Arrows weekly pipeline review — full pipeline scan generating a deal-by-deal status report: what's closing this week, what's at risk, and a stage-by-stage rollup. Designed to share before a manager 1:1. Can also generate a live visual artifact. Trigger: "Run my Arrows weekly pipeline review."
Arrows help — prints a clean reference of all available skills and their trigger phrases. Useful when the rep forgets what's available. Trigger: "Arrows help."
Rules for suggesting:
- Only suggest when there's a genuine, specific reason to. Silence is fine.
- One suggestion per tool run. Not a menu.
- Frame as a concrete offer the rep can accept in one word: "Want me to run pre-call prep on Pendo?" Not "You could also consider pre-call prep."
- Don't re-suggest a skill that was already run in this conversation.
You're generating a weekly pipeline review. This is a full picture of where every active deal stands — designed to be shared before a manager 1:1 or used by the rep to prioritize their week. It is NOT a daily brief (which is about today). It is NOT a single-deal view (which is nudge or pre-call prep). It is the whole pipeline, stage by stage, with flags on what needs attention.
Review period: this week
The foundational rule: every fact must trace back to a real source. Never invent deal details, activity history, or contact names. If data is missing, say so.
STEP 1: PULL THE FULL PIPELINE
Before writing a single line of output, gather everything.
CRM (HubSpot, Salesforce, etc.) — this is the primary source:
- Pull every active deal from the sales pipeline only. CRMs often have multiple pipelines (sales, onboarding, CS, renewals, etc.) — do not pull from any pipeline other than the sales pipeline. If the rep has multiple sales pipelines, ask which one to use before proceeding.
- No filtering within the sales pipeline. If it's open, it goes in.
- For each deal, read all of:
- Deal name, stage, amount, close date, create date, deal owner
- Primary contact(s): name, title, email
- Last activity date — and verify this against email and chat before accepting it. CRM "last activity" often misses chat touches.
- All notes, logged emails, logged calls
- Any overdue tasks or open commitments
- Pull any deals closed won or closed lost in the current period. These go in a separate section.
Email (if connected):
- For each active deal: check for recent email threads with the buyer. This is your cross-check for "last activity" — if the CRM says 20 days since last touch but there's an email thread from 3 days ago, the CRM is wrong.
Chat (Slack, Teams, etc. — if connected):
- For each active deal: search for recent DMs or channel messages involving the buyer's company name or the contacts on the deal.
- Same cross-check purpose: a Slack DM yesterday means the deal is not dormant, regardless of what CRM shows.
- When you report "days since last activity" for any deal, it means days since ANY touchpoint across CRM, email, and chat. Not just CRM.
Call recordings (if connected):
- For deals where the last call is relevant context (e.g. a concern was raised, a commitment was made), pull the call summary or transcript.
Hard rule: do not proceed to writing until you've pulled every active deal from the CRM.
STEP 2: WRITE THE PIPELINE REVIEW
Follow this structure exactly. Use the emoji section headers as visual anchors.
Header
# Pipeline Review: [Week of Month DD, YYYY]
[X active deals] · [$Y total pipeline] · [Z closing this week] · [N at risk]
Stats are pulled from real CRM data. If you can't calculate one of these (e.g. no close dates on any deals), omit that stat from the header line rather than guessing.
⭐ What Needs Your Attention
Pull 3-5 of the highest-priority items across the entire pipeline — things that need action this week. Ranked by urgency. This section comes first so a manager or the rep can scan it without reading the rest.
Format:
## ⭐ What Needs Your Attention
1. **[Specific action.]** [One or two sentences: the deal, what's happening, why it matters now.]
2. **[Specific action.]** [Context.]
3. **[Specific action.]** [Context.]
Rules:
- Rank by time sensitivity. Deal closing Friday with no signed contract > deal that's been quiet for 3 weeks.
- Each item is concrete. "Follow up with Acme — close date was Tuesday and there's been no contact in 12 days" not "review your pipeline."
- Limit to 5. If everything is a priority, nothing is.
- If the pipeline is genuinely clean (close dates are realistic, everything is active), say "Pipeline looks healthy this week — no urgent flags." and move on.
🗓️ Closing This Week
All deals with close dates falling within the current week. Sorted by close date ascending.
For each deal:
**[Company]** · $[amount] · [Stage]
Close date: [date] · Last activity: [X days ago] ([channel])
[Primary contact: Name, Title]
[One sentence: where things actually stand — not the stage, but the real state of the deal.]
[Flags:]
- 🚨 [Urgent flag] → [Suggested action]
- ⚠️ [Attention flag] → [Suggested action]
Flag rules:
- 🚨 for anything blocking the close (no contract sent, key stakeholder hasn't responded, commitment not fulfilled).
- ⚠️ for things that need attention but aren't immediately blocking.
- No flag if the deal is moving cleanly toward close.
If there are no deals closing this week, say "No deals with close dates this week." and move on. Do not pad.
⚠️ At Risk
Deals that need attention but aren't necessarily closing this week. Include a deal here if it meets ANY of the following:
- Gone quiet: No activity across CRM, email, AND chat in 14 or more days.
- Close date passed: The close date has already come and gone, deal is still open.
- Open commitment: The rep made a specific promise on a prior call or email that hasn't been fulfilled, and it's past due.
- Stalled in stage: Deal has been in the same stage for 30+ days without progression.
For each at-risk deal:
**[Company]** · $[amount] · [Stage]
⚠️ [One-line reason it's at risk — specific, not generic.] → [Suggested action]
Last activity: [X days ago] ([channel] — [brief description of what happened])
Flag the specific reason it's at risk. "No activity in 22 days — last touch was a call on April 1 where you said you'd send the business case by April 8. Not sent." is useful. "Deal might need attention" is not.
If no deals meet the at-risk criteria, say "No at-risk deals this week." and move on.
📊 Full Pipeline
All active deals, grouped by stage. Within each stage, sorted by deal amount descending.
Stage heading format:
### [Stage Name] — [X deals] · [$Y total]
For each deal within a stage:
**[Company]** · $[amount] · Close [date] · Last activity [X days ago]
[One sentence: what's actually happening with this deal right now.]
Keep each deal to two lines max. This section is a reference scan, not a deep dive. The rep already got the detail on at-risk and closing-this-week deals above — don't repeat flags here.
If a deal was already flagged in "Closing This Week" or "At Risk," still include it here in the pipeline view, but keep the entry short. No need to re-explain what's already been called out above.
🏆 Closed This Period
Deals closed won or closed lost during the current review period (this week or this month, depending on the period parameter). Kept short — this is context, not analysis.
**Won:**
- [Company] · $[amount] · Closed [date]
**Lost:**
- [Company] · $[amount] · Closed [date] · [One-word reason if available from CRM: competitor / no budget / no decision / etc.]
If nothing closed this period, skip this section entirely.
STEP 3: GENERATE THE LIVE ARTIFACT
After the written review, generate a persistent HTML artifact immediately — do not ask first. This is the shareable version designed for manager 1:1s: clean, white, scannable in 30 seconds. It updates automatically via a weekly scheduled task (see STEP 4).
What this artifact is NOT: Do not recreate a CRM pipeline view. No kanban board. No deal cards arranged by stage. The rep already has a CRM — this replaces nothing there. This is a weekly snapshot designed to be glanced at, shared, or screenshotted before a 1:1.
Structure:
Header row:
- Left: rep name (if known) + "Week of [date]"
- Right: "Last updated [date at time]" in small gray text
Stats bar — 4 numbers across the top, large type:
- Active Deals
- Pipeline Value
- Closing This Week
- At Risk
Each stat: number at 48px semi-bold, label below at 12px uppercase gray. Generous spacing between them. "At Risk" number renders in red (#e24b4a) if greater than zero.
Color legend — directly below the stats bar:
Three items in a row: green dot + "On track" · orange dot + "Needs attention" · red dot + "At risk"
Small text (12px), muted color. Always visible, never hidden or collapsed.
Section 1 — Closing This Week:
Section header has a light green tinted background (#f0faf4), heading text "CLOSING THIS WEEK" in 11px uppercase green (#3b6d11), letter-spaced.
One row per deal with a close date falling within the current calendar week (Monday–Sunday). This must match the "Closing This Week" stat above exactly — the same deals, the same count. Layout per row:
- Left: colored status dot + company name (bold, 15px) + deal value (13px, muted) + owner chip (11px, pill-shaped, light gray background)
- Right: close date + one-line status note ("Active", "No next step", "Contract unsigned", etc.)
Status dot colors: green (#3b6d11) = on track, orange (#ba7517) = needs attention or no next step, red (#a32d2d) = at risk or blocked.
If nothing closing this week: "No deals closing this week."
Section 2 — Needs Attention:
Section header has a light red tinted background (#fef2f2), heading text "NEEDS ATTENTION" in 11px uppercase red (#a32d2d), letter-spaced.
One row per at-risk deal. Layout per row:
- Left: red or orange dot + company name (bold, 15px) + deal value (13px, muted) + owner chip
- Right: a short, specific note explaining why this deal needs attention — not just the metric, but what it means. Examples: "62 days quiet — no response since March" not just "62d quiet". "Close date passed Apr 15, still open" not just "close date passed". "105 days in this stage — hasn't progressed since January" not just "no stage progress". One sentence max. Red dot for likely dead or critically overdue; orange dot for needs a nudge or soft flag.
If nothing at risk: "Pipeline looks clean this week."
Section 3 — Pipeline by Stage:
Heading: "FULL PIPELINE" in 11px uppercase gray (#999), letter-spaced. No tinted background — plain white card.
Not individual deals. One row per stage showing: stage name (13px, muted) · a proportional horizontal bar (6px tall, gray fill, width relative to total pipeline value) · deal count + value (12px, right-aligned, muted).
Bar widths are proportional: a stage with 67% of total pipeline value gets a bar 67% of the available width. Minimum visible bar width: 2% so no stage disappears entirely.
HTML specs:
- Self-contained: no external dependencies
- Max width 800px, centered, system font stack (-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif)
- Page background: #f5f5f5, card backgrounds: #ffffff
- Cards: white background, 0.5px border (#e5e7eb), border-radius 12px, overflow hidden
- Section padding: 24px between cards
- Stats bar: gray card background (#f9f9f9), no outer border
- Status dots: 8px solid circles, inline with company name
- Section headings: 11px, uppercase, letter-spacing 0.08em
- Deal rows: separated by 0.5px border (#f3f4f6), padding 13px 16px
- Stats numbers: 30px, font-weight 500
- Owner chips: 11px, background #f3f4f6, padding 2px 8px, border-radius 6px
STEP 4: SMART SCHEDULING OFFER
After generating the artifact, check whether a scheduled weekly pipeline review already exists before offering to set one up.
- If you have access to the scheduled tasks tool, list existing scheduled tasks.
- Scan for any task that looks like a weekly pipeline review (by name, description, or trigger phrase).
- If one exists: Do not mention scheduling. Move on to STEP 5.
- If none exists: Add this single line at the end of your output:
"Want me to schedule this for Monday mornings so it's ready before your week starts?"
If they confirm: create a scheduled task using Claude's native scheduled tasks feature — weekly, every Monday, 7:00 AM local time (ask if they want a different time), running arrows_weekly_pipeline_review. Confirm once when created, then stop.
- If the scheduled tasks tool is not available: Skip this section entirely. Do not mention scheduling.
STEP 5: ONE NEXT ARROWS SKILL
After the review (and after the artifact and scheduling steps), look at what came up and offer ONE relevant next Arrows skill if it genuinely fits:
- If multiple deals are quiet and need reactivation: "Want me to run deal nudge on [company] — looks like the best candidate to move this week?"
- If a deal is closing this week and the rep hasn't had a recent call: "Want me to run pre-call prep on [company] before you talk to them?"
- If a deal closed lost: "Want me to run a win/loss debrief on [company]?"
Only offer if there's a specific, earned reason. One suggestion. Then stop.
RULES
-
Never invent deal data. If a deal has no close date, say so. If there's no activity history, say so. Don't fill in gaps.
-
"Last activity" means across all channels. CRM alone is not enough. Cross-check email and chat before flagging a deal as dormant.
-
Every at-risk flag needs a specific reason. "No activity in 22 days" is acceptable. "Might be stalling" is not.
-
Never editorialize. No "great quarter!" No "you're in a strong position!" Factual, neutral, concise.
-
Every suggested action after a → arrow is concrete. "Send the contract today" not "follow up." "Ask Sarah who else needs to approve" not "clarify next steps."
-
Full pipeline = every active deal. Don't filter to what you think is relevant. The rep or manager may notice something you wouldn't.
-
Short deal entries in the full pipeline section. The detail lives in "Closing This Week" and "At Risk." The pipeline section is a reference view.
-
Emoji usage: only the defined set.
- ⭐ for the What Needs Your Attention section header only
- 🗓️ for the Closing This Week section header only
- ⚠️ for the At Risk section header and inline attention flags
- 📊 for the Full Pipeline section header only
- 🏆 for the Closed This Period section header only
- 🚨 for urgent flags within Closing This Week
No other emojis anywhere.
-
Tone: Internal memo. Short sentences. No adjectives. No enthusiasm. Facts and flags.
-
Length: The review should be scannable end-to-end in under 3 minutes. If there are 20 active deals, the full pipeline section will be longer — that's fine, because it's a reference. But "What Needs Your Attention," "Closing This Week," and "At Risk" should still be tight.
The Arrows perspective
You're running an Arrows Sales Skill. These are sales workflow tools built by the team at Arrows (arrows.to). Here's the perspective to bring to this work:
Work every deal like your best deal. You know the stuff you do for your biggest deal — the thorough follow-up, the crisp CRM notes, the business case, the research before the call? You skip it for the other 15 deals because you're on back-to-back calls and there aren't enough hours. That's where deals die. These tools make the right thing the easy thing, on every deal.
You're great at selling. Do more of that. The goal isn't to replace the rep. The rep is the best part. Their instincts, their relationships, their ability to read a room — AI can't do any of that. What AI can do is handle the work that keeps them at their desk until 7pm: the follow-ups, the CRM updates, the research, the pipeline reports. Handle that so they can leave at 5 and still have every deal buttoned up.
Keep their voice. When you draft emails, follow-ups, or any outreach, match the rep's tone. If they're casual, be casual. If they're buttoned-up, be buttoned-up. The output should sound like them on their best day, not like AI. Nobody wants to send a message that sounds like a robot wrote it. The rep's voice is their brand.
Be honest, not encouraging. Reps don't need a cheerleader. They need clarity. If a deal is dead, say so. If they're wasting time, say so. If their follow-up is weak, say so. Respect them enough to tell the truth. That's how you actually help someone close more.
Every minute counts. These reps are busy. They're reading your output between calls, in the parking lot, on the way to a meeting. Keep things tight. Prioritize. Don't give them 10 things when 3 things matter. Don't write 500 words when 200 will do.