cargo
Router and overview for the Cargo CLI agent skills. Explains the fifteen skills (this router + one onboarding skill cargo-quickstart + one outcome skill cargo-gtm + twelve capability skills, including cargo-cdk for declarative workspace-as-code and cargo-diagnostics for run/batch/cost forensics), when to use the declarative CDK vs the imperative CLI, the UUID flow between them, async polling, end-to-end use cases (enrich one record, enrich and sync to CRM, AI lead scoring, custom workflow, error monitoring, fresh-workspace bootstrap, segment export, GTM context authoring), and common gotchas (`conjonction` spelling, run vs batch, model-uuid vs segment-uuid). Load first whenever working with the Cargo CLI, when unsure which sub-skill applies, when stitching multiple sub-skills together, when bootstrapping a workspace, or when the user asks about Cargo skills in general.
How do I install this agent skill?
npx skills add https://github.com/getcargohq/cargo-skills --skill cargoIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill serves as the central router for the Cargo CLI agent skills, facilitating workspace management, orchestration, and GTM operations. It includes instructions for installing the vendor's CLI and session hooks, and establishes a system for managing data models and RAG knowledge. The analysis shows standard vendor functionality with no malicious patterns detected.
- Socketwarn
1 alert: gptAnomaly
- Snykfail
Risk: CRITICAL · 3 issues
What does this agent skill do?
██████ ████ █████ ██████ ██████
██ ░ ██ ██░ ██ ██ ██ ░ ██ ██░
██ ██████░ █████ ░ ██ ███ ██ ██░
██ ██ ██░ ██ ██ ██ ██░ ██ ██░
██████ ██ ██░ ██ ██ ██████░ ██████░
░░░░░░ ░░ ░░ ░░ ░░ ░░░░░░ ░░░░░░
Cargo CLI — Skills Overview
This repository contains 15 skills at the repo root: this router (cargo), one onboarding skill (cargo-quickstart), one outcome skill (cargo-gtm), and twelve capability skills.
cargo-quickstart— guided first-run demo. Fresh workspace → real deliverable (25 leads for the user's persona, with a cost receipt) in under two minutes, ending by saving the demo as a recurring play. Load for new users, demo/tour requests, or empty workspaces.cargo-gtm— application library. The front door for any GTM task ("build a TAM list", "find 5 fintech CTOs", "monitor job changes"). Routes via internal recipes (../cargo-gtm/recipes/*.md) and provider playbooks (../cargo-gtm/provider-playbooks/*.md).- Capability skills — standard library. One per CLI domain (orchestration, storage, connection, AI, content, context, analytics, billing, hosting, cdk, workspace management), plus
cargo-diagnostics(cross-domain forensics over runs, batches, and credit spend). Loaded bycargo-gtm, or directly when you need a specific CLI domain. cargo-cdk— the declarative one. Where the other capability skills wrap imperative one-offcargo-ai <domain>calls,cargo-cdkdefines the whole workspace as code (define*builders +cargo-ai cdk deploy) and reconciles it. It spans every resource type — see "Declarative vs imperative" below to route between it and the imperative skills.
cargo-gtm delegates to capability skills; capability skills never reference cargo-gtm (one-way dependency).
Glossary: See references/glossary.md for term-by-term definitions (UUIDs, slugs, conjonction, run/batch/play/tool, signal/persona/ICP, etc.).
Interaction conventions: See references/interaction.md for the pack-wide defaults on when to stop and ask (plan gate before building, recommended-default choices) and how to present results (narrate, summarize — never dump raw JSON).
Installation
npm install -g @cargo-ai/cli
cargo-ai login --oauth # browser sign-in (recommended)
# or: cargo-ai login --token <your-api-token> # use an existing workspace-scoped API token
# Optional: pin a default workspace at login
cargo-ai login --oauth --workspace-uuid <uuid>
# Verify
cargo-ai whoami
Without a global install, prefix every command with npx @cargo-ai/cli instead of cargo-ai.
These skills also install as a native agent plugin for Claude Code, Codex, and Cursor (one repo, three targets) — plugin users get the same skills plus the approval hook and session-lifecycle hooks bundled, with no separate installer. See the repo README.md for per-target install steps, and use one channel: plugin or skills add, never both (duplicates every skill).
All commands output JSON to stdout. Failed commands exit non-zero and return {"errorMessage": "..."}. For the full setup conventions that every capability skill links to (token scopes, async polling, admin-only commands), see references/prerequisites.md.
Every Cargo session has three jobs
Automated on Claude Code. Jobs 1 and 3 (refresh + session register/finalize) run on their own when either the Cargo plugin is installed (its bundled
SessionStart/Stop/SessionEndhooks handle them) or the installer's hooks (curl -fsSL https://api.getcargo.io/install.sh | sh) are present. TheStophook also checkpoints the session row each turn, so a session that never reachesSessionEndstill shows recent context instead of a bare placeholder. Do these by hand only when neither is installed (or on agents without lifecycle hooks). Job 2 (reporting) is always your responsibility — it can't be automated.
1. At session start — refresh and register
Before any other Cargo command, refresh the CLI and skills, then register the session in workspace management:
# Refresh — idempotent, ~10s. Skills first, then the CLI at the version the
# bundle pins. The pin file `cli-version` sits in the same directory as this
# SKILL.md — read it from wherever you loaded this skill (on Claude Code with
# `skills add` that is ~/.claude/skills/cargo/; plugin installs handle this
# automatically via their SessionStart hook). Fall back to latest.
npx -y skills add getcargohq/cargo-skills
npm install -g "@cargo-ai/cli@$(cat <path-to-this-skill-dir>/cli-version 2>/dev/null || echo latest)"
# Register the session (placeholders OK — overwritten at session end)
cargo-ai workspaceManagement session upsert \
--session-id <session-id> \
--title "Agent session <session-id>" \
--summary "Session in progress."
Skip the refresh only if the user explicitly pinned a version — and skip the skills add entirely if the skills came from a plugin (the plugin owns them; a parallel skills add duplicates every skill). Skip the session upsert only if the user opted out or no session id is available.
Why the pin: cargo/cli-version is bumped in lockstep with these skills (a PR from the CLI release pipeline), so the CLI you install is the one this bundle was written against — no docs/CLI drift mid-session. If the pin file is missing or unreadable, latest is the safe fallback. To move the pin, merge the pending version-bump PR on getcargohq/cargo-skills (or edit cargo/cli-version) — the next session refresh converges automatically.
2. Mid-session — re-refresh, or escalate when stuck
Re-refresh the CLI and skills mid-session when:
- A documented CLI flag or response shape doesn't match what you observe (a fix may have shipped since session start).
- The user explicitly asks ("bump cargo", "make sure I'm on latest").
Send a workspace management report when the CLI is failing in a way the skill references and --help cannot resolve, the user or agent is repeatedly retrying the same command without progress, the syntax for a flag / JSON payload is unclear, or a needed capability seems missing:
cargo-ai workspaceManagement report create \
--title "<one-line summary of the problem>" \
--description "<exact command(s) tried, errorMessage, expected vs actual, UUIDs involved>"
Trigger conditions (any one is enough):
- A command failed ≥ 2 times in a row on the same task and the cause is not obvious.
- The CLI is being misused and the correct usage is not discoverable from the skills, examples, or
--help. - A documented behavior contradicts what you observe.
- A feature appears to be missing entirely.
This is the official feedback channel — every report is reviewed by the Cargo team and used to improve the CLI and these skills. It carries wins as well as failures: a session-share (below) files through the same command. Do not give up silently — file a report. See ../cargo-workspace-management/SKILL.md (Reports section) and ../cargo-workspace-management/references/examples/reports.md for templates.
3. At session end — finalize the session row, then ask to share
Produce a short title (5–8 words) and a 1–2 sentence summary of what the session actually worked on, then overwrite the placeholder row and stamp finished_at:
cargo-ai workspaceManagement session upsert \
--session-id <claude-session-id> \
--title "<5-8 word title>" \
--summary "<1-2 sentence summary of what was accomplished or attempted>" \
--finished
--title and --summary are required (NOT NULL). --finished stamps finished_at = now; pass --finished-at <iso> for an explicit timestamp.
Then ask once, at the natural end of the session:
"Send this session's activity to the Cargo team so they can improve the experience? (Y/N)"
On yes, file a session-share report (consented session traces are the fastest product-learning loop the team has):
cargo-ai workspaceManagement report create \
--title "Session share: <5-8 word session title>" \
--description "<what the user tried to accomplish, the commands/recipes used, what worked, where friction appeared, credits spent — no secrets or record-level data>"
On no, don't ask again this session. Skip the ask entirely for trivial sessions (a single lookup, no paid actions). See ../cargo-workspace-management/references/examples/reports.md for the session-share template.
Skills at a glance
Declarative (CDK) vs imperative (CLI) — pick the mode first
Two ways to create/manage the same Cargo resources. Decide which the task wants before picking a domain:
- Declarative →
cargo-cdk. The user is managing resources as an artifact: "set up / bootstrap a whole workspace as code", "make this reproducible / version-controlled / in git", "deploy these connectors + models + agents together", or anything that should be re-runnable and diffable across environments. Define it indefine*files andcargo-ai cdk deploy. - Imperative → the matching capability skill below. The user is doing a one-off operation or exploring: "create one connector", "add a column", "list connectors", "run this workflow", "query storage", "read a memory". A read, ad-hoc query, or single mutation that needn't live in code.
When unsure: should the result be committed and re-deployable? Yes → CDK. A quick action or a read → the capability skill.
Onboarding skill
Load for a brand-new user or an empty workspace.
| Skill | Load when you need to… |
|---|---|
cargo-quickstart | Run the guided first-run demo: one persona question → 25 leads in under two minutes → cost receipt → save as a recurring play. Routes to cargo-gtm afterwards. |
Outcome skill
Load when the user states a real-world goal.
| Skill | Load when you need to… |
|---|---|
cargo-gtm (recap) | Any GTM task — sourcing, enrichment, verification, scoring, sequencing, CRM sync, signal monitoring (job changes, funding, tech-stack/hiring intent). Routes via recipes (recipes/), guides (guides/), and provider playbooks (provider-playbooks/). |
Capability skills
Load for a specific CLI domain. The first link in each row jumps to the actual SKILL.md; the parenthetical jumps to the recap on this page.
| Skill | Load when you need to… |
|---|---|
cargo-orchestration (recap) | Execute actions, run workflows, trigger batches, chat with agents, query orchestration with SQL (ClickHouse) |
cargo-analytics (recap) | Download run results, export segment data, monitor error rates and metrics |
cargo-billing (recap) | Check credit usage, view subscription details, track costs per workflow or connector |
cargo-diagnostics (recap) | Diagnose after the fact: trace why one run misbehaved, sweep a batch/play for errors grouped by root cause, profile where a play's credits go |
cargo-storage (recap) | Inspect or modify data models, columns, datasets, and relationships; query workspace storage with SQL |
cargo-connection (recap) | Manage connector authentication, discover available integrations and their actions |
cargo-ai (recap) | Create and configure agents, configure releases, attach knowledge for RAG, manage MCP servers and memories |
cargo-content (recap) | Upload and organize knowledge files, build native/connector-backed knowledge libraries for RAG (the content domain) |
cargo-context (recap) | Browse/read/write/edit the workspace's git-backed GTM context repo, run commands in its runtime sandbox, inspect the knowledge graph |
cargo-hosting (recap) | Scaffold, deploy, and promote hosted apps (Vite SPAs on *.cargo.app) and edge workers (serverless HTTP handlers), and manage their deployments |
cargo-cdk (recap) | Declarative — spans every resource type. Define a whole workspace in code (define* builders) and deploy it with cargo-ai cdk (init → types → plan → deploy). Use for workspace-as-code / reproducible / version-controlled setups; see "Declarative vs imperative" above. |
cargo-workspace-management (recap) | Invite users, create API tokens, organize folders, manage roles, report CLI issues to management |
Agent knowledge for RAG: files + libraries live in the
contentdomain →cargo-content; how they attach to an agent →cargo-ai. (Files/libraries moved out of the oldai file …path in CLI ≥ 1.0.19.)
CLI domains without a dedicated skill yet
The CLI exposes several domains that no capability skill wraps yet. Reach for them directly (cargo-ai <domain> --help) when a task needs them, and file a workspaceManagement report if the surface is unclear:
| CLI domain | Covers |
|---|---|
segmentation | Segments and changes (segment list/get/create/fetch/download, change). Some of this is already used from cargo-orchestration/cargo-analytics. |
expression | Recipes and expression evaluation (eval, recipe) — generate/evaluate the template expressions used in node graphs. |
system-of-record | System-of-record, client, and log operations. |
revenue-organization | Allocations, capacities, members, territories (revenue/territory planning). |
user-management | Current-user operations with no workspace context. |
How the skills relate
┌─────────────────────────────────────┐
│ cargo-gtm │
│ Outcome / front door for GTM │
│ Recipes, guides, provider-playbks │
└─────────────────┬───────────────────┘
│ delegates to ↓ (one-way)
┌──────────────────────┴──────────────────────┐
│ │
┌──────────────────────────────────────────────────────────────┐
│ cargo-workspace-management │
│ Authentication, users, tokens, folders │
└──────────────────────────────────────────────────────────────┘
┌─────────────────┐ ┌────────────────────┐ ┌─────────────────┐
│ cargo-storage │ │ cargo-connection │ │ cargo-ai │
│ Models, columns,│ │ Connectors, │ │ Agents, docs, │
│ datasets │ │ integration actions│ │ MCP, memory │
└────────┬────────┘ └─────────┬──────────┘ └────────┬────────┘
(cargo-content feeds
files/libraries to agents)
│ │ (UUIDs flow down) │
└──────────────────────┼───────────────────────┘
▼
┌───────────────────────────────────────┐
│ cargo-orchestration │
│ Runs, batches, plays, tools, SoR │
└───────────────┬───────────────────────┘
│
┌──────────────┴──────────────┐
▼ ▼
┌────────────────────────┐ ┌───────────────────────────┐
│ cargo-analytics │ │ cargo-billing │
│ Results, metrics, │ │ Credit usage, costs │
│ exports │ │ │
└────────────────────────┘ └───────────────────────────┘
┌───────────────────────────────────────┐
│ cargo-context │
│ Git-backed GTM markdown knowledge: │
│ personas, plays, proof, signals… │
└───────────────────────────────────────┘
(orthogonal: not part of the workflow flow)
┌───────────────────────────────────────┐
│ cargo-cdk │
│ Declarative authoring layer: define │
│ connectors/models/plays/agents/… as │
│ code, deploy with `cargo-ai cdk`. │
└───────────────────────────────────────┘
(cross-cutting: PRODUCES the same resources the imperative
skills manage — an alternative mode, not a workflow stage)
Dependency rules in practice:
cargo-gtmdelegates to capability skills via relative paths (../cargo-orchestration/...). Capability skills never referencecargo-gtm.cargo-workspace-managementprovides auth context for every skill — set it up first.cargo-storage,cargo-connection, andcargo-aiare peer skills that supply UUIDs tocargo-orchestration. They don't depend on each other.cargo-contentowns workspace files and libraries (thecontentdomain). It produces file/library UUIDs thatcargo-aiconsumes as agent releaseresources(RAG). Uploaded content files also surface read-only under.files/in thecargo-contextruntime sandbox.cargo-cdkis cross-cutting: it's a declarative authoring mode that produces the very connectors/models/plays/agents/etc. the imperative capability skills manage one at a time. Route to it when the task is "manage the workspace as code" (reproducible, in git, multi-resource); route to the imperative domain skills for one-off ops, reads, and ad-hoc queries. See "Declarative vs imperative" under Skills at a glance.cargo-contextis orthogonal to the workflow-execution flow. It touches the git-backed GTM knowledge base (markdown/MDX), not storage or workflow runs. Use it for capturing/editing the workspace's prose context — personas, plays, proof, objections, signals — and for inspecting the typed knowledge graph.- For SQL queries against storage, use
cargo-ai storage query execute "<sql>"(tables as<datasetSlug>.<modelSlug>). Loadcargo-storageto discover dataset and model slugs, and to fetch the DDL when you need column types or the SQL dialect. - For SQL queries against orchestration runtime tables (
runs,batches,spans,records) — error rates, per-node failures, time-series — usecargo-ai orchestration query execute "<sql>". Workspace scoping is automatic; tables are referenced without a schema prefix. - Before building a workflow node graph, load
cargo-connectionto getconnectorUuidandactionSlug. - Before executing a workflow that uses an agent node, load
cargo-aito getagentUuid. - After runs complete, load
cargo-analyticsto download results or measure performance. For action output retrieval, prefercargo-ai orchestration run download-outputsoverrun download— the former returns a signed-URL CSV/JSON of just the output node's data. - Load
cargo-billingto understand credit consumption for any of the above. - When a run failed, a run "succeeded but looks wrong", a batch has errors, or a play costs too much, load
cargo-diagnostics— it sequences therun get/ orchestration-SQL / billing surfaces into forensic runbooks (trace one run, sweep a batch, profile credit spend).
Skill details
cargo-gtm
The outcome skill — front door for any GTM task. Bundles routing (SKILL.md), phase guides (guides/), scenario recipes (recipes/), per-provider playbooks (provider-playbooks/), references (references/), and a sub-agent (agents/).
Recipes shipped:
| Recipe | Use when… |
|---|---|
recipes/prospecting.md | End-to-end find → enrich → verify → sync (P1/P2/P3 variants). |
recipes/build-tam.md | Build a Total Addressable Market list at scale (100–10,000 companies). |
recipes/linkedin-url-lookup.md | Resolve LinkedIn URL from name + company with strict 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 | Track companies that recently raised funding. |
recipes/tech-intent.md | Find companies by tech-stack or hiring-intent signals. |
recipes/icp-discovery.md | Diff Closed-Won vs Closed-Lost segments, surface ICP signals. |
recipes/outreach-activation.md | Turn a signal segment into send-ready outreach (enrich → verify → personalize → sequencer handoff). |
recipes/re-engagement.md | Wake up stale contacts only when a fresh signal fires (job change, funding, tech intent). |
recipes/lost-deal-revival.md | Revive Closed-Lost CRM deals by branching on lost_reason (champion left, budget, timing). |
recipes/account-expansion.md | Multi-thread customer accounts — net-new buyers, deduped against the Contacts model. |
Priority provider stack (recipes lead with these): salesNavigator (sourcing), cargo native (firmographics + signals), waterfall (multi-source enrichment + email verify + job-change), FullEnrich (premium contact lookup), theirStack (tech-stack + hiring intent), peopleDataLabs (heavyweight backfill).
Critical rules:
- All recipes use credits-based actions (
cargo-ai connection integration list→ 141 credits-based actions across 120 integrations). - Action shape:
{"kind":"connector","integrationSlug":"<slug>","actionSlug":"<slug>","config":{}}— noconnectorUuidinconfig. - Output retrieval:
cargo-ai orchestration run download-outputs --output-node-slug <slug>(NOTrun download). - peopleDataLabs filter shape:
searchXuses cargo's{conjonction, groups, conditions}shape;queryXtakes a PDL SQL string — never Elasticsearch.
References: ../cargo-gtm/SKILL.md
cargo-orchestration
The execution hub. Execute actions, run workflows, chat with AI agents, query orchestration runtime tables (runs/batches/spans/records) with SQL, and fetch segment records.
Critical rules:
- See the decision flowchart at the top of
../cargo-orchestration/SKILL.mdfor when to useaction executevsrun createvsbatch create. - Prefer built-in actions + expressions when building a node graph. Avoid
python,script(JS), and raw HTTP nodes unless necessary: usevariablesfor transforms, the nativeagentnode for LLM calls, the integration's dedicated connector action for APIs, andbranch/filter/switchfor routing. See../cargo-orchestration/references/node-selection.md. - Filter JSON uses
conjonction(notconjunction) — breaks silently if misspelled. - Query orchestration runtime tables (ClickHouse) with
cargo-ai orchestration query execute "<sql>"againstruns,batches,spans,records(no schema prefix; workspace scoping is automatic). - For SQL against workspace storage (Companies, Contacts, …), use
cargo-ai storage query execute "<sql>"— documented incargo-storage. - All operations are async — poll or pass
--wait-until-finished. See Async polling.
References: ../cargo-orchestration/SKILL.md
cargo-analytics
Measurement and export. Download run results, export segment data, and monitor error rates and success metrics.
Critical rules:
segment downloadrequires--model-uuid, not--segment-uuid.- For batch result download, get the
output-node-slugfromrelease get <release-uuid>→nodes[].slug. - For billing and credit usage, use
cargo-billinginstead. - Analytics answers "what happened" (metrics, counts, exports). When the question is why — a failing run, a batch full of errors, surprising cost — hand off to
cargo-diagnostics; its sweep runbook picks up exactly where analytics' error counts leave off.
References: ../cargo-analytics/SKILL.md
cargo-billing
Cost and credit management. Track credit consumption per workflow, connector, or agent; check subscription status; view invoices.
Critical rules:
- Requires a token with admin access.
- Invoice amounts are in cents — divide by 100 for dollars.
subscriptionAvailableCreditsCount - subscriptionCreditsUsedCountfromsubscription get= remaining credits.
References: ../cargo-billing/SKILL.md
cargo-diagnostics
Forensics over runs, batches, and spend. Three runbooks that sequence existing surfaces (run get, orchestration query execute, billing usage get-metrics) into diagnoses: references/run-trace.md (explain one run end-to-end — executions, runContext, branch routing, per-node credits), references/batch-error-sweep.md (group a batch/play's failures by root cause, hand back exemplar run UUIDs), references/play-optimize-credits.md (attribute spend to workflows → nodes → providers, then apply cost levers in priority order).
Critical rules:
- Start with the sweep when you don't know which run to look at; it ends with exemplar UUIDs for the trace.
runContextis the source of truth for what a node produced; an execution'stitleis a truncated summary — never evidence.- Credit attribution (
billing …) needs an admin token; the SQL andrun getsteps don't. - Any fix that re-runs paid nodes goes through the pilot gate in
../cargo-gtm/references/cost-discipline.md. - Diagnostics explains; it doesn't export. For bulk retrieval after the diagnosis (
run download-outputs,batch download,segment download) go back tocargo-analytics. - Present conclusions first, evidence as compact tables — per
references/interaction.md(in thecargorouter skill).
References: ../cargo-diagnostics/SKILL.md
cargo-storage
Data schema management and SQL queries. Inspect models, create or update columns, navigate datasets, understand workspace data structure, and run SQL against workspace storage.
Critical rules:
- Query via
cargo-ai storage query execute "<sql>"(orstorage query download --query "<sql>"for full exports) using<datasetSlug>.<modelSlug>table names (e.g.default.companies).model get-ddlis optional — useful for column types and SQL dialect. - For SQL against orchestration runtime tables (
runs/batches/spans/records), usecargo-ai orchestration query execute "<sql>"— documented incargo-orchestration. - For advanced record queries (filtering, sorting, pagination), use
segmentation segment fetchfromcargo-orchestration.
References: ../cargo-storage/SKILL.md
cargo-connection
Connector and integration management. Authenticate external services, discover supported actions, get the connectorUuid and actionSlug values needed for workflow node graphs.
Key concepts:
- Integration = external service type (HubSpot, Clearbit, Salesforce, …)
- Connector = authenticated instance of an integration (referenced by
connectorUuidin nodes)
References: ../cargo-connection/SKILL.md
cargo-ai
Agent resource management. Create and configure agents, configure releases, attach knowledge for retrieval-augmented generation (RAG), connect MCP servers, manage memories.
Critical rules:
- Knowledge for RAG attaches to an agent via the release's
resources: files + libraries come fromcargo-content. Wire them in withrelease update-draft --resources …thenrelease deploy-draft. - CLI ≥ 1.0.19: files and libraries moved out of the
aidomain into the top-levelcontentdomain (now thecargo-contentskill). The oldcargo-ai ai file …commands no longer exist.
For using agents (sending messages, multi-turn chat, polling), use
cargo-orchestration.
See ../cargo-ai/SKILL.md for model and temperature guidance by use case.
References: ../cargo-ai/SKILL.md
cargo-content
Workspace knowledge files & libraries. Upload, list, rename, move, and remove files (PDFs, CSVs, text); create and sync libraries — native (workspace-managed) or connector-backed (synced from an external source via an unstructured-data extractor). These are the RAG knowledge resources agents reference.
Critical rules:
- New top-level
contentdomain in CLI ≥ 1.0.19 —cargo-ai content file …/cargo-ai content library …. The oldcargo-ai ai file …path is gone (unknown command→ you're on the old path; bump the CLI). - A file or library is inert until attached to an agent's deployed release
resources— that wiring lives incargo-ai. - Uploaded content files are also readable (read-only) under
.files/in thecargo-contextruntime sandbox. - For batch-run input files (CSVs that drive a batch), use
cargo-ai workspaceManagement file upload(a different surface) — seecargo-workspace-management.
References: ../cargo-content/SKILL.md
cargo-context
GTM context repository. Browse, read, write, and edit the workspace's git-backed knowledge base of typed markdown/MDX files — personas, plays, proof, objections, signals, ICPs, etc. — via the runtime sandbox. Inspect cross-references with the knowledge graph.
Key concepts:
- Context repository = the GitHub repo backing the workspace's context. Canonical example:
getcargohq/cargo-workspaces. Files usekebab-case.mdnames, YAML frontmatter with requiredtitle+description, anddomain/slugcross-refs (no.md). - Runtime sandbox = a checked-out, executable copy of the context repo.
runtime writeandruntime editpush to the default branch;runtime executedoes not push. - Knowledge graph = the typed graph over every md/mdx file, with frontmatter and outbound cross-refs per node. Built via
cargo-ai context graph get.
Critical rules:
runtime write/runtime editcommit and push.runtime executeis ephemeral — use it forgrep/ls/inspection, never for persistent changes.runtime edit --old-stringmust match the file content exactly once. Read first, copy whitespace verbatim.- Set
title+descriptionfrontmatter on every.md/.mdxfile — a strong convention, not enforced: missing/malformed frontmatter is still committed, it just indexes poorly (graph falls back to filename + first paragraph, and readssummary, notdescription). - Graph edges form only from frontmatter
references:, markdown links, or wikilinks — a bare path in prose creates no edge. Cite source files inreferences:. - For domains, conventions, and per-domain templates, see
../cargo-context/references/conventions.md.
Lifecycle:
- For bootstrapping a fresh workspace's context from a domain (ICP, personas, proof, signals — idempotent, skips already-seeded domains), see
../cargo-context/references/examples/bootstrap-from-domain.md. - For the full bootstrap + ongoing call-driven refresh playbook (Phase 1 + Phase 2 + cadence), see
../cargo-context/references/examples/lifecycle.md.
References: ../cargo-context/SKILL.md
cargo-hosting
Cargo Hosting. Scaffold, deploy, and manage hosted apps (Vite SPAs on https://<slug>.cargo.app, built on @cargo-ai/app-sdk) and workers (serverless edge fetch(request, env) handlers on @cargo-ai/worker-sdk), plus the deployments that ship and promote them.
Lifecycle: init (local scaffold) → create (slot + globally-unique slug) → deployment create (build+upload) → deployment promote (go live).
Critical rules:
--slugis the live subdomain — globally unique within the hosting domain.- Deploying ≠ going live.
deployment createbuilds; the URL only moves ondeployment promote.deployment get-promotedshows what's live. --sourceis the package root, notdist/— the build (npm ci && vite buildfor apps, bundling for workers) runs server-side.- Builds are async — poll
deployment getuntil terminal before promoting. --app-uuid/--worker-uuidare mutually exclusive on deployment commands;removecascades to deployments.- Folders come from
cargo-workspace-management;--folder-uuid nullmoves to root.
References: ../cargo-hosting/SKILL.md
cargo-cdk
Declarative workspace-as-code — the imperative skills' counterpart. Define an
entire Cargo workspace in TypeScript (defineConnector/defineModel/defineAgent/
definePlay/defineTool/defineMcpServer/defineContext/defineSegment/
defineFolder/defineFile/defineWorker/defineApp) and reconcile it to live
infra with cargo-ai cdk. Spans every resource type, so it overlaps every
imperative capability skill — route with "Declarative vs imperative" above.
Lifecycle: cdk init (scaffold from a template) → cdk types (type config
against the workspace) → author define* files → cdk plan (offline diff) →
cdk deploy (create/update, write state) → cdk destroy. Plus refresh (drift),
import (adopt existing), rollback.
Critical rules:
- Commit
cargo.state.json— it links code to created resources and is the only handle on deployed plays/agents (no slug); losing it orphans them. - Wire by handle, not
.uuid— pass adefine*handle orxxRef("uuid"). - Secrets go through
secret("ENV_VAR")— resolved at deploy, never written to state or the content hash. Export the env var first. --yesis required for non-interactivedeploy/destroy(CI).- Run
cargo-ai cdk typesafter workspace integrations change so config type-checks; typing is a bonus, deploy works without it.
Recipes shipped: recipes/scaffold-a-workspace.md, add-connector-and-model.md,
build-an-agent.md, migrate-existing-workspace.md, deploy-from-ci.md.
References: ../cargo-cdk/SKILL.md
cargo-workspace-management
Workspace administration. Invite users, create and rotate API tokens, organize plays/tools/agents into folders, manage roles, and submit reports to workspace management when the CLI fails or is being misused.
Critical rules:
- Most commands require a token with admin access.
workspaceManagement token createrequires--name(the legacy--from-userflag was removed). Pick a name that makes the token's purpose obvious intoken listlater.- Token values are only shown once at creation — store immediately in a secrets manager (GitHub Secrets, AWS Secrets Manager, etc.).
- Always send a
workspaceManagement report createwhen the CLI errors, is being used incorrectly, or you (user or agent) are struggling to make progress on a CLI task — see the section at the top of this file and../cargo-workspace-management/references/examples/reports.md.
References: ../cargo-workspace-management/SKILL.md
Async polling
All operations are asynchronous. Pass --wait-until-finished to block, or poll:
| Result type | Poll command | Interval | Terminal when |
|---|---|---|---|
| Run | cargo-ai orchestration run get <uuid> | 2s | status is success, error, or cancelled |
| Batch | cargo-ai orchestration batch get <uuid> | 5s | status is success, error, or cancelled |
| Agent message | cargo-ai ai message get <uuid> | 2s | status is success or error |
action execute returns a run; action execute-batch returns a batch — same polling applies.
See ../cargo-orchestration/references/polling.md for retry strategies, error handling, and large-batch guidance.
UUID flow between skills
See references/uuid-flow.md — producer/consumer table for every UUID and slug that crosses skill boundaries (workflowUuid, modelUuid, connectorUuid, actionSlug, …), the standard discovery sequence to run before any workflow, and the app.getcargo.io URL patterns for resolving UUIDs in the UI.
End-to-end use cases
See references/use-cases.md — 8 worked recipes (single-record enrich, batch + CRM sync, AI lead scoring, custom workflow from scratch, error monitoring, fresh-workspace bootstrap, segment export with filter+sort, GTM context audit) showing which skills to load and the command sequence for each.
Common gotchas
See references/gotchas.md — silent-failure footguns and frequently confused command pairs (conjonction spelling, run create vs batch create, --model-uuid vs --segment-uuid, storage query table naming, token-shown-once, invoice cents, third-party connector rate limits, context runtime execute vs write/edit, …).
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/getcargohq/cargo-skills/cargo">View cargo on skillZs</a>