Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

phone-verification-waterfall电话验证瀑布

Agent Skill

phone-verification-waterfall 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

404

周安装

17

GitHub Stars

12

下载量

141
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:phone-verification-waterfall(电话验证瀑布)
来源仓库:https://github.com/scientiacapital/skills
仓库路径:skills/phone-verification-waterfall
安装命令:
npx skills add https://github.com/scientiacapital/skills --skill phone-verification-waterfall
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/scientiacapital/skills --skill phone-verification-waterfall

简介

用于查找、检索和筛选相关信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中根据关键词快速定位候选结果。
  • 通过 npx 命令从指定 GitHub 仓库安装,需确认权限范围和维护状态。
  • 使用前建议核实是否会触发联网、命令执行或文件读写操作。
  • phone-verification-waterfall 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Built on: Lead lifecycle → phone verification → queue prioritization by ICP + intent signals.

<quick_start> Standalone run (manual trigger): "verify phones" or "phone waterfall" or "callable leads" or "who can I call" → pulls all HubSpot leads missing phones → enriches via Apollo + Clay → writes back to HubSpot → outputs sortable callable queue

Scheduled run: Every Monday & Wednesday 6:15 AM (between prospect-enrich 6:00 AM and prospect-refresh 6:30 AM) — keeps phone inventory fresh twice-weekly and allows newly refreshed leads to be phone-verified before daily calls

Trigger phrases:

  • "verify phones"
  • "phone waterfall"
  • "callable leads"
  • "who can I call"
  • "dial list"
  • "always have someone to call"
  • "phone check"
  • "enrich phones" </quick_start>

<success_criteria>

  • HubSpot lead pull returns 100+ contacts missing phones from all ICP verticals
  • Apollo phone lookup succeeds for 40-50% of contacts (baseline)
  • Clay waterfall fills 60-70% of remaining Apollo misses
  • HubSpot phone field updated for 70%+ of missing numbers
  • Final callable queue contains 50+ contacts sorted by ICP score + intent
  • Zero contacts belong to customers (lifecycle_stage = 'customer') — Golden Rules block them
  • Zero contacts owned by Account Executives (Lex, Phil, Ron, Anthony) — no AE lead theft
  • Zero channel partners or existing device owners included
  • Execution time under 8 minutes (HubSpot → Apollo → Clay → sync) </success_criteria>

Pipeline Stages

STAGE 1: PULL LEADS          STAGE 2: APOLLO PHONE      STAGE 3: CLAY WATERFALL    STAGE 4: HUBSPOT SYNC    STAGE 5: CALLABLE QUEUE
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
HubSpot Query       →     Apollo People Match    →    Clay Enrichment       →   Update Phone Field   →    Prioritized CLI
phone = null/empty  →     (Name + Email + Org)   →    (Multiple Providers)  →   (API bulk update)    →    ICP Score Sort
lifecycle_stage     →     Return: Verified #     →    Return: Verified #    →   Mark: enriched_at    →    Intent Signals
!= 'customer'       →     Success Rate: 40-50%   →    Success Rate: 30-40%  →   (Contact & Company) →    Output: CSV + Chat
No Excluded Owner   →     (No cost)              →    (Find + Enrich)        →   Log completion       →    Time-to-dial: <5s
Golden Rules Pass   →                            →                          →                        →

Stage 1: Pull Leads Needing Phones

HubSpot Query:

Criteria (ALL must match):
- phone IS NULL OR phone = '' (empty string)
- lifecyclestage != 'customer'
- AE-owned (82625923, 423155215, 190030668): EXCLUDE if <90d activity. KEEP as STALE AE LEAD if >90d inactive (Tim reviews ATL/BTL + value). Ron=all, Lex/Phil=NA only.

Golden Rules Hard Gate (SKIP if ANY match):
- first_conversion contains ['Pearl', 'setup', 'Connect', 'signup']
  (Existing product engagers — not cold prospects)
- company.device_count >= 1
  (Already owns equipment — likely existing relationship)
- is_channel = true
  (Channel partners excluded)
- engagement_overview contains ['Pearl', 'trial', 'demo', 'customer']
  (Existing touchpoints)

ATL/BTL Classification Gate (applied after Golden Rules)

Classify each contact by job title using approved ATL/BTL definitions (see CLAUDE.md § ATL/BTL Classification v1.0):

