AgentToolHub
SkillClaude CodeCursorClineOpenClawWindsurfVS CodeChatGPT

cargo-diagnostics

GTM engineering skills for AI coding agents — build lead lists, find & verify emails, waterfall enrichment, lead scoring, CRM sync, and buying-signal monitoring (job changes, funding, tech intent) from Claude Code, Codex, or Cursor. Powered by the Cargo CLI: 138 integrations, 50 data providers.

Features

  • ✓Curated collection of gtm engineering skills for ai coding agents — build lead lists, find & verify emails, waterfall enrichment, lead scoring, crm sync, and buying-signal monitoring (job changes, funding, tech intent) from claude code, codex, or cursor. powered by the cargo cli: 138 integrations, 50 data providers. resources
  • ✓Covers a wide range of tools across multiple categories
  • ✓Community-maintained and regularly updated
  • ✓Browse the [GitHub repository](https://github.com/getcargohq/cargo-skills) for the complete list

Installation Guide

Fastest — paste one line into your agent

Paste this prompt into Claude Code, Codex, or Cursor:

text
Install Cargo by following every step in https://api.getcargo.io/agent-install.txt

The agent runs the whole setup itself: installs the CLI at the bundle's pinned version, walks you through browser sign-in, installs the skills bundle for its own platform (the plugin on Claude Code; skills add on Codex/Cursor), verifies the hooks landed, and offers the two-minute [quickstart demo](#onboarding--cargo-quickstart). The hosted instructions are deterministic numbered steps, so the agent can't skip the parts that matter.

Manual — skills.sh

bash
npx skills add getcargohq/cargo-skills --all

--all is shorthand for --skill '*' --agent '*' -y: it takes every skill in the bundle and behaves the same in a terminal, in CI, and inside an agent. Drop it to pick interactively, or name one skill with getcargohq/cargo-skills/<skill-name>.

Works with Claude Code, Codex, Cursor, Windsurf, GitHub Copilot, Hermes Agent](#hermes-agent), and any agent that supports the [skills.sh standard.

Hermes Agent

Hermes reads the same SKILL.md standard, so all nineteen skills work there with no Cargo-side changes. Install them whichever way suits you:

bash
# From inside Hermes, via the skills.sh source
hermes skills install skills-sh/getcargohq/cargo-skills/cargo-gtm

# Or straight from GitHub, one skill at a time
hermes skills install getcargohq/cargo-skills/cargo-gtm

# Or the whole bundle from outside Hermes
npx skills add getcargohq/cargo-skills --agent hermes-agent

The last one writes all nineteen to .hermes/skills/ (or ~/.hermes/skills/ with -g). Cross-skill references resolve because the skills land as siblings — the same layout every other channel uses.

To subscribe to the whole repo as a tap, add it and then point it at the repo root, since these skills live at the top level rather than under skills/:

bash
hermes skills tap add getcargohq/cargo-skills
# then set "path": "." for this entry in ~/.hermes/skills/.hub/taps.json

Two things differ on Hermes. The plugin channel below is Claude Code / Codex / Cursor only, so its approval hook doesn't apply — Hermes gates tool calls with its own approval policy, and its pre_tool_call hooks can only *block* a call, never pre-approve one. Expect cargo-ai commands to prompt. And with no bundled session-lifecycle hooks, [the session's three jobs](cargo/SKILL.md) (refresh, register, finalize) are the agent's to run by hand — the router skill already accounts for agents without lifecycle hooks.

Just one job — gtm-skills

If you want a single outcome rather than the whole workstation, getcargohq/gtm-skills packages the same jobs as standalone skills named after the job rather than after Cargo:

bash
npx skills add getcargohq/gtm-skills --all          # all of them
npx skills add getcargohq/gtm-skills/find-work-email # or exactly one

Finding leads and stakeholders, building a TAM, resolving and enriching LinkedIn profiles, work emails and verification, company enrichment, job-change, funding and tech-intent signals, and migrating off a Clay table. The current list is in that repo's README; it is not repeated here, because a hand-maintained copy of somebody else's list is a copy that goes stale. Each installs alone, carries its own cost table, and runs end to end inside the 100 free credits.

