
cargo-gtm
Do business-to-business go-to-market work on Cargo — research accounts and buying committees, enrich and verify B2B contact records from licensed data providers, score and qualify leads, draft permission-based outreach for the user's own sequencer, sync to CRM, and monitor buying signals. Consent basis, suppression lists, and volume limits gate every step that touches a person (references/acceptable-use.md); bulk unsolicited messaging, purchased or scraped lists, and consumer targeting are refused. Triggers: "build me a list of", "find 50 at ", "who works at", "find work emails for these accounts", "enrich this CSV", "verify these emails", "build a TAM", "who fits our ICP", "who actually buys from us", "what data points should we collect on accounts", "our outbound is reaching the wrong people", "score these leads", "write a first-touch email", "push these to my CRM", "who changed jobs", "who just raised funding", "companies using ", "who is hiring ", "fi
- Installs
- 10K
- Last 24h
- +121
- Trending rank
- #1763
- Security
- Warn
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/getcargohq/cargo-skills --skill cargo-gtm- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads cargo-gtm automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
Security audits
Independent scans of the skill's instructions and bundled files.
SKILL.md
The instructions your agent reads when the skill is triggered.
Cargo GTM — Meta Skill
Use this skill for prospecting, account research, contact enrichment, verification, lead scoring, personalization, signal monitoring, and campaign activation.
Acceptable use — MANDATORY, before anything that touches a person
Full spec: references/acceptable-use.md. The short version, binding on every recipe here:
- B2B professional identities only, from the licensed providers in
provider-playbooks/— never consumer targeting, purchased lists, or data taken from a platform in breach of its terms. - Three checks before any outreach step — basis (customers, opted-in contacts, event attendees, or a documented legitimate-interest case), suppression (filter on unsubscribe / DNC / hard-bounce before enriching or sending), relevance (name, per recipient, why this message is for them). Any check that fails is a stop-and-ask, not a warning.
- Refuse and say why: undifferentiated fan-out ("email everyone in
<industry>"), contacting a suppressed record, filter evasion or disguised sender identity, auto-dialing and SMS blasts, batch-blasting LinkedIn engagement actions, batch or automated posting / replying / liking / DMing from the user's X account (xAccount). Offer the compliant version once — state it, don't lecture. - This skill never sends. Outreach recipes stop at send-ready variables and hand off to the user's own sequencer, under that sequencer's limits, domains, and identities. Copy it drafts must carry an honest sender and subject, a working opt-out, and a postal address where the jurisdiction requires one.
Bootstrap
Already signed in (cargo-ai whoami returns a workspace)? Skip to the next section.
npm install -g @cargo-ai/cli # no global install? prefix every command with `npx @cargo-ai/cli`
cargo-ai login --email you@company.com # emailed code, no browser; creates the account on first use
# alternatives: --oauth (browser) · --token <api-token> (CI)
cargo-ai whoami # confirm the active workspace before any write
Every command prints JSON to stdout; failures exit non-zero with {"errorMessage": "..."}. Anything that creates a run or a batch is async — pass --wait-until-finished or poll the matching get. When the full skill bundle is installed, ../cargo/references/prerequisites.md adds the CLI version pin, token scopes, and the admin-only surface.
1) What this skill governs
- Route GTM decisions, safety gates, and provider/quality defaults before execution.
- Keep long command chains and tooling nuance in sub-docs; provider-specific implementation detail in
provider-playbooks/*.md. - Anchor recipes in credits-based actions (the high-value action calls). Free CRUD (createLead, getLead, deleteRecords) doesn't need this skill — agents can compose those ad hoc.
Process / goal
The user is generally trying to go from "I have an ICP" to "Here's a list of prospects with verified emails and personalized signals." They may be anywhere in this process — guide them along.
Discovery order: companies first, then people. When the task requires finding contacts at companies matching criteria (portfolio, ICP, hiring signal), discover the company set first, then find people at each company. Don't start with broad people-search queries.
Documentation hierarchy
- Level 1 —
SKILL.md(this file): decision model, guardrails, routing table, links to sub-docs. - Level 2 — Phase docs:
guides/finding-companies-and-contacts.md,guides/enriching-and-researching.md,guides/writing-outreach.md. - Level 2.5 — Recipes:
recipes/*.md— step-by-step playbooks for specific scenarios. - Level 3 — Provider playbooks:
provider-playbooks/<slug>.md— provider-specific quirks, costs, and fallback behavior.
2) Read behavior — MANDATORY before any execution
STOP. Do not call any provider, run any cargo-ai orchestration action execute command, or write any search query until you have opened the correct sub-doc for your task.
These docs encode what works, what fails, and why. They contain validated parameter schemas, cheapest-provider mappings, parallel execution patterns, sample payloads, and known pitfalls. Reading the right doc for 10 seconds saves 10 failed action calls, wasted credits, and garbage output.
Routing rules — match your task to a doc and READ IT
| When the task involves… | You MUST read this doc first | What it gives you |
|---|---|---|
| Finding companies, finding people, building lead lists, prospecting, portfolio/VC sourcing, contact finding at known companies | guides/finding-companies-and-contacts.md | Provider filter schemas, cheapest-source decision tree, parallel patterns, role-based search rules, portfolio/VC shortcuts, contact-finding patterns. |
| Enriching companies or contacts, finding emails/phones/LinkedIn, waterfall enrichment, signal lookup (job change, funding, tech stack), coalescing data | guides/enriching-and-researching.md | Waterfall patterns with fallback chains, when to use aiArk vs waterfall vs FullEnrich vs peopleDataLabs, email/phone/LinkedIn fallback orders, signal segments, output retrieval via run download-outputs. |
| Writing first-touch outreach, personalizing messages, lead scoring, qualification, sequence design, campaign copy | guides/writing-outreach.md + references/acceptable-use.md (§3 checks, blocking) | LLM provider routing (openAi/anthropic/perplexity/gemini), prompt templates, scoring rubrics, email length/tone rules, personalization patterns — gated on basis, suppression, and per-recipient relevance. |
| Actually sending the drafted copy from a mailbox Cargo owns (rather than handing off to the user's own sequencer) | ../cargo-mailbox-management/SKILL.md + references/acceptable-use.md (§3 checks, blocking) | Provisioning and warm-up, the 5→40/day send ramp that caps volume, the sendEmail action (0.1 credits/send), the workspace suppression list, and replies/opens/clicks as events. |
| Building or modifying a recurring workflow (cron / webhook / scheduled tool / play), designing step sequences, triggers, deploy/verify cycles | ../cargo-orchestration/SKILL.md (capability) + apply-patterns from this skill's recipes + the provider playbook of every paid node (§11, esp. its Recurring use section) | Schema for tool/play workflows, node graph syntax, polling strategies, output retrieval; per-provider cadence defaults and re-billing gates. |
Recipes: step-by-step playbooks (check before executing)
Scan this list and read the recipe matching your task. When a recipe matches: follow it step-by-step as your execution plan.
| Recipe | Use when… |
|---|---|
recipes/source-planning.md | Read first when the source isn't obvious. Turn the question into a field, probe 2–3 candidate sources on 5–10 rows, present cost-per-hit — before any fan-out |
recipes/prospecting.md | End-to-end find → enrich → verify → sync (P1/P2/P3 variants) |
recipes/build-tam.md | Building a Total Addressable Market list at scale (100–10,000 companies) |
recipes/linkedin-url-lookup.md | Resolving a person's LinkedIn profile URL from name + company with strict identity validation |
recipes/portfolio-prospecting.md | Investor / accelerator → portfolio companies → contacts |
recipes/job-change-monitoring.md | waterfall.detectJobChange (cargo-unique) on a contact segment |
recipes/funding-watch.md | Tracking companies that recently raised funding |
recipes/tech-intent.md | Finding companies by tech-stack or hiring-intent signals |
recipes/icp-discovery.md | Diffing Closed-Won vs Closed-Lost segments to surface ICP signals |
recipes/custom-datapoints.md | Designing which custom attributes and live signals to collect for a seller's ICP — feasibility-gated against the catalog, then wired into columns, scoring, segments, and a refresh cadence |
recipes/outreach-activation.md | Turning a signal segment into send-ready outreach (enrich → verify → personalize → sequencer handoff) |
recipes/ads-audience-activation.md | Pushing a segment to paid media — Google Ads Customer Match or LinkedIn Matched Audiences — and reading the match rate |
recipes/review-and-iterate.md | Judgment output a human must review — sheet handoff, grouped corrections, permanent fixes, kept as an eval set |
recipes/re-engagement.md | Waking up stale contacts only when a fresh signal fires (job change, funding, tech intent) |
recipes/lost-deal-revival.md | Reviving Closed-Lost CRM deals by branching on lost_reason (champion left, budget, timing) |
recipes/account-expansion.md | Multi-threading existing customer accounts — net-new buyers, deduped against the workspace's Contacts model |
recipes/save-as-play.md | Converting a successful ad-hoc run into a durable scheduled play or cron tool — offer after any repeatable pull |
recipes/import-gtm-data.md | Importing existing GTM data (CSV/CRM exports from any tool) into models, QA-auditing it, and selectively rebuilding recurring logic as plays with a parity check |
recipes/clay-to-cargo.md | Clay specifically: getting the column configuration out (not the CSV), the column-family → action map, the four Clay concepts that do not map one to one (waterfalls, run conditions, auto-update, partial runs), and the parity check against Clay's own output |
If none match, scan the phase docs above for the closest pattern and adapt — or invoke agents/execution-plan-creator.md to compose a custom chain with provider/action slugs and cost estimates. For wide sourcing sweeps that fan out (per-industry, per-geo), delegate approved slices to agents/list-builder.md — it executes exactly one pre-approved action per slice and returns rows to a file, keeping row data out of the main context. (On Claude Code with the plugin, both are installed as native subagents: cargo-execution-planner and cargo-list-builder.)
3) Cost discipline — MANDATORY gates
Full spec: references/cost-discipline.md. The short version every task must honor:
- Sample → approval → full run, in that order. Run a slice of the exact input first — 1–3 rows to prove one action's config, 10–20 records before any batch (one row can't show a hit-rate). Then present the 4-section approval message (Assumptions · Sample result verbatim · Credits/Scope/Cap — always stating how many records the full run enrolls and what they cost, reconciled against the actual balance · 3 shaped choices); stay in AWAIT_APPROVAL until the user picks. Never fan out on an unapproved or cost-unknown action, and never read approval of the sample as approval of the full enrollment.
- Receipt after every paid action: credits spent + balance remaining + hit-rate ("found 34 emails of 40") + estimate-vs-actual with the why when they diverge. Prefer
billing usage get-metricsover your own arithmetic. - Over-provision 1.4×N, then filter — coverage is a property of the company; drop incomplete rows instead of chasing them with more providers.
- Count first, pay second — search is billed on returned rows; keep
limitstrict and size the pool with a 1-row probe before any full pull. - Phone is the guarded lever — explicit user request only, qualified leads only. Still true at the cheap end:
aiArk.findMobilePhone(0.5, mobile-only) is the first rung and bills 0 on a miss, but the escalation behind it is 3–7 credits (~10× email), so a full-list phone sweep needs the same approval as any other paid fan-out.
4) After every run — receipt, then grounded next steps
End every completed run with the receipt (above), then propose 2–3 next steps maximum, computed from the data just produced — never a generic menu. Required shape:
- Continuity — builds on this session's artifacts ("67 of these 70 companies have RevOps teams — find the leads?"), not a fresh generic idea.
- Budget-aware — framed against the remaining balance ("with your ~9 credits left, ~5 verified emails fits").
- Cost-per-unit stated — "email waterfalls run ~1.4 credits each."
- A default picking heuristic so answering takes one word ("I'd default to: has funding data + RevOps ≥ 2 + posting is recent").
- An escape hatch — always end with "or something else entirely."
When a run produced a durable, repeatable result, one of the suggestions should be making it systematic — see recipes/save-as-play.md.
When a run or batch misbehaved — errors, missing downstream values, cost surprises — hand off to the cargo-diagnostics skill (../cargo-diagnostics/SKILL.md): sweep the batch for root causes before re-running anything paid. Interaction defaults for plan gates, shaped choices, and presenting results live in ../cargo/references/interaction.md.
5) Priority provider stack (recipes lead with these 7)
These seven credits-based providers cover the full prospecting → enrichment → verification → signal pipeline at the lowest credit cost in the catalog. Every recipe in this skill's recipes/ leads with this stack:
| Provider | Role | Key actions (cost in credits) |
|---|---|---|
| salesNavigator | Sourcing | searchLeads (0.2), searchAccounts (0.2), findCompanyInsights/Metrics/EmployeesCount/Distribution (0.25 each) |
| aiArk | LinkedIn-anchored enrichment + cheapest search | enrichCompany (0.01 — cheapest firmographics in the catalog), searchCompanies (0.01/record, lookalike seeds), searchPeople / reverseLookup / analyzePersonality (0.05), enrichPerson (0.1 — profile + verified email), findMobilePhone (0.5) |
| waterfall | Multi-source enrichment + signal | enrichContact (2), enrichCompany (1), verifyEmail (0.1), detectJobChange (3), searchProspects (3), findPhone (7) |
| FullEnrich | Premium contact lookup + free sourcing | searchPeople / searchCompanies / lookupPerson / lookupCompany (0), fetchPeople / fetchCompanies extractors (0), findEmail (1), findPhone (6), findPhoneAndEmail (7), reverseEmailLookup (1) |
| apolloio | Niche-coverage enrichment | enrichPerson (1, 9 with revealPhoneNumber), enrichOrganization (1); searchPeople (0, or 1/person with shouldEnrich) and searchOrganizations (0.01/record) also run on credits; its other seven need your own Apollo API key |
| theirStack | Tech-stack + hiring intent | searchTechnologies (0.5), searchJobs (0.5), searchCompanies (0.5) |
| peopleDataLabs | Heavyweight backfill | enrichPerson (3), enrichCompany (3), searchPeople (3), searchCompanies (3), queryPeople/Companies (3) |
aiArk and apolloio sit at opposite ends of the enrich tier and are picked by what you hold, not by preference: aiArk wins whenever a LinkedIn URL is in hand (profile + verified email at 0.1, mobile at 0.5, both billing 0 on a miss), apolloio is the 1-credit niche-coverage rung you promote per-batch when a pilot shows Apollo hits where aiArk (0.1) and waterfall (2) miss — investor-backed and portfolio niches especially. Neither displaces salesNavigator for plain at-scale sourcing (0.2/lead).
Three signal families sit outside the stack and are picked per task from references/stage-action-map.md: firmographic depth beyond aiArk.enrichCompany → companyEnrich.enrichByDomain (0.25); funding / acquisitions → enrichCrm.getFunding (1, the only credits-based funding action in the catalog); tech stack on a known domain → builtwith.getDomainSummary (free) before builtwith.enrichDomain (1).
See provider-playbooks/ for per-provider deep dives — including each provider's Recurring use section for when the task is a monitor, play, or scheduled pull rather than a one-off. See references/stage-action-map.md for the complete cheapest-action-per-stage table across the full 136-integration catalog.
Already holding identifiers (not sourcing)? The stack above leads the sourcing-first spine. When you already have LinkedIn URLs, the cheapest enrich is
aiArk.enrichPerson(0.1 — full profile plus a verified email, bills 0 when no email is found); drop tolinkedin.enrichProfile/enrichCompany(0.25) when you don't need the email, and skipwaterfall.enrichContactthere (it accepts aaiArk.findMobilePhone(0.5) is the first rung, not the 3–7 tier. Have a LinkedIn event URL?linkedin.extractEventAttendeessources the attendee list directly. Have emails?aiArk.reverseLookup(0.05), thenleadMagic/contactOut. Seereferences/stage-action-map.mdfor the full input-type → cheapest-action map.
6) Recipe spine (default chain)
1. SOURCE → salesNavigator.searchLeads / searchAccounts (0.2/record)
lookalike seeds, or filters SN can't express (skills,
education, tenure)? aiArk.searchCompanies / searchPeople (0.01–0.05/record)
free first pass on plain title/industry/size/geo filters?
FullEnrich.searchPeople / searchCompanies (0/record)
2. DEDUPE → match against the workspace's own Companies / Contacts models
on domain / linkedin_url (storage SQL or a segment filter) (free)
3. ENRICH → LinkedIn URL in hand? aiArk.enrichPerson (0.1) FIRST — profile + verified
email in one call; linkedin.enrichProfile/enrichCompany (0.25) if no email needed
aiArk.enrichCompany (0.01) for firmographics; companyEnrich.enrichByDomain
(0.25) on the rows that come back thin
+ waterfall.enrichContact / enrichCompany (1–2/record)
+ apolloio.enrichPerson / enrichOrganization on the niche residue (1/record)
4. SIGNAL → enrichCrm.getFunding (1/record)
+ theirStack.searchJobs / builtwith.getDomainSummary (0–0.5/record)
+ waterfall.detectJobChange (3/record)
5. CONTACT → FullEnrich.findEmail — only on rows step 3 left without
an email (fallback peopleDataLabs) (1–3/record)
6. VERIFY → waterfall.verifyEmail (0.1/record)
7. BACKFILL → peopleDataLabs.enrichPerson (only if step 5 missed) (3/record)
8. QA → scripts/contact-accuracy-audit.ts (free, local)
Two spine notes from the 8-provider stack: step 3's aiArk.enrichPerson already returns a verified email, so step 5 runs on the residue only — don't pay FullEnrich.findEmail (1) behind a row that already has one. And when the goal reaches a phone, aiArk.findMobilePhone (0.5, mobile-only, bills 0 on a miss) is the first rung before prospeo (3) / FullEnrich (6) / waterfall (7) — the guarded-lever rule in §3 still applies to all four.
Adapt by phase: drop steps that aren't relevant to the user's goal. For pure sourcing, run step 1 only. For "enrich a list I already have," run steps 2–7.
7) Output retrieval — use run download-outputs, not run download
When the agent needs the actual data produced by an action (enriched fields, found emails, search results), use:
cargo-ai orchestration run download-outputs \
--workflow-uuid <uuid> \
--output-node-slug <slug> \
--format json
Returns {"url": "..."} — a signed URL to a CSV/JSON containing only the output node's data. Faster and cheaper than run download (which pulls full run records). See references/output-retrieval.md and ../cargo-analytics/SKILL.md.
A direct action execute-batch has no workflow to point at, and --wait-until-finished prints the batch object, not rows. Fetch its rows with cargo-ai orchestration batch download --uuid <batch-uuid>: it returns {"url": "<signed CSV URL>"}, and the CSV adds each top-level output key as a cargo_<key> column (a search's result array lands in one cargo column).
8) Contact accuracy — run the QA scripts, don't eyeball
Four deterministic TypeScript scripts in scripts/ (Node ≥ 22.18, zero deps, fixture-tested in CI) replace in-context row checking. Run the script — never re-derive its logic by reasoning over rows. Full doctrine, pipeline order, and the SEND/VERIFY/REVIEW/REMOVE verdict semantics: references/contact-accuracy.md.
scripts/validate-emails.ts— free syntax/risk/duplicate cull before paidverifyEmail.scripts/select-current-role.ts— pick the real current role from an experiences array (catches job changers).scripts/validate-linkedin-names.ts— name↔profile match (catches same-name decoys); pairs withrecipes/linkedin-url-lookup.md.scripts/contact-accuracy-audit.ts— final per-rowaudit_actionstamp on the merged output; cite its summary counts in the receipt. Reads files or a finished run directly (--workflow-uuid, via@cargo-ai/api).
9) Action shape rules (every recipe)
Every action JSON in this skill follows the rules in ../cargo-orchestration/references/examples/actions.md:
kind: "connector"action shape:{"kind":"connector","integrationSlug":"<slug>","actionSlug":"<slug>"}.connectorUuidis NOT inconfig— the platform resolves the workspace's authenticated connector fromintegrationSlugautomatically.- A top-level action has no
config— omit it. Inputs go in--data/--records, and every recipe here writes the action without the key. That holds foraction execute,execute-batch, andget-output-schemaalike — the objectaction listreturns pastes into all three. Inputs misplaced intoconfigare stripped without an error that namesconfig— the call is refused on its first missing required field, or runs on nothing when none is required — so check this first when a call returns empty or fails for no visible reason. A misspelled input key is refused before the run (Unknown field: <key>), but only on a top-level action: inside a workflow node it is still dropped silently. - Don't hand-write a slug you're unsure of, and don't page the catalog looking for one.
cargo-ai orchestration action list <keywords> [--integration-slug <slug>]is free, searches every integration plus native actions, tools, and agents, and returns the action object ready to paste with the action's credit costs — a cheap sanity check on both the slug and the price before a paid call. When the question is which paid actions exist for this?,cargo-ai connection action search <keywords> --credits-onlyis the one that filters on it. Neither replaces the provider playbook below: the playbook is where the input quirks, hit-rates, and recurring-use traps live. - For multi-step node graphs:
connectorUuidlives at the top level of the node, not inconfig. Cross-node interpolation uses{{nodes.<slug>.<field>}}. Agent node outputs wrap under.answer(read as{{nodes.<slug>.answer.<field>}}).
10) When stuck — file a workspace report
If a recipe fails repeatedly and the cause isn't obvious, escalate via cargo-ai workspaceManagement report create. See ../cargo-workspace-management/SKILL.md (Reports section).
11) Provider playbooks — read before you call (one-off or recurring)
STOP — do not execute any paid action against a provider below, and do not wire a provider into a recurring play/tool node graph, until you have opened its playbook. Each playbook carries the exact action slugs, config shapes, input quirks, and cost traps; reading it for five seconds is cheaper than one failed paid call, and a failed batch is 100 failed paid calls. The stakes are higher, not lower, when the provider goes into a recurring workflow: a bad config repeats on every scheduled run, and a wrong cadence re-bills the same rows forever — each playbook ends with a Recurring use section (schedule fit, cadence default, re-billing gates, extractors) for exactly this. Every credits-based provider with callable actions now has a playbook, with two stated exceptions: openRouter, which exposes a model lister rather than credits-based actions, so there is nothing to document; and xAccount, whose actions post, reply, like and send DMs as the user's own X account — it gets a refusal in references/acceptable-use.md §2 rather than a playbook, because there is no prospecting use of it to document. brightData and proxycurl gained playbooks rather than staying unlisted — an undocumented provider still shows up in the cost table, and leaving the acceptable-use framing implicit was the weaker option: provider-playbooks/brightData.md states the consumer-targeting refusal up front. Own-key integrations fall back to references/alternatives.md and references/stage-action-map.md.
Priority stack (recipes lead with these):
provider-playbooks/salesNavigator.md— LinkedIn-native lead and account sourcing (0.2/record).provider-playbooks/aiArk.md— LinkedIn-anchored people/company data:enrichPersonreturns profile + verified email at 0.1,findMobilePhone(0.5) is the cheapest phone rung,searchCompanies(0.01/record) does lookalikes, andanalyzePersonality(0.05) is catalog-unique. All actions run on the managed connection.provider-playbooks/waterfall.md— swiss-army-knife: enrichment, verification, and the cargo-uniquedetectJobChangesignal.provider-playbooks/FullEnrich.md— premium contact lookup;reverseEmailLookupis unique;searchPeople/searchCompaniesand thefetch*extractors are free.provider-playbooks/apolloio.md— the 1-credit niche-coverage enrich rung (person + organization); read it before assuming Apollo is available — only two of its eleven actions are credits-based, the rest need your own Apollo API key.provider-playbooks/theirStack.md— tech-stack + hiring-intent signals.provider-playbooks/peopleDataLabs.md— heavyweight backfill at flat 3-credit tier.
Sourcing & company-data specialists:
provider-playbooks/linkedin.md— the native LinkedIn integration's action set (profiles, companies, posts, jobs).provider-playbooks/oceanio.md— lookalike-company discovery from seed domains, with technographic / web-traffic filtersaiArk.searchCompanies(0.01) can't express.provider-playbooks/datagma.md— lightweight person/company enrichment alternative.provider-playbooks/companyEnrich.md— fuller company-by-domain firmographics (0.25) + per-item-billed lookalikes.provider-playbooks/enrichCrm.md— CRM-record enrichment;getFundingis the funding-signal fallback.provider-playbooks/societeInfo.md— French-registry company/contact data (SIREN/SIRET).provider-playbooks/snitcher.md— website-visitor identification; the recurring extractor is the cost trap.provider-playbooks/piloterr.md— ultra-cheap bulk company extractor + G2 product info.provider-playbooks/g2.md— software-review & category signal data.provider-playbooks/theSwarm.md— warm-intro network mapping to target companies/people.provider-playbooks/mixrank.md— premium person/company backfill (4/lookup, phone-only reverse lookup).provider-playbooks/storeleads.md— ecommerce stores (platform, apps, traffic, sales) at 0.01/domain; the TAM extractor re-bills on every sync.provider-playbooks/cargoSignals.md— intent-signal feeds (formerlyrodz), billed per lead delivered; warm-intro backfills and Company Followers auto-start are the cost traps.provider-playbooks/explorium.md— business/prospect data, events and Bombora intent on your own key; carries the retiredcargoenrichment slugs.
Email & contact specialists (all feed the VERIFY step — see references/waterfall-strategy.md):
provider-playbooks/hunter.md— domain-search email finding + verification.provider-playbooks/prospeo.md— email/phone lookup, LinkedIn-URL input path.provider-playbooks/icypeas.md— budget email find/verify.provider-playbooks/findyMail.md— email finding alternative.provider-playbooks/leadMagic.md— email + mobile lookup alternative.provider-playbooks/contactOut.md— contact info from LinkedIn profiles.provider-playbooks/zeroBounce.md— email-verification second opinion towaterfall.verifyEmail.provider-playbooks/bouncer.md/neverBounce.md/kitt.md/enrichley.md— verification long tail (0.3 / 0.2 / 0.05 / 0.1; enrichley's slug isverify, notverifyEmail).provider-playbooks/bounceban.md— catch-all and SEG-protected verification (0.1) on the residue the default verify can't settle.provider-playbooks/dropcontact.md— email finding with French/EU registry depth;emailoutput is an array.provider-playbooks/enrowio.md— email find (1) + verify (0.1); takesfullNameonly.provider-playbooks/reverseContact.md— company-from-LinkedIn (credits); profile lookups are own-key.provider-playbooks/rocketreach.md— person lookup (1); healthcare/NPI niche; beware thecurrrentEmployerschema key.provider-playbooks/forager.md— personal-email + phone from a LinkedIn URL.provider-playbooks/pipecorn.md— own-key contact waterfall (work email, phone, people-at-company); its personal-email action is gated by acceptable use.provider-playbooks/cleon1.md— terminal phone rung (15/lookup) — explicit user request only.
Research & scraping:
provider-playbooks/firecrawl.md— web scraping for research/personalization stages.provider-playbooks/serper.md— Google SERP queries for research and URL discovery.provider-playbooks/linkup.md— web search (0.5 standard / 2 deep) + sourced/structured answers.provider-playbooks/parallel.md— cheapest page read in the catalog (extract, 0.025/URL) pluscreateTask, the only action that fills a caller-supplied output schema.provider-playbooks/exa.md— semantic search with a document-typecategoryfilter and publication-date bounds.provider-playbooks/builtwith.md— a domain's technology stack;getDomainSummaryis free and runs in front of the paid rung.provider-playbooks/x.md— public X posts and profiles at 0.02 an action; a signal rung, gated by acceptable use.provider-playbooks/sillage.md— inbound signal detections read back from a model, free, so it runs first on any signal question.provider-playbooks/brightData.md— Instagram / TikTok / Facebook / YouTube profiles by URL, 0.1 an action; the catalog's only non-LinkedIn, non-X social coverage, and the playbook opens with the consumer-targeting refusal that gates it.provider-playbooks/proxycurl.md— LinkedIn profile / company lookups on your own key.
LLM providers (all: one instruct action, cost per 1,000-token package, per-model tiers — prompts come from references/prompt-library/index.md):
provider-playbooks/anthropic.md— judgment-tier default (Haiku 0.05, Sonnet 0.2, Opus 2); temperature nests underadvancedSettingswith requiredmaxTokens.provider-playbooks/openAi.md— cheapest bulk tier (gpt-5-nano0.006) + native JSON-schema output.provider-playbooks/gemini.md— cheap high-throughput (Flash 0.01, 15,000/min) + search grounding.provider-playbooks/perplexity.md— web-grounded research answers; default model is the expensivesonar-deep-research— always setmodelexplicitly.
Typed judgments (not instruct — questions in, probabilities out):
provider-playbooks/typesafe.md— yes/no, choice and score answers with probabilities at 0.01 / 1,000 input tokens; the nativeclassifyaction takes the same input.
12) References
references/cost-discipline.md— the mandatory spend rules: pilot → approval gate, per-run receipts, 1.4×N over-provision, count-first sizing, provider-billing rules.references/contact-accuracy.md— the deterministic QA scripts (email cull, current-role, name match, final audit) and the SEND/VERIFY/REVIEW/REMOVE verdicts.references/prompt-library/index.md— ~40 named, parameterized LLM prompts (personalization, scoring, research, qualification, signal analysis, extraction). Before authoring any enrichment/scoring prompt from scratch, grep this index — reuse beats reinvention, and each entry carries a tested output contract. Load only the shard you need, never all of them.references/stage-action-map.md— cheapest credits-based action per stage across the full 136-integration catalog.references/credits-cost-table.md— auto-generated cost table for all 180 credits-based actions.references/waterfall-strategy.md— canonical waterfall chains by enrichment goal (every recipe's "fallback" follows these).references/alternatives.md— provider swap-ins from the long tail when the priority stack can't serve.references/output-retrieval.md—run download-outputspatterns for fetching action data.
FAQ
What does the cargo-gtm skill do?
Do business-to-business go-to-market work on Cargo — research accounts and buying committees, enrich and verify B2B contact records from licensed data providers, score and qualify leads, draft permission-based outreach for the user's own sequencer, sync to CRM, and monitor buying signals. Consent basis, suppression lists, and volume limits gate every step that touches a person (references/acceptable-use.md); bulk unsolicited messaging, purchased or scraped lists, and consumer targeting are refused. Triggers: "build me a list of", "find 50 at ", "who works at", "find work emails for these accounts", "enrich this CSV", "verify these emails", "build a TAM", "who fits our ICP", "who actually buys from us", "what data points should we collect on accounts", "our outbound is reaching the wrong people", "score these leads", "write a first-touch email", "push these to my CRM", "who changed jobs", "who just raised funding", "companies using ", "who is hiring ", "fi
How do I install cargo-gtm?
Run npx skills add https://github.com/getcargohq/cargo-skills --skill cargo-gtm in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/cargo-gtm/ (personal) or .claude/skills/cargo-gtm/ (project).
Which AI agents can use cargo-gtm?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is cargo-gtm safe to install?
Security partners have reviewed it: Gen Agent Trust Hub passed; Socket passed; Snyk flagged items to review. As with any skill, read the SKILL.md and bundled scripts before installing.
Who maintains cargo-gtm?
It is published by getcargohq in getcargohq/cargo-skills. It has 10,028 recorded installs.
More from getcargohq/cargo-skills
cargo-connection
getcargohq/cargo-skills
Connect Cargo to an external system and find out what it can do — authenticate connectors, browse the integration catalog, and resolve the connectorUuid and actionSlug a workflow node needs. Triggers: "connect my HubSpot", "is Salesforce connected", "what integrations do you support", "can Cargo talk to ", "what actions does have", "I need the connector UUID", "set up the API key for", "it is asking for credentials again", "why is this connector failing auth", "list my connectors". Integrations: amplemarket, amplitude, attio, bigQuery, calendly, cargoSignals, closecom, contrast, csv, customerio, dbt, emailBison, expandi, googleAds, googleCalendar, googleSheets, heyReach, http, hubspot, hubspotMcp, instantly, instantlyV2, intercom, jira, kitt, lemlist, lgm, linkedinAds, linkedinMatchedAudience, livestorm, manus, marketo, metaAds, metabase, microsoftTeams, mixpanel, monaco, netsuite, netsuiteSoap, nooks, notionMcp, octave, onesignal, outreach, pipedrive, postgresql,
cargo-ai
getcargohq/cargo-skills
Build and configure AI agents inside Cargo — create an agent, choose its model and temperature, write its prompt, attach knowledge for retrieval (RAG), connect MCP tool servers, manage memories, and deploy releases. Triggers: "create an agent", "make an agent that", "give the agent our docs", "attach this knowledge base", "attach this library to the agent", "add resources to the agent release", "connect an MCP server", "expose our tools as an MCP server", "use Cargo from Claude Desktop or ChatGPT", "change the agent model", "what does the agent remember", "deploy the agent", "the agent is answering wrong". Skip when: uploading the knowledge files themselves — use cargo-content; sending the agent a message or running it over records — use cargo-orchestration.
cargo-workspace-management
getcargohq/cargo-skills
Administer a Cargo workspace and talk back to the Cargo team — invite and manage members, mint and rotate API tokens, organize plays, tools, and agents into folders, inspect roles, upload batch input files, and file reports. Triggers: "invite my teammate", "create an API token for CI", "who has access", "organize these into folders", "rotate that token", "upload this CSV for a batch" — and for feedback: "report this bug to Cargo", "send feedback to the Cargo team", "this CLI command is broken", "share this session with Cargo", "request a feature". Most commands need a token with admin access. Skip when: the question is about credits, plans, or invoices — use cargo-billing.
cargo-orchestration
getcargohq/cargo-skills
Make Cargo actually run something, or show what it would run — execute one connector action, run a multi-step workflow, trigger a batch across a whole segment or model, message an AI agent, build or edit a node graph, draw a workflow, tool or play as a diagram, and query the runtime tables (runs, batches, spans, records) with SQL. Triggers: "run this on all my contacts", "execute the action", "kick off a batch", "build a workflow", "schedule a play", "make it run every morning", "ask the agent", "show me the workflow", "what does this tool do", "visualize this play", "draw the graph", "explain this workflow", "how many runs failed today", "what is the output schema for this action", "add a step that". Skip when: explaining why a run misbehaved — use cargo-diagnostics; downloading result files — use cargo-analytics; committing the workflow as code — use cargo-project.
cargo-billing
getcargohq/cargo-skills
Understand what Cargo is costing — remaining credits, usage broken down by workflow, connector, or agent, subscription state, and invoice history. Triggers: "how many credits do I have left", "what did that cost", "why is my bill so high", "am I about to run out", "will this fit in our budget", "show me my invoices", "how much have I spent this month", "what plan am I on", "what do I get for free", "how many free credits", "can I afford this run", "add a card", "update my payment method", "why was my card declined". Needs a token with admin access. Skip when: attributing spend to specific nodes or cutting a play cost — use cargo-diagnostics.
cargo-analytics
getcargohq/cargo-skills
Get data out of Cargo and measure what ran — download a run output, export a segment or model to CSV or JSON, and pull run and batch success and error counts. Triggers: "download the results", "export this to CSV", "give me the file", "how many succeeded", "what is my error rate", "send me the enriched list", "get the output of that run", "how many records did it write". Skip when: asking why something failed or where credits went — use cargo-diagnostics; asking about credits, plans, or invoices — use cargo-billing.
Popular business & finance skills
sales-enablement
coreyhaines31/marketingskills
When the user wants to create sales collateral, pitch decks, one-pagers, objection handling docs, or demo scripts. Also use when the user mentions 'sales deck,' 'pitch deck,' 'one-pager,' 'leave-behind,' 'objection handling,' 'deal-specific ROI analysis,' 'demo script,' 'talk track,' 'sales playbook,' 'proposal template,' 'buyer persona card,' 'battle card,' 'battlecard,' 'competitive one-pager,' 'win-loss analysis,' 'why are we losing deals,' 'loss reasons,' 'how do I respond to this objection,' 'prospect just said,' 'help my sales team,' 'sales materials,' or 'what should I give my sales reps,' 'cold call script,' or 'voicemail script.' Use this for any document or asset that helps a sales team close deals. For public competitor comparison pages, see competitors. For running buyer interviews or churn research, see customer-research. For marketing website copy, see copywriting. For cold outreach emails, see cold-email. For the offer being sold (bonuses, guarantees, pricing structure),
revops
coreyhaines31/marketingskills
When the user wants help with revenue operations, lead lifecycle management, or marketing-to-sales handoff processes. Also use when the user mentions 'RevOps,' 'revenue operations,' 'lead scoring,' 'outbound pipeline stages,' 'lead routing,' 'MQL,' 'SQL,' 'pipeline stages,' 'deal desk,' 'CRM automation,' 'marketing-to-sales handoff,' 'data hygiene,' 'leads aren't getting to sales,' 'pipeline management,' 'lead qualification,' or 'when should marketing hand off to sales.' Use this for anything involving the systems and processes that connect marketing to revenue. For cold outreach emails, see cold-email. For email drip campaigns, see emails. For pricing decisions, see pricing.
sales-funnel-blueprint
autonnel/autonnel-skills
Turn an offer into a concrete multi-step sales funnel spec - page-by-page structure, price ladder, copy outline and the metrics each step must hit. Use when asked to build a sales funnel, marketing funnel, landing page flow, lead magnet funnel, webinar funnel, tripwire or VSL funnel, when planning a product launch page flow, or when someone asks "what pages do I need" for selling something online.
pricing
coreyhaines31/marketingskills
When the user wants help with pricing decisions, packaging, or monetization strategy. Also use when the user mentions 'pricing,' 'pricing tiers,' 'freemium,' 'free trial,' 'packaging,' 'price increase,' 'value metric,' 'Van Westendorp,' 'willingness to pay,' 'monetization,' 'how much should I charge,' 'my pricing is wrong,' 'pricing page,' 'annual vs monthly,' 'per seat pricing,' 'should I offer a free plan,' 'pricing page teardown,' 'pricing page audit,' 'is my pricing page AI-readable,' or 'can AI read my pricing.' Use this whenever someone is figuring out what to charge, how to structure their plans, or wants to audit a pricing page (for humans and for the AI agents that shortlist tools). For in-app upgrade screens, see paywalls. For offer construction (bonuses, guarantees, value framing, naming) on services/courses/coaching/high-ticket B2B, see offers.
cross-border-ecommerce
nexscope-ai/ecommerce-skills
Cross-border e-commerce expansion advisor. Scores target markets on 8 weighted dimensions (market size, ecommerce penetration, competition, regulatory complexity, logistics infrastructure, payment ecosystem, cultural distance, IP protection), compares 5 fulfillment models with cost and transit data, provides country-by-country tax/duty compliance guides (EU VAT/IOSS, UK VAT, US sales tax, CA GST, AU GST, JP consumption tax), maps local payment preferences by market, and builds a phased expansion roadmap. No API key required.
pricing-strategy
coreyhaines31/marketingskills
When the user wants help with pricing decisions, packaging, or monetization strategy. Also use when the user mentions 'pricing,' 'pricing tiers,' 'freemium,' 'free trial,' 'packaging,' 'price increase,' 'value metric,' 'Van Westendorp,' 'willingness to pay,' 'monetization,' 'how much should I charge,' 'my pricing is wrong,' 'pricing page,' 'annual vs monthly,' 'per seat pricing,' or 'should I offer a free plan.' Use this whenever someone is figuring out what to charge or how to structure their plans. For in-app upgrade screens, see paywall-upgrade-cro.