ATL Title Keywords (budget authority — PRIORITY DIAL): Chief (CIO, CTO, CFO, COO) • VP (AVP, SVP, EVP) • President • Provost • Vice Provost • Superintendent • Director (of IT, Technology, Facilities, Academic Technology, Procurement, Materials Mgmt, Medical Education, Court Administration) • Dean • Court Administrator • Clerk of Court • City Manager • County Manager • Senior Pastor • Executive Pastor

BTL Title Keywords (no budget authority — LOWER PRIORITY): Technician • Specialist • Coordinator • Support • Administrator (Systems/Network/Database) • Engineer (AV/Network/Systems) • Operator • Instructor/Professor/Faculty • Designer • Assistant • Clerk (non-Court Admin) • Volunteer • Intern • Student • Resident • Help Desk

NEVER ATL — Auto-classify BTL regardless of other signals: Warehouse Manager • Network Manager • Systems Administrator • AV Technician • Graphic Design Instructor • Program Administrator • Web Designer • Classroom Support • Lab Coordinator • Maintenance • Building Engineer • Multimedia Services Manager • Video Production Specialist • Streaming Crew

Gray Zone — Flag for manual review: Manager (AV/Facilities/IT) — ATL only if reports to Director+ AND has delegated budget >$25K Department Chair • Program Director • Director of Educational Technology

Tag each contact: atl_btl_tier = 'ATL' | 'BTL' | 'GRAY'

Output: Unsorted list of 100+ contacts with:

  • contact_id (HubSpot)
  • first_name, last_name
  • email (primary business email)
  • company_name
  • hs_job_title
  • hubspot_owner_id, hubspot_owner_name
  • company.industry, company.num_employees, company.hs_lead_status
  • first_conversion (for Golden Rules check)

Tool: hubspot_search_contacts with filters applied

</Stage 1>

Stage 2: Apollo Phone Lookup

For each contact from Stage 1, run in parallel batches:

Input:  contact_id, first_name, last_name, email, company_name
        ↓
apollo_people_match(
  first_name: "{first_name}",
  last_name: "{last_name}",
  email: "{email}",
  organization_name: "{company_name}",
  domain: "{company_domain}",
  reveal_personal_emails: false
)
        ↓
Output: phone (mobile_phone or corporate_phone, verified)
        ↓
Match rate: 40-50% success (Apollo baseline)
        ↓
NO COST — Apollo is included free

Logic:

  • Apollo returns mobile_phone or corporate_phone (both acceptable for dial)
  • If phone returned: tag contact apollo_phone_source = true
  • If no phone: move to Stage 3 (Clay waterfall)
  • Keep all results for final merge

Tool: apollo_people_match (batch parallel)

</Stage 2>

Stage 3: Clay Waterfall Enrichment

For contacts where Apollo returned NO phone, use Clay:

Option A: Company-level enrichment (recommended for speed)

find-and-enrich-contacts-at-company(
  companyIdentifier: "{company_domain}",
  contactFilters: {
    job_title_keywords: extracted from hs_job_title,
    locations: optional if available
  },
  dataPoints: {
    contactDataPoints: [
      { type: "Email" },
      { type: "Summarize Work History" }
    ]
  }
)

Then for contacts found, run add-contact-data-points to enrich phones:

add-contact-data-points(
  taskId: "{from find-and-enrich response}",
  dataPoints: [
    { type: "Custom", customDataPoint: "phone number from multiple providers" }
  ],
  entityIds: [extracted contact IDs]
)

Option B: Direct contact enrichment (if company approach yields few)

find-and-enrich-list-of-contacts(
  contactIdentifiers: [
    {
      contactName: "{first_name} {last_name}",
      companyIdentifier: "{company_domain}"
    }
  ],
  dataPoints: {
    contactDataPoints: [
      { type: "Custom", customDataPoint: "verified phone number" }
    ]
  }
)

Expected yield:

  • 30-40% of Apollo misses will get phones via Clay
  • Combined success rate: 40-50% (Apollo) + 30-40% of remainder (Clay) ≈ 65-70% total

Cost: Clay credits consumed (monitor spend against monthly allocation)

Tool: find-and-enrich-contacts-at-company or find-and-enrich-list-of-contacts

</Stage 3>

Stage 4: HubSpot Sync

For all contacts with verified phones (Apollo + Clay combined):

