Your GTM belongs in gitRegister
Blog

Run Go-to-Market from Claude Code: Install, Sign In, Run a First Job

16 Oct
6min read

To run go-to-market work from Claude Code, install the cargo-ai CLI, sign in with cargo-ai login --email, add the Cargo skills plugin, and ask for the job in plain words. Claude Code then sources, enriches and verifies records through the CLI, against the data providers Cargo connects to, and reports what each run cost. Adding the MCP server is optional.

The shortest path is one prompt. Paste it into Claude Code and it runs every step below itself:

text
Install Cargo by following https://api.getcargo.io/INSTALL.md

The rest of this page is the same setup by hand, so you know what the agent is doing and can repeat any step.

1. Install the CLI #

shellscript
npm install -g @cargo-ai/cli
cargo-ai --version

This is Cargo the go-to-market platform, not Rust’s cargo: the binary is cargo-ai and it needs no Rust toolchain. If the global install is not on your PATH, npx @cargo-ai/cli works in place of cargo-ai in every command here.

2. Sign in from the terminal #

shellscript
cargo-ai login --email you@company.com                 # sends a code, then exits
cargo-ai login --email you@company.com --code 123456   # finishes sign-in
cargo-ai whoami

There is no separate sign-up step and no browser: the first login --email creates the account. A new account starts with 100 free credits and no card. Add --workspace-name "Acme GTM" to name the workspace while signing in. whoami must print a user and a workspace before you go further, because every later command runs against that workspace.

For CI or a shared machine, use a workspace API token instead (cargo-ai login --token <token>, or CARGO_API_TOKEN in the environment).

3. Install the skills, on one channel #

The skills are what teach Claude Code how to drive the CLI: which command a job needs, what it costs, and the rules for anything that touches a person. Install them one way only; both channels at once registers every skill twice.

The plugin (preferred on Claude Code). Inside Claude Code:

text
/plugin marketplace add getcargohq/cargo-skills
/plugin install cargo@cargo

The plugin carries the skills plus an approval hook that lets read-only cargo-ai calls through without a prompt, while sign-in, token minting, project deploy and anything that deletes still ask. Skills from the plugin are namespaced, so the router is cargo:cargo. It needs Claude Code v2.1.154 or later.

Or the standalone skills, from a shell:

shellscript
npx skills add getcargohq/cargo-skills --agent claude-code -g -y

That writes the bundle to ~/.claude/skills. If you want one job rather than the whole platform, the job-named skills install alone, for example find-work-email:

shellscript
npx skills add getcargohq/gtm-skills/find-work-email

4. Connect the MCP server (optional) #

The skills drive the CLI, which covers everything. The MCP server is the smaller surface: it lets Claude Code search, price and run actions and read your data models as tool calls, without a shell command per step. cargo-ai mcp serves it over stdio with the credentials you signed in with, so there is no token to paste:

shellscript
claude mcp add cargo -- cargo-ai mcp

Or connect to the hosted server over HTTP and sign in with OAuth:

shellscript
claude mcp add --transport http cargo https://mcp.getcargo.io/mcp

The tools it exposes (search_actions, get_action_schema, execute_action, execute_action_batch, get_run, query_models and a few more) are listed in the MCP server docs, and the Cargo MCP server page covers curated servers. Use it for one-off calls inside a conversation; anything you will re-run, version or deploy belongs on the CLI.

5. Run a first job #

Ask for the job the way you would ask a colleague:

text
Find the work email for Jane Doe at acme.com.

With the skills loaded, Claude Code picks the work-email skill and runs one action through the CLI. This is the command it runs, which you can also run yourself:

shellscript
cargo-ai orchestration action execute-batch \
  --action '{"kind":"connector","integrationSlug":"prospeo","actionSlug":"findEmail","config":{}}' \
  --records '[{"firstName":"Jane","lastName":"Doe","companyDomain":"acme.com"}]' \
  --wait-until-finished

What comes back: one row per input record with the email found, or an empty value when no address resolved; nothing is guessed. prospeo.findEmail lists at 0.5 credits per record and needs companyDomain: a company name alone does not resolve. On a miss the skill escalates the empty rows to a second provider rather than rerunning the whole list.

For scale: across Cargo, work-email lookups ran 1,850,404 times and 63.6% of runs returned an address (Cargo platform data, 90 days to Oct 16 2026). Expect some empty rows on any real list, and sample 10 to 20 records before running thousands; the skills ask you to approve the full run after the sample.

6. Keep what you built #

A one-off run lives in your terminal. When the job should run on its own (every Monday, or whenever a record changes), have Claude Code declare it as code instead:

shellscript
cargo-ai project init acme-gtm
cd acme-gtm
cargo-ai project plan     # the diff against the workspace
cargo-ai project deploy

With the cargo-project skill loaded, Claude Code writes the plays, models and agents in TypeScript, and plan prints the change before anything deploys. We wrote up the operating model in run go-to-market with coding agents. The same setup in Codex, Cursor and OpenCode is in run go-to-market from Codex, Cursor or OpenCode.

Frequently asked questions #

AurelienOct 16, 2026

Give your agents a runtime

Bring the agents you have.Start free, deploy in one command.