.claude/skills/qualifying-leads/SKILL.md
Qualifies and prioritizes Salesforce leads for SDRs. Queries leads by status, checks for duplicates, identifies stale leads. Use when reviewing lead queues, triaging new leads, checking for duplicate accounts, or prioritizing outreach.
npx skillsauth add Dbochman/dotfiles qualifying-leadsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Qualify and prioritize Salesforce leads via sf CLI.
# Requires: sf (Salesforce CLI)
sf org login web --alias nvcrm-dev --instance-url https://test.salesforce.com
All commands require --target-org nvcrm-dev (or -o nvcrm-dev).
# New/unworked leads
sf data query -o nvcrm-dev --query "SELECT Id, Name, Company, Email, Status, LeadSource, CreatedDate FROM Lead WHERE Status = 'Prospect' ORDER BY CreatedDate DESC LIMIT 50"
# Sales qualified leads ready for conversion
sf data query -o nvcrm-dev --query "SELECT Id, Name, Company, Email, Status, CreatedDate FROM Lead WHERE Status = 'Sales Qualified' AND IsConverted = false ORDER BY CreatedDate DESC LIMIT 50"
# Leads by specific status
sf data query -o nvcrm-dev --query "SELECT Id, Name, Company, Status FROM Lead WHERE Status = 'Working' LIMIT 50"
# Find accounts matching company name
sf data query -o nvcrm-dev --query "SELECT Id, Name, Industry, Type FROM Account WHERE Name LIKE '%CompanyName%'"
# Find contacts by email domain
sf data query -o nvcrm-dev --query "SELECT Id, Name, Email, Account.Name FROM Contact WHERE Email LIKE '%@domain.com'"
# Find existing leads from same company
sf data query -o nvcrm-dev --query "SELECT Id, Name, Company, Status, Email FROM Lead WHERE Company LIKE '%CompanyName%'"
# Leads untouched for 30+ days
sf data query -o nvcrm-dev --query "SELECT Id, Name, Company, Status, LastModifiedDate FROM Lead WHERE LastModifiedDate < LAST_N_DAYS:30 AND IsConverted = false ORDER BY LastModifiedDate LIMIT 50"
# Leads stuck in 'Working' status
sf data query -o nvcrm-dev --query "SELECT Id, Name, Company, Status, LastModifiedDate FROM Lead WHERE Status = 'Working' AND LastModifiedDate < LAST_N_DAYS:14 ORDER BY LastModifiedDate LIMIT 50"
# Count leads by source
sf data query -o nvcrm-dev --query "SELECT LeadSource, COUNT(Id) cnt FROM Lead WHERE CreatedDate = THIS_QUARTER GROUP BY LeadSource ORDER BY cnt DESC"
# Recent leads by source
sf data query -o nvcrm-dev --query "SELECT Id, Name, Company, LeadSource, CreatedDate FROM Lead WHERE LeadSource = 'Web' AND CreatedDate = THIS_WEEK ORDER BY CreatedDate DESC"
# Update status
sf data update record -o nvcrm-dev --sobject Lead --record-id 00Qxxxx --values "Status='Working'"
# Add to working queue
sf data update record -o nvcrm-dev --sobject Lead --record-id 00Qxxxx --values "Status='Working' Rating='Hot'"
Progress:
- [ ] Query new leads
- [ ] Check each for duplicates
- [ ] Update status or flag for review
# 1. Get new leads
sf data query -o nvcrm-dev --query "SELECT Id, Name, Company, Email, Industry, LeadSource FROM Lead WHERE Status = 'Prospect' AND CreatedDate = THIS_WEEK ORDER BY CreatedDate DESC LIMIT 20"
# 2. For each lead, check for existing account
sf data query -o nvcrm-dev --query "SELECT Id, Name FROM Account WHERE Name LIKE '%CompanyName%'"
# 3. If no duplicate, update to Working
sf data update record -o nvcrm-dev --sobject Lead --record-id 00Qxxxx --values "Status='Working'"
Progress:
- [ ] Find sales qualified leads
- [ ] Verify no existing account
- [ ] Check contact doesn't exist
- [ ] Ready for conversion
# 1. Sales qualified leads
sf data query -o nvcrm-dev --query "SELECT Id, Name, Company, Email, Status FROM Lead WHERE Status = 'Sales Qualified' AND IsConverted = false LIMIT 20"
# 2. Check account exists
sf data query -o nvcrm-dev --query "SELECT Id, Name FROM Account WHERE Name LIKE '%CompanyName%'"
# 3. Check contact exists
sf data query -o nvcrm-dev --query "SELECT Id, Name, Email FROM Contact WHERE Email = '[email protected]'"
Status Flow: Prospect → Working → Sales Qualified → Convert (or Disqualified/Recycling/Declined)
Confirm before: Converting leads, bulk status updates, deleting/merging duplicates
development
Search the web for current information, news, facts, and answers. Use when asked questions about current events, needing to look something up, finding websites, researching topics, or when you need up-to-date information beyond your training data.
development
Summarize any URL, YouTube video, podcast, PDF, or file into concise text. Use when asked to read an article, summarize a link, get the gist of a video or podcast, extract content from a URL, or when you need to understand what a web page or document contains.
development
Play music via Spotify and control Google Home speakers. Use when asked to play music, songs, artists, playlists, podcasts, or control speakers/volume/audio.
testing
Create new OpenClaw skills, modify and improve existing skills, and measure skill performance with evals. Use when users want to create a skill from scratch, update or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy. Also use when asked to "make a skill", "turn this into a skill", "improve this skill", or "test this skill".