Batch update HubSpot contacts:
For each contact:
  UPDATE contact {contact_id}
  SET:
    phone = "{verified_phone}"
    phone_source = "apollo" OR "clay" (track origin)
    phone_verified_at = NOW()
    phone_waterfall_pass = true

Log event to company:
  ADD ACTIVITY: "Phone verified via Apollo/Clay waterfall"
  (Creates audit trail for Sales)

Sync strategy:

  • Use HubSpot API in batches (500 contacts per batch)
  • Tag with phone_source (apollo, clay, manual)
  • Tag with phone_verified_at timestamp
  • Log completion to deal/company object if linked

Tool: HubSpot REST API (contacts batch update) via hubspot_contacts_update or direct HTTP

</Stage 4>

Stage 5: Callable Queue & Prioritization

Build final output sorted by:

  1. ATL/BTL Tier (primary): ATL contacts first, then GRAY, then BTL
  2. ICP Vertical Score (secondary): Higher Ed..................... 90 Courts/Legal................... 85 Government..................... 80 Corporate AV................... 80 Healthcare..................... 75 Houses of Worship.............. 70 K-12 Schools................... 65
  3. Intent Signals (tertiary):

- Hiring active AV/IT roles: +15 points - Recent facility expansion news: +10 points - Tech stack shows obsolete AV (Extron, Matrox replacement signal): +12 points - Published RFP or procurement event: +10 points - Website mentions studio/control room/broadcast: +8 points - Recent funding/acquisition: +5 points

  1. Engagement Recency (quaternary):

- Touched within 30 days: top of queue - Touched 31-60 days: middle - No recent touch: bottom (but still callable)

Final Callable Queue Format:

═══════════════════════════════════════════════════════════════════════════════
CALLABLE QUEUE — Phone Waterfall Results
Generated: {timestamp} | Success Rate: {70-80%}
═══════════════════════════════════════════════════════════════════════════════

SUMMARY:
Total Leads Pulled:        {N}
Apollo Matches:            {X} ({X%})
Clay Enrichments:          {Y} ({Y%})
Total Verified Phones:     {X+Y} ({(X+Y)%})
HubSpot Updated:           {X+Y}
ATL Contacts:              {A} ({A%})
Gray Zone:                 {G} ({G%})
BTL Contacts:              {B} ({B%})

READY TO DIAL (sorted ATL first, then ICP score + intent):

 #  │ NAME              │ TIER │ TITLE            │ COMPANY           │ PHONE        │ ICP  │ VERTICAL     │ INTENT SIGNAL
────┼──────────────────┼──────┼──────────────────┼──────────────────┼──────────────┼──────┼──────────────┼─────────────────
  1 │ Jane Smith       │ ATL  │ VP IT/AV         │ Stanford Univ    │ (650)xxx-xxx │ 93   │ Higher Ed    │ New AV role + hiring
  2 │ Mike Johnson     │ ATL  │ Dir Technology   │ Federal Courts   │ (202)xxx-xxx │ 87   │ Courts/Legal │ Extron aging out
  3 │ Sarah Chen       │ GRAY │ Manager IT       │ UCSF Medical     │ (415)xxx-xxx │ 78   │ Healthcare   │ Facility upgrade
  4 │ David Lee        │ BTL  │ AV Technician    │ Cisco Corp       │ (408)xxx-xxx │ 82   │ Corp AV      │ Meeting room reno
  5 │ ...              │ ...  │ ...              │ ...              │ ...          │ ...  │ ...          │ ...

═══════════════════════════════════════════════════════════════════════════════
DIALER QUICK LINKS:
- Download CSV:        [queue.csv]
- Import to Dialpad:   [sync button]
- Import to Aircall:   [sync button]
- By Company:          [grouped view]
- By Vertical:         [vertical view]
- By ATL/BTL Tier:     [tier view]

NEXT STEPS:
1. Prioritize ATL contacts first (decision-makers with budget authority)
2. Review GRAY zone contacts for manual budget authority verification
3. Import to your dialpad tool
4. Dial 50+ per day, log outcomes, let Sales Engagement cadences trigger

═══════════════════════════════════════════════════════════════════════════════

Output formats:

  • Chat: Rich formatted table (above) with top 10-20 by ICP score
  • CSV download: Full queue with all data for import to dialpad/Aircall
  • By Vertical: Secondary view grouped by industry for vertical hunting
  • Integration: Link to import queue to Dialpad, Aircall, or sales engagement tool

