Systems Lab

Agent skill

people-waterfall

Find the right people at every qualified account with a waterfall (Clay CLI -> QuickEnrich -> BlitzAPI -> GetLeads) that stops at the first provider with a hit for each account and persona.

activeNeeds a keyActs undeclared402 words

Filed under Prospecting and list building.

From sccsadmin11/outbound-gtm-sc · 11 skill entries · 0 · pushed 2026-10-22

What it does when it runs

Find the right people at every qualified account with a waterfall (Clay CLI -> QuickEnrich -> BlitzAPI -> GetLeads) that stops at the first provider with a hit for each account and persona.

Automated analysis of the skill and the 3 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.

Keys and connectors you must supply
  • BLITZ_API_KEY
  • GETLEADS_API_KEY
  • QUICKENRICH_API_KEY
Hosts it reaches
  • app.blitz-api.ai
  • app.getleads.io
  • app.quickenrich.io
  • www.linkedin.com
Tool permissions it declares
No allowed-tools in the frontmatter. It does act, so it runs under whatever permissions your session already grants.
Actions present in the files
shellwrites files

Ask about people-waterfall

Opens your assistant with this page's recorded context. Check the linked sources before relying on it.

Is this safe to install?ClaudeChatGPT
Adapt it to my stackClaudeChatGPT
What else do I need for it to workClaudeChatGPT
Rather ask a human? Talk to Cheetah
git clone --depth 1 --filter=blob:none --sparse https://github.com/sccsadmin11/outbound-gtm-sc.git /tmp/outbound-gtm-sc
git -C /tmp/outbound-gtm-sc sparse-checkout set "04-people-waterfall"
mkdir -p ~/.claude/skills/people-waterfall
cp -R "/tmp/outbound-gtm-sc/04-people-waterfall/." ~/.claude/skills/people-waterfall/

Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗

The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.

Before you install: this skill will not complete its job on a bare agent. It needs BLITZ_API_KEY, GETLEADS_API_KEY, QUICKENRICH_API_KEY, which you have to obtain separately.

Reproduced in full from sccsadmin11/outbound-gtm-sc/blob/fc996416957ff6232cc00c3b5c94d601b68e1d61/04-people-waterfall/SKILL.md, which is licensed MIT (repository). 402 words, 9 headings.

04 People waterfall

Purpose

For each qualified account and each persona in strategy.json, find the person to email. Providers run in order and the waterfall stops at the first hit, so you only pay the next provider when the one before it came up empty.

Inputs

  • qualified_accounts.csv from skill 03 (domain, company_name, linkedin_url, score).
  • strategy.json from skill 02 (personas[].titles, personas[].exclude_titles).

Outputs

  • people.csv: domain, company_name, company_linkedin_url, persona, first_name, last_name, full_name, title, linkedin_url, email, email_status, people_source, account_score.
  • people_not_found.csv: account/persona pairs no provider could fill, with what each provider returned.

Some providers (GetLeads, sometimes QuickEnrich) return an email along with the person. Skill 05 keeps it and skips the lookup for that row.

Env vars

VarWhere to get it
(Clay)No env var. Install the CLI and run clay login (see below)
QUICKENRICH_API_KEYQuickEnrich dashboard -> API (docs: https://app.quickenrich.io/docs)
BLITZ_API_KEYBlitzAPI dashboard: https://app.blitz-api.ai
GETLEADS_API_KEYhttps://app.getleads.io/api-keys

A provider with no key is skipped, not fatal.

Waterfall

StepProviderCall
1Clay CLIclay searches query-mode create --query ... then clay searches query-mode run <id>
2QuickEnrichGET /api/employees/dataset-search?company_url=&title=
3BlitzAPIPOST /v2/enrichment/domain-to-linkedin then POST /v2/search/waterfall-icp-keyword
4GetLeadsPOST /api/v1/contacts/lookup/colleagues with job_titles

Steps (agent run instructions)

  1. Install the Clay CLI from Clay's agent plugins repo (https://github.com/clay-run/agent-plugins) and log in:
    git clone https://github.com/clay-run/agent-plugins && bash agent-plugins/clay/scripts/install-cli.sh --method native
    clay login        # or: clay login --device
    clay whoami
    
  2. Check the Clay query grammar once and adjust the template if needed:
    clay searches query-mode reference | jq -r '.reference' > ./clay-search-reference.md
    grep -n '^##' ./clay-search-reference.md
    
  3. Preview:
    python 04-people-waterfall/scripts/people_waterfall.py --accounts qualified_accounts.csv --strategy strategy.json --dry-run
    
  4. Test on 3 accounts, then run everything:
    python 04-people-waterfall/scripts/people_waterfall.py --limit-accounts 3
    python 04-people-waterfall/scripts/people_waterfall.py --per-persona 1
    
    Change the order with --order quickenrich blitz getleads (for example, without Clay).
  5. Spot check 10 rows: right company, current role, title fits the persona.

Open TODOs

  • Clay: the default query uses company.domain inside experiences.any(...). That field appears in Clay's audience query docs; confirm it in clay-search-reference.md, or pass --clay-query-template. The Clay result field for the LinkedIn URL (linkedin_url vs profile_url) is read defensively.

Handoff

people.csv -> 05-email-waterfall.

Files bundled with it

These load only when the skill asks for them, so they cost nothing until it runs.

Other skills for the same job

Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.

Need help setting it up?

This page tells you what people-waterfall does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.

Book a call →

The directory stays free. There is nothing gated behind this.

Build my GTM engine

Tell us what you want to improve. Fedor reviews the workflow and replies by email when there is a useful fit.

Fedor reviews every request personally. If there is a useful fit, he will reply by email.