Use this skill when the user wants to enrich a sales lead or GTM prospect from an email address — e.g. "enrich this lead", "who is jane@acme.com", "look up this prospect", "GTM enrichment", "find the person and company behind this email", "qualify this lead with buying signals". Runs a cost-efficient multi-provider waterfall (Apollo, Hunter, and Abstract Company Enrichment via Locus, plus SELAT-native Twitter) mostly via the SELAT Router (MPP), including a SELAT-native Twitter x402 step, to r...
Scanned 9/2/2026
Install to Claude Code
npx -y skills add SELAT-AI/selat-skills --skill gtm-enrichment-smart --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Gtm Enrichment Smart?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/selat-ai-gtm-enrichment-smart)More formats (shields.io, HTML) on the badges page.
---
name: gtm-enrichment-smart
description: Use this skill when the user wants to enrich a sales lead or GTM prospect from an email address — e.g. "enrich this lead", "who is jane@acme.com", "look up this prospect", "GTM enrichment", "find the person and company behind this email", "qualify this lead with buying signals". Runs a cost-efficient multi-provider waterfall (Apollo, Hunter, and Abstract Company Enrichment via Locus, plus SELAT-native Twitter) mostly via the SELAT Router (MPP), including a SELAT-native Twitter x402 step, to return person + company data, funding, AI/B2B classification, and buying signals with confidence scoring.
license: Apache-2.0
compatibility: Requires the selat CLI and selat-pay with a funded Circle Agent Wallet (the runner pays on whichever chain holds your Gateway balance). Steps 1-7 are MPP on Tempo, so a reachable SELAT Router (SELAT_ROUTER_URL) is required for them; the SELAT-native Twitter step is x402 via Circle Gateway.
metadata:
author: SELAT-AI
version: "1.0"
rail: mixed
kind: multi
---
# gtm-enrichment-smart
## When To Use
Use when the user hands you a lead's email (optionally a name/domain) and wants enriched person + company intelligence: title, LinkedIn, location, email deliverability, company description, funding, AI/B2B classification, and buying signals. The skill spends proportionally to lead quality — cheap primary calls first, conditional gap-fills only when earlier results leave gaps. Steps 1-7 are **MPP on Tempo** payments through the SELAT Router; the final Twitter social-proof step is a **via the SELAT Router** x402 call to SELAT-native via the SELAT Router (Circle Gateway-batched).
## Workflow
1. Install: `selat skill install gtm-enrichment-smart`
2. Run: `selat skill run gtm-enrichment-smart --email jane@acme.com [--domain acme.com] [--organizationId <apollo_org_id>] [--twitterHandle acmehq]`
3. The CLI compiles each manifest step into a `selat-pay` call (capped at its per-step `maxAmount`), runs them in order, and prints a per-step ✓/✗ summary.
Waterfall order (the manifest runs them sequentially; later steps are conditional and should be gated by the caller on earlier results). Prices are live router quotes, probe-verified 2026-07-10:
- **Step 1 — Apollo (via Locus)** `POST /apollo/people-enrichment` ($0.0084) — primary person + embedded company/funding. Capture `organization.id` for the job-postings step. This is also the person fallback: the old separate AI person-fallback step mapped to this same endpoint with the same params, so the two were merged into this single step.
- **Step 2 — Hunter (via Locus)** `POST /hunter/combined-enrichment` ($0.02415) — combined person+company cross-reference from the email.
- **Step 3 — Hunter (via Locus)** `POST /hunter/email-verifier` ($0.0084) — email deliverability (valid/risky/undeliverable).
- **Step 4 — Abstract Company Enrichment (via Locus)** `POST /abstract-company-enrichment/lookup` ($0.0063) — company description, industry/SIC, and firmographics. Skip for free-email domains.
- **Step 5 — Apollo (via Locus)** `POST /apollo/org-enrichment` ($0.0084) — funding/headcount gap-fill, only if step 1 returned no funding.
- **Step 6 — Hunter (via Locus)** `POST /hunter/email-enrichment` ($0.01365) — person tie-breaker, only if Apollo and Hunter disagree on name/title.
- **Step 7 — Hunter (via Locus)** `POST /hunter/company-enrichment` ($0.01365) — company fallback, only if major gaps remain and the company has >500 employees.
- **Step 8 — SELAT-native (x402 via Circle Gateway)** `GET /twitter/user/info?userName=…` ($0.001) — follower social proof, only if a Twitter handle was found. x402 via Circle Gateway.
- **Optional caller-invoked signal (not a manifest step) — Apollo (via Locus)** `POST /apollo/job-postings` body `{"organization_id":"${organizationId}"}` ($0.00525) — hiring signals. The `organization_id` comes from the step-1 people-enrichment (or an org-search) result; only invoke it once an org id was captured.
## Inputs And Outputs
| Param | Required | Default | Description |
|---|---|---|---|
| `email` | yes | — | Lead email; drives people-enrichment, combined-enrichment, email-verifier, email-enrichment |
| `domain` | no | — | Company domain from the email; drives Abstract lookup, Apollo org-enrichment, Hunter company-enrichment |
| `organizationId` | no | — | Apollo org id from step 1; required for the job-postings step |
| `twitterHandle` | no | — | Twitter/X handle from enrichment data; required for the SELAT-native Twitter step (sent as `userName`) |
Outputs: a merged JSON object with `person` (name, title, linkedin_url, location, email_verified, confidence, source), `company` (name, domain, description, funding, classification.is_ai / is_b2b_saas, buying_signals), and `meta` (per-call status, cost, phases run). Cross-reference Apollo + Hunter + Abstract for confidence (high = 2+ sources agree).
## Gotchas
- **Mixed rail**: steps 1-7 are MPP on Tempo and need `SELAT_ROUTER_URL` set and the router reachable; the SELAT-native Twitter step (step 8) is x402 via Circle Gateway (Gateway-batched).
- The old separate expensive AI person-fallback step was **merged into step 1**: its replacement resolved to the same Apollo `people-enrichment` endpoint with the same params, so a separate fallback call would just repeat step 1. If step 1 finds no person, the Hunter steps (2 and 6) are the remaining person sources.
- The product/pricing buying-signal call (formerly Brand.dev `ai/products`) has **no equivalent** among the replacement merchants and was removed from the workflow — a capability gap, not an oversight.
- The source skill's free GitHub-stars step is **dropped**: GitHub's public API is not a payable merchant, so it cannot be expressed as an inert payment step.
- Live prices sum to ≈ $0.083 for all 8 manifest steps (worst case); a typical waterfall (steps 1-4 + the org gap-fill) costs ≈ $0.056. Per-step `maxAmount` values are ~10x each live price ($0.10–$0.25) — ceilings, not price estimates.
- Steps run independently: gate the conditional steps (5-8 and job-postings) on prior results so you do not pay for gap-fill or buying-signal calls on unqualified leads.
- The Abstract Company Enrichment lookup should be skipped for free-email providers (gmail/yahoo/outlook/etc.) to save $0.0063.
- All calls in this waterfall are synchronous — no async polling.
- The job-postings call takes `organization_id` in the **body** (no path substitution); if it is empty the merchant returns an error — only invoke it once step 1 yields an org id.
## Validation
> `--chain base` in the probe commands below is only the flag `selat-pay` requires today — a probe reads a free, chain-independent quote and never settles. A real paid run resolves the settlement chain from your funded Circle Gateway balance, not the manifest.
Probe each endpoint for free (402 challenge, no payment) before a paid run:
- `selat-pay POST "https://apollo.mpp.paywithlocus.com/apollo/people-enrichment" --body '{"email":"jane@acme.com","reveal_personal_emails":true}' --chain base --probe-only`
- `selat-pay POST "https://hunter.mpp.paywithlocus.com/hunter/combined-enrichment" --body '{"email":"jane@acme.com"}' --chain base --probe-only`
- `selat-pay POST "https://hunter.mpp.paywithlocus.com/hunter/email-verifier" --body '{"email":"jane@acme.com"}' --chain base --probe-only`
- `selat-pay POST "https://abstract-company-enrichment.mpp.paywithlocus.com/abstract-company-enrichment/lookup" --body '{"domain":"acme.com"}' --chain base --probe-only`
- `selat-pay GET "https://catalog.selat.ai/twitter/user/info?userName=elonmusk" --chain base --probe-only`
A successful run prints `status=200` for each executed step and a ✓ summary; gated/skipped steps appear as skipped in the run summary.
## References
- `manifest.json` — the machine-readable payment recipe this skill runs.
- [`references/endpoints.md`](references/endpoints.md) — merchant / method+path / price / rail table for every step.
- selat-pay — https://github.com/SELAT-AI/selat-pay
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!