ads-audit
Full multi-platform paid advertising audit with parallel subagent delegation. Analyzes Google Ads, Meta Ads, LinkedIn Ads, TikTok…
Mine high-value prospects from CRM pipeline stages (Lost, No Show, Churned, Stalled) by cross-referencing records with LinkedIn company data and comms history. Connects to any CRM, pulls records from target stages, filters out personal email domains, finds company LinkedIn pages
Claude Code
$ npx -y skills add naveedharri/benai-skills --skill crm-prospect-mining --agent claude-code
Codex
$ npx skills add naveedharri/benai-skills --skill crm-prospect-mining -a codex -y
Cursor
$ npx skills add naveedharri/benai-skills --skill crm-prospect-mining -a cursor -y
Gemini CLI
$ npx skills add naveedharri/benai-skills --skill crm-prospect-mining -a gemini-cli -y
GitHub Copilot
$ npx skills add naveedharri/benai-skills --skill crm-prospect-mining -a github-copilot -y
OpenCode
$ npx skills add naveedharri/benai-skills --skill crm-prospect-mining -a opencode -y
Windsurf
$ npx skills add naveedharri/benai-skills --skill crm-prospect-mining -a windsurf -y
name: crm-prospect-mining description: > Mine high-value prospects from CRM pipeline stages (Lost, No Show, Churned, Stalled) by cross-referencing records with LinkedIn company data and comms history. Connects to any CRM, pulls records from target stages, filters out personal email domains, finds company LinkedIn pages via web research, bulk-scrapes company sizes via Apify, and filters by the user's "high-value" definition (headcount, industry, deal size). Optionally adds intent analysis from emails and transcripts. MANDATORY TRIGGERS: "find high-value prospects", "mine my lost deals", "reactivate pipeline", "which lost leads are worth re-engaging", "analyze my lost deals", "prospect mining", "CRM mining", "pipeline mining", "re-engage lost leads", "high-value lost leads", "company size analysis", "enrich pipeline with LinkedIn", "headcount filter", "filter by company size", or any request about identifying which CRM prospects are worth pursuing based on company size, industry, or intent signals. disable-model-invocation: true
You are mining a user's CRM to identify high-value prospects hiding in pipeline stages they've written off (Lost, No Show, Churned, Stalled, etc.). The core insight: many of these "dead" leads are actually at large, well-funded companies that are worth re-engaging with the right approach.
CRM Records → Filter Domains → Find LinkedIn Pages → Scrape Company Sizes → Filter High-Value → Enrich with Comms/Intent → Report
Each step is explained in detail below. The key principle throughout: keep it simple, move fast, use parallel sub-agents wherever possible, and let the data do the talking.
Before touching any data, you need to understand three things. Use the AskUserQuestion tool to gather these efficiently, don't ask one at a time.
Every user defines this differently. Common dimensions:
If they're unsure, suggest headcount as a sensible default starting point, it's the most reliable signal you can get from LinkedIn and correlates well with budget. A threshold of 25+ employees is a reasonable floor for B2B, but let them decide.
This is the difference between a quick filter and a deep analysis. Two levels:
Default to metrics-only unless the user asks for deeper analysis. If they have a small number of high-value leads (under 50), suggest adding intent analysis since it won't add much time.
You need to understand what you're working with before writing any queries. This is where the approach varies most between users.
**Discover the CRM structure programmatically.** Don't ask the user to describe their schema, look at it yourself:
Ask the user which list/pipeline to analyze and which stages to pull (Lost, No Show, etc.). Then inspect the schema yourself to understand what fields are available (deal value, priority, source, notes, etc.).
**Important**: Different CRMs store data differently. Some have person records linked to company records. Some have deals linked to contacts. Some have flat lists. Read the CRM structure and adapt, don't assume any particular schema.
Query the CRM for all records in the user's specified stages. Handle pagination, most CRM APIs cap at 50 records per request, so loop with offset until you've got everything.
**For Attio specifically:**
**Critical**: Capture ALL relevant fields from the outset. You'll need at minimum:
Save the raw extracted data to a JSON file immediately. Never rely on conversation context to hold large datasets, it will be lost during context compaction.
This is a fast, critical filter. Contacts using personal email addresses (gmail.com, yahoo.c
Full multi-platform paid advertising audit with parallel subagent delegation. Analyzes Google Ads, Meta Ads, LinkedIn Ads, TikTok…
Budget allocation and bidding strategy review across all ad platforms. Evaluates spend distribution, bidding strategy…
Competitor ad intelligence analysis across Google, Meta, LinkedIn, TikTok, and Microsoft. Analyzes competitor ad copy, creative…
Cross-platform creative quality audit covering ad copy, video, image, and format diversity across all platforms. Detects creative…
Google Ads deep analysis covering Search, Performance Max, Display, YouTube, and Demand Gen campaigns. Evaluates 74 checks across…
Landing page quality assessment for paid advertising campaigns. Evaluates message match, page speed, mobile experience, trust…
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…