Install those or this pack, not both — each standalone skill defers to cargo-gtm when the pack is present, so the same request is never claimed twice.

Agent plugin (alternative channel — Claude Code, Codex, Cursor)

The repo also installs as a native agent plugin: one source, three targets, sharing the same nineteen skills plus three things skills add can't deliver:

  • An approval hook ([hooks/approve-cli.sh](hooks/approve-cli.sh)) that auto-approves safe cargo-ai calls (reads, queries, run/batch operations) while credentials (login), token minting, report egress, project deploy/destroy, and any remove/delete always still prompt. Allow-only — it can never override a deny rule. Wired per target: PreToolUse (Claude Code), PermissionRequest (Codex), beforeShellExecution (Cursor).

  • Session-lifecycle hooks (Claude Code only): plugin-bundled SessionStart/Stop/SessionEnd scripts keep the CLI at the bundle's pinned version and log the session to workspace_management.sessions — no installer needed. They defer automatically when the installer's copies exist under ~/.claude/hooks/, so running both never double-registers a session. Unlike the installer's, the plugin's SessionStart does not run skills add (the plugin owns the skills).

  • Native subagents (Claude Code only): cargo-execution-planner (costed GTM plans with pilot + budget reconciliation, read-only) and cargo-list-builder (parallel sourcing fan-out that executes only pre-approved slices), both on the cheap model tier — [agents/](agents/).
  • Optional extra — a statusline with live Cargo context (workspace · credits · CLI pin state). Statuslines are user-level config, so wire it yourself in ~/.claude/settings.json:

    json
    { "statusLine": { "type": "command", "command": "node ~/.claude/plugins/marketplaces/cargo-skills/hooks/cargo-statusline.mjs" } }

    (Adjust the path to wherever the plugin/marketplace is checked out. Renders from a small cache and never blocks — a detached child refreshes workspace/credits every ~2 minutes.)

    Claude Code (≥ v2.1.154):

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

    Installed it as cargo@cargo? That copy is frozen: Claude Code reserves the marketplace name cargo and refuses to update or uninstall anything from it. Remove the marketplace (this also drops the plugin), then install under the new name:

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

    A project made from the Cargo template before 2026-10-22 also names the old id in .claude/settings.json: change extraKnownMarketplaces.cargo to cargo-skills and "cargo@cargo" to "cargo@cargo-skills".

    Codex:

    bash
    codex plugin marketplace add getcargohq/cargo-skills
    # then install "cargo" from the Plugins menu

    Cursor: open Customize in the sidebar → add the getcargohq/cargo-skills marketplace → install the Cargo plugin (UI-driven; the .cursor-plugin/ manifests are picked up automatically).

    Claude Cowork (Claude Desktop): open Customize in the sidebar → + next to Personal plugins → Create plugin → Add marketplace → enter https://github.com/getcargohq/cargo-skills → install the Cargo plugin. Two sandbox-specific notes:

  • Network egress: in the session's Settings → Capabilities, turn on network egress and allow at least api.getcargo.io and registry.npmjs.org (or all domains) so the CLI can install and reach Cargo.

  • Sign-in: the Cowork sandbox has no TTY, so the browser sign-in flow can't complete there. Mint a workspace API token at app.getcargo.io → Settings → API and have the agent run cargo-ai login --token <token> instead. Start the session on a project folder — auth persists in that folder, so later Cowork sessions on the same folder reuse it.
  • Pick one channel. Plugin install and skills add both register the skills; using both duplicates them (plugin copies are namespaced cargo:<skill>). Plugin users should uninstall the skills add copies (and skip the installer) and update via /plugin marketplace update cargo-skills + /plugin update cargo@cargo-skills instead.

    For OpenClaw, install the bundle from ClawHub:

    bash
    clawhub install getcargohq/cargo-skills           # current workspace's skills/
    clawhub install getcargohq/cargo-skills --global  # ~/.openclaw/skills (shared)

    Each skill ships a metadata.openclaw.install block that pulls @cargo-ai/cli@latest from npm and exposes the cargo-ai bin on first run, so no separate prerequisite step is needed.

    Reviews