
cargo-ai
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.
- Installs
- 10K
- Last 24h
- +122
- Trending rank
- #1718
- Security
- Pass
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/getcargohq/cargo-skills --skill cargo-ai- 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-ai 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 CLI — AI
Agent resource management: creating and configuring agents, attaching knowledge for retrieval-augmented generation (RAG), connecting MCP servers, and managing agent memories.
For using agents (sending messages, multi-turn chat, polling), use
cargo-orchestration. For uploading knowledge files and building knowledge libraries (thecontentdomain), usecargo-content. This skill covers how that knowledge attaches to an agent. For workspace administration — folders (used to organize agents and files), users, API tokens, roles, and submitting reports when the CLI fails — usecargo-workspace-management.
See
references/response-shapes.mdfor full JSON response structures. Seereferences/troubleshooting.mdfor common errors and how to fix them. Seereferences/examples/agents.mdfor agent CRUD and configuration examples. Seereferences/examples/mcp-servers.mdfor MCP server creation and management examples.
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.
Discover resources first
cargo-ai ai agent list # all agents (uuid, name, description)
cargo-ai ai template list # all AI agent templates (slug, name)
cargo-ai ai mcp-server list # all MCP servers (uuid, name)
cargo-ai ai memory list --scope agent --agent-uuid <uuid> # agent memories
# Knowledge files & libraries live in the content domain — see cargo-content:
# cargo-ai content file list / cargo-ai content library list
Retrieve in the UI: agents live at app.getcargo.io/workspaces/<WORKSPACE_UUID>/agents/<AGENT_UUID>. Get <WORKSPACE_UUID> from cargo-ai whoami under workspace.uuid.
Quick reference
cargo-ai ai agent list
cargo-ai ai agent get <agent-uuid>
cargo-ai ai agent create --name <name> --icon-color blue --icon-face 🤖
cargo-ai ai agent update --uuid <agent-uuid> --name <name>
cargo-ai ai agent remove <agent-uuid>
cargo-ai ai release list --agent-uuid <uuid>
cargo-ai ai release get <release-uuid>
cargo-ai ai release get-draft --agent-uuid <uuid>
cargo-ai ai release update-draft --agent-uuid <uuid> --language-model-slug gpt-4o
cargo-ai ai release deploy-draft --agent-uuid <uuid>
cargo-ai ai template list # full detail; there is no `template get`
cargo-ai ai mcp-server list
cargo-ai ai mcp-server get <mcp-server-uuid>
cargo-ai ai mcp-server create --name "Internal Tools"
cargo-ai ai mcp-server update --uuid <mcp-server-uuid> --name "Updated Name"
cargo-ai ai mcp-server remove <mcp-server-uuid>
cargo-ai ai mcp-client connect --name "My MCP" --url https://mcp.example.com/sse
cargo-ai mcp # serve the platform MCP over stdio
cargo-ai mcp --server <mcp-server-uuid> # serve a curated workspace MCP server instead
cargo-ai ai memory list --scope agent --agent-uuid <uuid>
cargo-ai ai memory update --mem0-id <id> --scope agent --agent-uuid <uuid> --content "Updated memory"
cargo-ai ai memory remove --mem0-id <id> --scope agent --agent-uuid <uuid>
Agents
Agents are AI resources with configured instructions, a language model, actions, and optional resources.
Before creating an agent from scratch, check existing templates — they capture proven patterns for common use cases (lead research, classification, email drafting) and give you a ready-made system prompt, model, and temperature to start from:
cargo-ai ai template list # browse patterns — full detail, not a summary
# there is no `template get`: `list` already returns systemPrompt, temperature,
# languageModelSlug, actions and resources, so select the one you want
cargo-ai ai template list | jq '.templates[] | select(.slug == "<slug>")'
# List all agents
cargo-ai ai agent list
# Get a single agent (includes deployed release details)
cargo-ai ai agent get <agent-uuid>
# Create an agent
cargo-ai ai agent create \
--name "Lead Researcher" \
--icon-color blue --icon-face 🤖 \
--description "Researches leads and enriches data"
# Update an agent
cargo-ai ai agent update --uuid <agent-uuid> \
--name "Senior Lead Researcher" \
--description "Updated description"
# Move to a folder (find folder UUIDs via cargo-workspace-management)
cargo-ai ai agent update --uuid <agent-uuid> --folder-uuid <folder-uuid>
# Remove an agent
cargo-ai ai agent remove <agent-uuid>
Agent icon: --icon-color must be one of: grey, green, purple, yellow, blue, red. --icon-face is an emoji string.
Folders: Folder creation, listing, and management lives in cargo-workspace-management (cargo-ai workspaceManagement folder list/create/...). Use that skill to discover or create the <folder-uuid> you pass to --folder-uuid here.
Releases
Releases are versioned snapshots of an agent's configuration (system prompt, actions, resources, model, temperature). Agents execute against their deployed release.
# List releases for an agent
cargo-ai ai release list --agent-uuid <uuid>
# Get a specific release
cargo-ai ai release get <release-uuid>
# Get the current draft release (editable)
cargo-ai ai release get-draft --agent-uuid <uuid>
# Update the draft release
cargo-ai ai release update-draft --agent-uuid <uuid> \
--system-prompt "You are a lead research assistant..." \
--language-model-slug gpt-4o \
--temperature 0.3 \
--max-steps 10
# Deploy the draft release (makes it live)
cargo-ai ai release deploy-draft --agent-uuid <uuid> \
--integration-slug openAi \
--language-model-slug gpt-4o \
--actions '[]' \
--mcp-clients '[]' \
--resources '[]' \
--capabilities '[]' \
--suggested-actions '[]' \
--description "Added research actions"
--with-reasoning [true|false] on update-draft / deploy-draft turns reasoning mode on (bare flag = true) for models that support it.
Coding agents (--harness-slug, --repository)
A release with a harness runs as a coding agent: each turn works in a sandbox with a git checkout instead of a plain chat loop. Harness slugs: claudeCode, codex, openCode, deepAgents.
cargo-ai ai release deploy-draft --agent-uuid <uuid> \
--harness-slug claudeCode --integration-slug anthropic --language-model-slug <model-slug> \
--repository '{"connectorUuid":"<github-connector-uuid>","repository":"acme/app","defaultBranch":"main","rootDirectory":null}' \
--actions '[]' --mcp-clients '[]' --resources '[]' --capabilities '[]' --suggested-actions '[]'
--repository(JSON):connectorUuid(a GitHub connector — it identifies the user, it is not the identity the agent acts as),repositoryasowner/name,defaultBranch,rootDirectory,env([{key, type:"public", value}]or{key, type:"secret", secretValue}), andrunAsUserUuid— a service user whose temporaryCARGO_API_TOKENthe sandbox gets (the help omits it; see../cargo-workspace-management/SKILL.md→ "Service users"; your permissions must cover it or the call fails 403runAsUserNotFound/runAsUserNotPermitted).- The agent acts as the Cargo GitHub app, never as the connected user: it clones, pushes, comments and opens PRs as the app's installation. Install the app on the repo first — without it the turn fails. The sandbox's GitHub token is scoped to that one repository — any other repository is refused — lasts 1 hour, and is refreshed each turn; it is redacted from chat output but readable by the agent.
- It works on a branch
cargo/<short-name>, never pushes to the default branch, never force-pushes, and opens or updates the PR through its own PR tool, which links the PR to the chat. - A mention of the app on a PR the agent's chat opened continues that same chat — no trigger needed (skipped if the chat moved to another repository, or another agent opened the PR). Close the chat to stop it. The GitHub trigger adds
allPullRequests(answer mentions on any PR in the repo),fixFailedChecks(+maxCheckFixAttempts1–10, reset when someone mentions or reviews) andaddressReviews, all defaultfalse.
Per chat instead of per release. ai chat create --harness-slug … --repository … and ai message create (for the chat it auto-creates) take the same two flags; omitted, the agent's pinned release decides. They are set when the chat is created: passing either with --chat-uuid is a 400 — harnessSlug and repository are not allowed with chatUuid: they are set when the chat is created. Create a new chat to use another harness or repository.
A message sent to a chat that is still answering is queued: 202 with userMessage and no assistant message yet; the reply follows once the turn ahead finishes (chatClosed → 409, chatNotFound → 404). Sending and polling: ../cargo-orchestration/SKILL.md. In a project: defineAgent({ harness, repository }) — ../cargo-project/references/resources.md.
Structured output & heartbeat — not yet exposed as CLI flags
The release API payload (both draft/update and draft/deploy) accepts two fields that release update-draft / release deploy-draft do not surface as flags (verified against the CLI source — there is no --output / --output-schema or --heartbeat):
| Field | Shape | Purpose |
|---|---|---|
output | {"type":"text"} or {"type":"jsonSchema","jsonSchema": <standard JSON Schema object>} | Force the agent to return structured output matching a JSON Schema. |
heartbeat | {"intervalMinutes": number, "maxMessages": number, "prompt": string | null} | Periodically re-wake the chat (intervalMinutes) until it reaches maxMessages; prompt is the wake message (null = generic "continue"). |
The generic --options flag does not carry these — the API's options only holds {connectorUuidsByIntegrationSlug, modelUuidsByIntegrationSlug}. Until the flags ship, set these with a direct API call against the same endpoints the CLI uses:
# Structured (JSON Schema) output on the draft release
curl -sS -X PUT "$CARGO_BASE_URL/v1/ai/releases/draft/update" \
-H "Authorization: Bearer $CARGO_API_TOKEN" -H "Content-Type: application/json" \
-d '{"agentUuid":"<uuid>","output":{"type":"jsonSchema","jsonSchema":{"type":"object","properties":{"score":{"type":"number"}},"required":["score"]}}}'
# Deploy carries the same fields — POST .../v1/ai/releases/draft/deploy
draft/update is a partial update: fields you omit keep their current draft values. draft/deploy requires actions, mcpClients, resources, capabilities and suggestedActions in the body. File a workspaceManagement report (see ../cargo-workspace-management/SKILL.md) to request first-class --output / --heartbeat flags — this is the documented feedback channel for CLI/UI parity gaps.
Agent configuration workflow:
- Browse templates for inspiration:
cargo-ai ai template list— it returns each template in full (system prompt, model, temperature, actions), so pick the one closest to your use case straight out of that response - Create the agent:
cargo-ai ai agent create --name "..." --icon-color blue --icon-face 🤖 - Get the draft release:
cargo-ai ai release get-draft --agent-uuid <uuid> - Update the draft with configured actions, resources, prompt, model:
cargo-ai ai release update-draft --agent-uuid <uuid> ... - Deploy:
cargo-ai ai release deploy-draft --agent-uuid <uuid> ...
Templates
Templates are pre-built agent configurations that capture proven patterns for common use cases. Always check templates before designing an agent from scratch — they give you a ready-made system prompt, recommended language model, temperature, and tool configuration that you can adopt as-is or adapt.
# List available agent templates — each entry is complete, so this is the only
# call you need. There is no `template get` subcommand.
cargo-ai ai template list
# Inspect one by slug: filter the same response
cargo-ai ai template list | jq '.templates[] | select(.slug == "<slug>")'
Templates include a system prompt, actions, resources, and recommended model settings. Use them as a starting point and customize via release update-draft. See references/examples/templates.md for the full guide including an end-to-end example of creating an agent from a template.
Model and temperature guidance
| Use case | Recommended model | Temperature |
|---|---|---|
| Classification, extraction, scoring | gpt-6-luna or gpt-4o-mini | 0.0 – 0.2 |
| Research, summarization, analysis | gpt-6-sol or claude-sonnet-5 | 0.2 – 0.5 |
| Copywriting, personalization | claude-sonnet-5 or gpt-6-sol | 0.5 – 0.8 |
| Brainstorming, hardest reasoning | claude-opus-5-5 or gpt-6-astra (claude-fable-5-1 at the top end) | 0.7 – 1.0 |
The slug must be on the connector's live list: release update-draft and deploy-draft fail with languageModelNotFound otherwise (checked whenever the release has a connector — the draft's default is the OpenAI one, so an Anthropic slug needs --integration-slug anthropic --connector-uuid <uuid> alongside it). List what a connector offers, with each model's credits per 1,000 tokens and isReasoning, for free:
cargo-ai connection connector get-language-models <connector-uuid>
Price spans three orders of magnitude (gpt-6-luna 0.003 / 1k tokens, claude-sonnet-5 0.2, claude-opus-5-5 1.6, claude-fable-5-1 4), so read it before picking a model for a high-volume agent. claude-3-5-sonnet-latest is marked deprecated in Cargo's Anthropic model list — move agents off it.
Low temperature (0.0–0.2) = deterministic, consistent outputs. High temperature (0.7+) = creative, varied outputs. For production workflows processing thousands of records, prefer low temperature.
Knowledge for RAG (files & libraries)
Knowledge that grounds agent responses (retrieval-augmented generation, RAG) comes from the content domain — see cargo-content:
- Files — uploaded binaries (PDFs, CSVs, text).
- Libraries — collections that group files, either
native(workspace-managed) orconnector-backed (synced from an external source via an unstructured-data extractor).
Files and libraries moved out of
aiinto the top-levelcontentdomain in CLI ≥ 1.0.19 (cargo-ai content file …/cargo-ai content library …). The oldai file …commands are gone. Everything content-related now lives incargo-content.
Attaching knowledge to an agent
A file or library is inert until attached to an agent via the draft release's resources array and deployed. Upload files / build libraries in cargo-content, then wire them in here with release update-draft --resources … followed by release deploy-draft. See ../cargo-content/references/examples/files.md for the full upload → attach → deploy sequence.
Only indexed files are searchable. A file stored with indexMode: "none" — the default for content file put, workers, the writeFile node and agent writes — can be listed and read but not searched: capability_file_list marks it isSearchable: false, capability_file_search skips it, and capability_file_analyze refuses it. Attach upload-ed files (indexed by default) for RAG, or re-write the file with --index vectorStore.
Letting an agent write files
A file resource with "isReadOnly": false also grants capability_file_write on the folders it lists ({"kind":"folder","folderUuid":"…"} items; listed files stay read-only). Unset means read-only.
cargo-ai ai release update-draft --agent-uuid <agent-uuid> \
--resources '[{"kind":"file","slug":"outputs","name":"Outputs","description":null,"prompt":"Save each report here.","isReadOnly":false,"items":[{"kind":"folder","folderUuid":"<folder-uuid>"}]}]'
- The agent writes text it produced, ≤ 1,000,000 characters, to a relative path inside one of those folders (subfolders are created) — nowhere else in the workspace. With several writable folders it must name one.
- Every agent write is stored
private,indexMode: noneandmirrorToContext: false, even when it overwrites a file someone made public. It returns{ fileUuid, path, size, url }, whereurlis a 1-hour signed link anyone holding it can open. - A write overwrites the newest file of that name in that folder in place. Give the agent a dedicated output folder rather than one holding knowledge it reads.
- In a project:
defineAgent({ files: [{ items: [folder], readOnly: false }] })— see../cargo-project/references/resources.md.
MCP — two directions, don't mix them up
MCP (Model Context Protocol) runs both ways in Cargo, and the two surfaces are unrelated:
Publish — ai mcp-server | Consume — ai mcp-client | |
|---|---|---|
| What it is | A server your workspace exposes: the tools, agents, and data you choose to make callable | A connection to someone else's MCP server |
| Who calls it | Any MCP client — Claude Code, Claude Desktop, Cursor, ChatGPT | Your Cargo agents, during a chat or a workflow run |
| Wired via | cargo-ai mcp --server <uuid> (stdio bridge, below) | release update-draft --mcp-clients … |
Before building one, check whether the platform MCP already covers it. Cargo now serves a first-party MCP at https://mcp.getcargo.io/mcp — every workspace member, nothing to deploy — with a small fixed toolset for operating the workspace (whoami, get_usage, search_actions, get_action_schema, autocomplete_action, execute_action, execute_action_batch, get_run, get_batch, list_runs, list_models, describe_model, query_models, plus the read-only context tools map_context, search_context, browse_context, read_context). Hosted clients (ChatGPT connectors, Claude.ai, Cursor over HTTP) point at that URL and sign in with OAuth; the consent screen picks the workspace when the user belongs to several. ai mcp-server is for the other job: a curated, named subset — this tool, that agent, this filtered model — for a client that should see exactly that and nothing else.
Publishing a workspace MCP server
cargo-ai ai mcp-server list
cargo-ai ai mcp-server create --name "CRM tools" \
--actions '[{"slug":"<action-slug>","kind":"tool","toolUuid":"<tool-uuid>","templateSlug":null,"waitUntilFinished":true,"name":null,"description":null,"isBulkAllowed":false,"config":{}}]' \
--resources '[{"kind":"model","slug":"<slug>","name":"Accounts","description":null,"integrationSlug":"hubspot","modelUuid":null,"filter":null,"selectedColumnSlugs":null,"limit":null,"prompt":null,"isReadOnly":true}]'
cargo-ai ai mcp-server update --uuid <mcp-server-uuid> --name "Updated name"
cargo-ai ai mcp-server remove <mcp-server-uuid>
- Actions take
kind: "tool"orkind: "agent"— an agent can be exposed as a callable MCP tool, not just a tool.waitUntilFinishedcontrols whether the call blocks on the run. - Resources take
kind: "model"(a filtered, column-selected view of a model — keepisReadOnly: trueunless the client is meant to write) orkind: "file"(workspace files by UUID, see../cargo-content/SKILL.md). - Capabilities (
--capabilities, CLI ≥ 1.0.86) expose Cargo's own built-in tools on the server, alongside your actions and resources. JSON array of{slug, config}:The eleven slugs arecargo-ai ai mcp-server create --name "Research" \ --capabilities '[{"slug":"webSearch","config":{}}]'sandbox,memory,context,app,document,webSearch,action,model,file,documentationSearch, andsuggestedActions— the same set an agent release takes in its own--capabilities, which is why the examples above pass'[]'rather than omitting it. In a project the same field accepts a bare slug (capabilities: ["webSearch"]). updatereplaces--actions/--resources/--capabilitieswholesale rather than merging — read the current server withmcp-server get <uuid>and pass the full array back.
Serving it to a coding agent — cargo-ai mcp
Either server reaches any stdio MCP client through the CLI, using the credentials already on the machine. No token is copied into client config.
claude mcp add cargo -- cargo-ai mcp # the platform MCP (no setup)
cargo-ai ai mcp-server list # find a curated server's UUID
claude mcp add cargo -- cargo-ai mcp --server <uuid> # that curated server instead
# Cursor, Windsurf, and other stdio clients: same command as the server entry
With no --server, the bridge uses CARGO_MCP_SERVER_UUID when set, otherwise the platform /mcp. This changed: older CLIs resolved "the workspace's only MCP server" and failed with InvalidUsage when the workspace had none or several — a bare cargo-ai mcp now always has something to serve. stdout carries the MCP protocol and all logs go to stderr, so never print anything to stdout around it.
When to reach for this instead of the skills: the skills give an agent the whole CLI; an MCP surface gives it a bounded set with no shell. Use the bridge for in-conversation lookups and one-off actions, and the CLI for batches, workflows, schema changes, and anything with a cost gate. Full routing rule: ../cargo/SKILL.md → "These skills vs Cargo's MCP surfaces".
Consuming an external MCP server
cargo-ai ai mcp-client connect --name "My MCP" --url https://mcp.example.com/sse
cargo-ai ai mcp-client connect --name "My MCP" --url https://mcp.example.com/sse \
--disabled-tool-slugs "dangerous_tool,other_tool"
--authentication takes {"issuedAt": "...", "accessToken": "..."} or "null". Connected clients are attached to an agent through its release: release update-draft --mcp-clients …, then release deploy-draft.
Memories
Memories are pieces of information an agent stores from conversations for future reference. They are scoped to a user or to a specific agent (--scope user|agent; there is no workspace scope).
# List agent memories
cargo-ai ai memory list --scope agent --agent-uuid <uuid>
# List user-scoped memories
cargo-ai ai memory list --scope user
# Update a memory
cargo-ai ai memory update \
--mem0-id <id> \
--scope agent --agent-uuid <uuid> \
--content "Updated memory content"
# Remove a memory
cargo-ai ai memory remove \
--mem0-id <id> \
--scope agent --agent-uuid <uuid>
Chats, documents, votes, and prompt helpers
Sending messages and polling them is cargo-orchestration's job; these are the
housekeeping commands around a chat, plus two prompt-authoring helpers.
# Chats — list (filter by agent, release, user, or how the chat started), read, rename, delete
cargo-ai ai chat list --agent-uuid <uuid> --trigger-type schedule --limit 20
# --trigger-type: chat | connector | draft | web_extension | app | schedule | workflow
cargo-ai ai chat get <chat-uuid>
cargo-ai ai chat update --uuid <chat-uuid> --name "Q4 pipeline review"
cargo-ai ai chat remove <chat-uuid>
# Feedback on one assistant message, and the votes on a chat
cargo-ai ai vote upsert --chat-uuid <chat-uuid> --message-uuid <message-uuid> --is-upvoted false
cargo-ai ai vote list --chat-uuid <chat-uuid>
# Documents — the versioned text / code / image / sheet artifacts an agent writes in a chat
cargo-ai ai document get <document-uuid> # latest version
cargo-ai ai document list --uuid <document-uuid> --limit 10 # its versions
cargo-ai ai document create --uuid <document-uuid> --kind text --title "Brief" --content "…" # new version
cargo-ai ai document reset --uuid <document-uuid> --created-at <version-createdAt> # drop every later version
# Suggested follow-ups for a message (cache with --cache-key to avoid regenerating)
cargo-ai ai suggested-action generate --message-uuid <message-uuid> --agent-uuid <agent-uuid>
# Prompt helpers
cargo-ai ai prompt optimize --prompt "find companies in SF and enrich them"
cargo-ai ai prompt evaluate --prompt "<system prompt with {{…}} expressions>" --actions '[...]' --resources '[...]'
prompt optimizerewrites rough instructions into a structured system prompt (role, behavior, avoidances) with a fixed small model at temperature 0. Treat the result as a draft to edit, not a prompt to ship.prompt evaluatedoes not score anything (its help said it did before CLI 1.0.128). It renders the prompt: template expressions in it are resolved against the--actions,--resourcesand--capabilitiesyou pass, and the response is the prompt text the agent would actually receive. Use it to check that a system prompt's{{…}}references resolve before deploying a release.document resetis destructive — every version created after the one you name is deleted.list --uuidfirst to pick thecreatedAt.- A downvote is feedback the workspace keeps; it does not change the agent. Fixing the answer is a release change (prompt, model, resources).
Help
Every command supports --help:
cargo-ai ai agent create --help
cargo-ai ai release update-draft --help
cargo-ai ai mcp-server create --help
cargo-ai ai memory list --help
FAQ
What does the cargo-ai skill do?
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.
How do I install cargo-ai?
Run npx skills add https://github.com/getcargohq/cargo-skills --skill cargo-ai 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-ai/ (personal) or .claude/skills/cargo-ai/ (project).
Which AI agents can use cargo-ai?
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-ai safe to install?
Security partners have reviewed it: Gen Agent Trust Hub passed; Socket passed; Snyk passed. As with any skill, read the SKILL.md and bundled scripts before installing.
Who maintains cargo-ai?
It is published by getcargohq in getcargohq/cargo-skills. It has 10,013 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-gtm
getcargohq/cargo-skills
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
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 ai & agents skills
google-agents-cli-publish
google/agents-cli
This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).
google-agents-cli-eval
google/agents-cli
This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).
skill-creator
anthropics/skills
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
codex-pet
prime-skills/runcomfy-agent-skills
Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.
full-output-enforcement
leonxlnx/taste-skill
Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.
executing-plans
obra/superpowers
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available