Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
extruct-ai avatar

Pipeline Review

  • 2 installs
  • 7 repo stars
  • Updated April 12, 2026
  • extruct-ai/gtm-cowork-skills

Scans active sales deals for risk signals across Attio, Gmail, Granola, and Google Calendar and outputs a prioritized deal-risk report with recommended actions.

About

Surfaces at-risk deals by detecting stakeholder silence, stalled next steps, and velocity drops from Attio, Gmail, Granola, and Calendar signals. A sales rep uses it to run a pipeline health check and get a ranked risk report before winnable deals go dark.

  • Detects engagement, momentum, and MEDDPICC qualification-gap risks
  • Pulls signals from Attio, Gmail, Granola, and Google Calendar

Pipeline Review by the numbers

  • 2 all-time installs (skills.sh)
  • Ranked #730 of 853 Sales & Marketing skills by installs in the Skillselion catalog
  • Data as of Jul 13, 2026 (Skillselion catalog sync)
npx skills add https://github.com/extruct-ai/gtm-cowork-skills --skill pipeline-review

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs2
repo stars7
Last updatedApril 12, 2026
Repositoryextruct-ai/gtm-cowork-skills

What it does

Scans active sales deals for risk signals across Attio, Gmail, Granola, and Google Calendar and outputs a prioritized deal-risk report with recommended actions.

Files

SKILL.mdMarkdownGitHub ↗

Pipeline Review

Surface deal risks as they emerge — before a winnable deal silently becomes a lost one.

Risk Categories

1. Engagement Risk (Stakeholder Silence)

Signals that key contacts have gone quiet:

SignalHow to detectSeverity
No email in 14+ daysGmail: search for threads with associated contacts, check last message dateHIGH if deal is In Progress/POC
No email in 7-13 daysSame as aboveMEDIUM
No meeting in 21+ daysGranola: list_meetings + query_granola_meetings for company nameHIGH if In Progress
No upcoming meeting scheduledGoogle Calendar: gcal_list_events searching for company/contact nameMEDIUM
One-sided communicationGmail: check if last 2+ emails are outbound with no replyHIGH

2. Momentum Risk (Deal Velocity)

Signals that the deal is losing speed:

SignalHow to detectSeverity
Stuck in stage 30+ daysAttio: compare created_at or stage change date vs todayHIGH
Stuck in stage 14-29 daysSameMEDIUM
No deal value setAttio: value field is emptyMEDIUM if past Lead stage
No associated peopleAttio: associated_people is emptyHIGH
Next steps overdueAttio: check tasks linked to deal with past deadlinesHIGH

3. Competitive Risk

Signals that competition threatens the deal:

SignalHow to detectSeverity
Competitor mentionedAttio: meddpicc_competition field contains named competitorsMEDIUM
Build vs buy tensionAttio: meddpicc_competition mentions internal buildHIGH
"Do nothing" risk flaggedAttio: meddpicc_competition mentions "do nothing"HIGH
Competition score 0Attio: meddpicc_competition starts with "0/4" — unknown landscapeMEDIUM (blind spot)

4. Qualification Risk (MEDDPICC Gaps)

Signals that the deal is under-qualified for its stage:

StageExpected strong (3-4)Gap = risk if below 2
POCPain, Metrics, Decision CriteriaAny of these below 2 = HIGH
In ProgressPain, Metrics, Criteria, CompetitionAny below 2 = HIGH
SignalHow to detectSeverity
MEDDPICC score = 0Attio: meddpicc_score is 0 or emptyCRITICAL — deal is unqualified
MEDDPICC score < 40Attio: meddpicc_score < 40HIGH
Key dimension at 0 for stageParse score from meddpicc_metrics, meddpicc_decision_criteria, meddpicc_competitionHIGH
No budget discussedAttio: meddpicc_budget_total is empty AND stage is In ProgressMEDIUM

5. Data Risk

Signals that you're flying blind:

SignalHow to detectSeverity
No Granola meetings foundGranola returns empty for company nameMEDIUM
No Attio notes on dealsemantic-search-notes returns emptyMEDIUM
No Gmail threadsGmail search returns emptyHIGH — no communication trail
All three emptyCombinedCRITICAL — ghost deal

Workflow

Step 1: Identify Target Deals

If the user specifies deals, use those. Otherwise:

1. Call list-records with object: "deals" and filter for active stages (POC, In Progress). 2. Collect all deal record IDs, names, stages, and associated contacts.

Step 2: Gather Signals (Per Deal)

For each deal, run these checks in parallel where possible:

2a. Attio Deal Data
  • get-records-by-ids to pull full deal record (MEDDPICC fields, value, stage, confidence, associated people/company, created_at)
  • list-tasks filtered to the deal to check for overdue tasks
  • list-comments on the deal for recent activity
2b. Email Activity
  • gmail_search_messages with the company name or associated contact emails
  • Check the date of the most recent message
  • Check if the last 2+ messages are outbound-only (no reply)
2c. Meeting Activity
  • query_granola_meetings with company name to find recent meetings
  • gcal_list_events searching for company/contact name to check for upcoming meetings

Step 3: Score Risks

For each deal, evaluate all risk categories and assign:

  • CRITICAL — Immediate action needed. Deal is at serious risk of being lost.
  • HIGH — Action needed this week. Multiple warning signs.
  • MEDIUM — Monitor closely. Early warning signs present.
  • LOW — On track. No significant risks detected.

Overall deal risk = highest individual risk found.

Count the number of HIGH+ signals to determine urgency ranking across deals.

Step 4: Generate Risk Report

Present a prioritized report, sorted by risk level (CRITICAL first):

## Pipeline Risk Report — {date}

### CRITICAL: {Deal Name}
**Stage:** {stage} | **Value:** {value} | **MEDDPICC:** {score}/100
**Days in stage:** {N}

Risk signals:
- {signal 1 with evidence}
- {signal 2 with evidence}

Recommended actions:
1. {specific action with timeline}
2. {specific action}

---

### HIGH: {Deal Name}
...

Step 5: Offer Actions

After presenting the report, offer:

1. Re-engage a specific deal (hand off to deal-reengagement skill) 2. Score a call for a deal that needs MEDDPICC update (hand off to meddpicc-post-call skill) 3. Prep for a meeting with an at-risk account (hand off to meeting-prep skill) 4. Draft a follow-up email to break silence (hand off to meeting-followup skill) 5. Create tasks in Attio for the recommended actions

Attio MCP Tool Reference

TaskToolKey parameters
List active dealslist-recordsobject: "deals", filter by stage
Get deal detailsget-records-by-idsobject: "deals", record_ids
Check MEDDPICC fieldsAlready in deal recordParse from attributes
List deal taskslist-tasksfilter by linked deal
List deal commentslist-commentsparent_object: "deals", parent_record_id
Search notessemantic-search-notesquery with company name

Gmail MCP Tool Reference

TaskTool
Search for threadsgmail_search_messages (query with company/contact)
Read thread contentgmail_read_thread (thread_id)

Granola MCP Tool Reference

TaskTool
Find meetingsquery_granola_meetings (query with company name)
List recent meetingslist_meetings

Google Calendar MCP Tool Reference

TaskTool
Check upcoming meetingsgcal_list_events (search for company/contact)

Environment

VariableSourcePurpose
AttioMCP (Attio connector)CRM — deals, MEDDPICC, tasks, notes
GranolaMCP (Granola connector)Meeting history
GmailMCP (Gmail connector)Email engagement signals
Google CalendarMCP (Google Calendar connector)Upcoming meeting check

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.