Tool: Assemble from Stage 4 output, sort, format, and present

</Stage 5>

Reply-Scan Integration

Automated queuing from reply scans (10 AM, 1 PM, 3 PM):

When reply scans discover new leads with missing phone numbers:

  • These leads are automatically queued for the next scheduled phone waterfall run (Monday or Wednesday 6:15 AM)
  • Standard enrichment workflow applies (Apollo → Clay waterfall → HubSpot sync)

Urgent high-ICP lead handling:

  • For leads scoring 80+ ICP and deemed high-priority prospects, trigger an immediate single-contact Apollo lookup
  • If Apollo succeeds, append phone to contact record and add to current day's dial queue
  • If Apollo fails, hold for next scheduled waterfall run (standard workflow)

Logic:

IF reply_scan_found_lead AND lead.phone IS NULL
  IF lead.icp_score >= 80 AND lead.priority = 'high'
    → TRIGGER immediate apollo_people_match(lead)
    → IF success: append phone, mark urgent_dial = true
    → ELSE: queue for next waterfall run
  ELSE
    → Queue for next scheduled waterfall (Mon or Wed 6:15 AM)

This ensures urgent prospects get callable status same-day while maintaining efficiency of batch enrichment for standard leads.

Scheduled Automation

Cron: Every Monday & Wednesday 6:15 AM (UTC, or Tim's local timezone)

MONDAY MORNING SEQUENCE:
6:00 AM  → bdr-v3-prospect-enrich (refresh prospect company data)
6:15 AM  → phone-verification-waterfall-skill (verify phones on refreshed data)
6:30 AM  → bdr-v3-prospect-refresh (refresh deal velocity metrics)

WEDNESDAY MORNING SEQUENCE (mid-week refresh):
6:00 AM  → bdr-v3-prospect-enrich (refresh prospect company data)
6:15 AM  → bdr-v3-phone-waterfall-midweek (verify phones on mid-week refreshed data)
6:30 AM  → bdr-v3-prospect-refresh (refresh deal velocity metrics)

Why 6:15 AM Monday & Wednesday?

  • Monday: Sunday evening prospect research populates HubSpot with new prospects; 6:00 AM enrich ensures firmographic data is current; 6:15 AM phone verification catches those prospects while fresh; 6:30 AM velocity refresh gives Tim complete picture before first calls
  • Wednesday: Mid-week lead refresh captures newly added prospects from Tue-Wed research; ensures stable of callable leads remains 50+ through week; separate task (bdr-v3-phone-waterfall-midweek) allows independent scheduling and monitoring

Operational notes:

  • If phone waterfall takes >8 min, send Slack alert (indicates API slowness or large backlog)
  • Log success rate to dashboard (aim for 65%+ total verified)
  • If Apple/Apollo API rate limits hit, queue and retry with exponential backoff
  • On error: skip Clay enrichment and return Apollo-only results (better to have some phones than none)

Epiphan CRM (primary data source)

  • hubspot_search_contacts — Pull leads with phone = null, apply Golden Rules filters
  • hubspot_get_contact — Retrieve full contact details if needed
  • crm_search_customers — Check company against Epiphan customer database (device_count, channel flag)

Apollo (phone verification stage 2)

  • apollo_people_match — Look up person by name + email + company, return verified phone
  • *(No cost — included in Apollo plan)*

Clay (phone waterfall stage 3)

  • find-and-enrich-contacts-at-company — Batch enrich by company + job title filters
  • add-contact-data-points — Add custom phone data point to enrich results
  • find-and-enrich-list-of-contacts — Enrich specific contacts by name + company
  • get-existing-search — Poll for async enrichment results
  • *(Costs Clay credits — monitor spend)*

HubSpot API (sync stage 4)

  • hubspot_contacts_update (batch via REST API) — Write verified phones back to HubSpot
  • Or native HubSpot bulk import if preferred

Sibling Skills & Related Tasks Referenced

  • prospect-research-to-cadence-skill — Lead quality gates, Golden Rules filter, ICP scoring
  • sales-revenue-skill — ICP vertical definitions, intent signal weighting
  • hubspot-revops-skill — HubSpot bulk operations, contact filtering patterns, owner ID mapping
  • CLAUDE.md § ATL/BTL Classification v1.0 — Approved title keyword patterns for ATL/BTL/Gray classification (2026-03-17)

Upstream & Downstream Scheduled Tasks

  • bdr-v3-prospect-enrich — Monday 6:00 AM firmographic refresh (runs before phone waterfall)
  • bdr-v3-phone-waterfall-midweek — Wednesday 6:15 AM mid-week phone verification run (NEW)
  • bdr-v3-prospect-refresh — Monday 6:30 AM velocity refresh (runs after phone waterfall)

External Dependencies

  • HubSpot API: Contact search + bulk update
  • Apollo API: People match (no additional cost)
  • Clay API: Waterfall enrichment (requires active subscription + available credits)
  • Dialpad/Aircall API: Optional integration for direct dial queue sync

Estimated Monthly Cost

  • Apollo: $0 (included)
  • Clay: $150-300 depending on contacts enriched (monitor waterfall stage)
  • HubSpot: Already in use
  • Total variable: ~$200-300/month (Clay credits)

<scheduled_automation>

Task IDs:

  • bdr-v3-phone-waterfall (Monday 6:15 AM run)
  • bdr-v3-phone-waterfall-midweek (Wednesday 6:15 AM run)

Trigger: Recurring, every Monday & Wednesday at 6:15 AM (user's local timezone)

Slack Notification on Completion:

✅ Phone Waterfall Complete (Mon 6:15 AM)
   Pulled:       {N} leads
   Verified:     {X+Y} phones ({%})
   HubSpot Sync: ✓
   Queue:        Ready to dial
   Leads/hour:   {rate}

On Error:

⚠️ Phone Waterfall Partial (Mon 6:15 AM)
   Apollo completed ({X%})
   Clay failing — check credits
   Manual action: Continue with Apollo-only queue

</scheduled_automation>


Reference: Golden Rules Filter

These are hard gates — if ANY condition matches, skip the contact entirely:

ConditionValueAction
lifecyclestage'customer'SKIP
first_conversioncontains 'Pearl' OR 'setup' OR 'Connect'SKIP
Company device_count>= 1SKIP
Company is_channeltrueSKIP
hubspot_owner_id82625923, 423155215, 19003066890-day stale exception: KEEP if no activity >90d (Tim reviews ATL/BTL + value). SKIP if <90d. Ron=all, Lex/Phil=NA only.

Rationale:

  • Customers are in a different sales motion (success, upsell, retention)
  • Product engagers are warm leads for a different sequence
  • Device owners are existing relationships or renewals
  • Channel partners have their own sales process
  • AE-owned leads belong to Account Executives (no BDR lead theft)

</Golden Rules>


Example: Phone Waterfall in Action

Monday 6:15 AM kick-off:

INPUT: HubSpot query finds 247 contacts with phone = null and meeting Golden Rules

APOLLO STAGE (2 min):
  Batched 247 into 5 parallel requests
  Success: 118 phones verified (47.8%)
  → Synced 118 to HubSpot immediately
  → Remaining: 129 needs Clay

CLAY STAGE (4 min):
  Batched 129 into company+title groups
  Ran find-and-enrich-contacts-at-company for each company
  Waterfall returned phones for 41 additional contacts (31.8%)
  → Synced 41 to HubSpot
  → Final miss: 88 (no phone found)
SYNC STAGE (30 sec):
  HubSpot batch updated 159 contacts (118 Apollo + 41 Clay)
  Tagged phone_source = 'apollo' or 'clay'
QUEUE STAGE (30 sec):
  Sorted 159 by ICP score (Higher Ed first, K-12 last)
  Output: Callable queue ready for 50+ dials

TOTAL TIME: 7 min 30 sec | CALLABLE: 159 verified | SUCCESS: 64.4%

Emit Outcome Sidecar

Write ~/.claude/skill-analytics/last-outcome-phone-verification-waterfall.json: {"ts":"[UTC ISO8601]","skill":"phone-verification-waterfall","version":"1.0.0","variant":"default","status":"[success|partial|error]","runtime_ms":[ms],"metrics":{"contacts_processed":[n],"apollo_verified":[n],"clay_verified":[n],"total_callable":[n],"verification_rate_pct":[n]},"error":null,"session_id":"[YYYY-MM-DD]"}

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.31%
按下载量换算51

Claude

31.25%
按下载量换算44

Cursor

19.68%
按下载量换算28

Gemini CLI

10.34%
按下载量换算15

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills