Files
getcargohq__cargo-skills/cargo/references/use-cases.md
Auree Aubert aead4ddc20 Search for actions, and config stopped shouting (#115)
* Cargo has a first-party MCP, and `config` stopped shouting

Tracks the platform-MCP branch in the CLI repo: a first-party MCP server at
`/mcp`, a new `orchestration action list`, and `config` split off the top-level
action type. Two of those three contradict sentences this bundle stated as fact.

- The router, `cargo-ai`, and the glossary all said there is no first-party
  Cargo MCP server. There is one now, at `mcp.getcargo.io/mcp`, with a fixed
  operate-the-workspace toolset. Both surfaces — platform and curated — are
  documented, and the routing rule they exist for is unchanged.
- `cargo-ai mcp` with no `--server` now bridges the platform MCP rather than
  resolving "the workspace's only MCP server". Same command, different server
  by CLI version, so it is in the gotchas table.
- New `orchestration action list <keywords>`: free, searches connector, native,
  tool, and agent actions in one call, and returns a ready `action` object with
  `connectorUuid` resolved plus the action's credit costs.
- `config` is optional on execute/execute-batch and still required on nodes,
  alerts, play health actions, and get-output-schema. The dangerous half is the
  deleted guard: misplaced inputs are now dropped silently and the action runs
  with none.
- Nine documents were telling agents to do exactly that. The four LLM playbooks,
  the prompt-library index, and three GTM recipes put `model`/`advancedSettings`/
  `output` (or `customerId`, `spreadsheetId`) in the action's `config`; all now
  put inputs in `--data`/`--records`. The ads recipe also loses two
  `execute-batch --model-uuid --filter` calls against flags that do not exist.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TBfa73ishJJRe4pccyhTAa

Co-authored-by: Auree Aubert <aureeaubert@users.noreply.github.com>

* Drop `config` from every top-level action, and lead with action search

The platform-MCP work shipped while this PR was open — CLI 1.0.66 is on npm and
the platform MCP answers at mcp.getcargo.io/mcp — so the hedging this branch was
written with ("newer backends accept…", "stays valid on any version") is now
just the rule.

- `config` is gone from 272 execute / execute-batch examples across 79 files.
  That is the shape `action list` returns, so a search result pastes straight
  into a run. Nodes, alert `--actions`, play `healthAlertActions`, and agent /
  MCP-server `--actions` keep theirs; the strip was scoped around them.
- `get-output-schema` is the exception and still requires `config` — verified
  live: the action object from `action list` fails 400 at `action.config`. The
  CLI's own help examples for that command omit it and therefore all 400. It is
  now a gotcha row, and those examples keep `"config": {}` on purpose.
- `connection action search` shipped in 1.0.36 and no skill had ever mentioned
  it. cargo-connection now opens with both searches and a table for choosing:
  `action list` by default, `action search` for `--credits-only` and
  `--category`. `integration list` / `integration get` drop to what they are
  good at — the integration, and the schema of an action already picked.
- Removed a phantom command: `connection integration list-actions` has never
  existed, and cost-discipline.md was recommending it as a free lookup.
- cargo-mcp gains the one config rule that surface needs: pass the action object
  as-is, never with a config — `get_action_schema` supplies the empty one, which
  makes MCP safer here than the CLI.

Verified against the live workspace at 1.0.66: a config-less `action execute`
returns status success at 0 credits, and `get-output-schema` without `config`
returns 400.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TBfa73ishJJRe4pccyhTAa

* Fix the strip's leftovers, and bump the router so it actually ships

An audit of the 272-example strip turned up one real defect and a set of
phrasings the strip left behind, plus a packaging bug that would have made the
router's half of this PR a no-op.

- `cargo/SKILL.md` was still at 1.22.0, the version main already publishes, so
  its 14 changed lines — including both new critical rules and both new gotcha
  rows — would have been skipped at publish. Bumped to 1.23.0, plugin manifests
  follow.
- `guides/writing-outreach.md` still declared the action shape as
  `integrationSlug + actionSlug + config: {}` directly above an example whose
  config had been stripped. Every sibling "Action shape" line had been rewritten;
  this one was missed.
- Seven places said the action's config "is empty" or "stays empty" where the
  rule is now that there is no config key at all. Normalised, including the
  deliberate contrast in cargo-observability, where alert actions do require one.
- The report template in cargo-workspace-management modelled the old shape in a
  copyable `action execute` string, and cited `config.portalId required` as the
  symptom. Both corrected.
- perplexity's `searchContextSize` is an input, not a "config cost lever" — the
  same rewrite had moved it into `advancedSettings` in `--records`.

Verified clean afterwards: no execute example retains a config, no
get-output-schema example lost one, no node/alert/agent/mcp-server action lost
one, and every JSON block still parses.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TBfa73ishJJRe4pccyhTAa

---------

Co-authored-by: Auree Aubert <aureeaubert@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-27 16:42:39 -07:00

5.1 KiB

End-to-end use cases

Worked recipes showing which skills to load and the command sequence for common Cargo scenarios. Use these as a starting point — each links to the relevant skill docs for the full per-command reference.

1. Enrich a single company (simplest path)

Skills needed: cargo-orchestration

1. orchestration action execute            → run a connector action on one record
   --action '{"kind":"connector","integrationSlug":"clearbit","actionSlug":"company_enrich"}'
   --data '{"domain":"acme.com"}' --wait-until-finished

2. Enrich a list of companies and push to CRM

Skills needed: cargo-storage, cargo-connection, cargo-orchestration, cargo-analytics

1. storage model get-ddl                   → get exact table name
2. connection connector list               → get enrichment + CRM connector UUIDs
3. connection integration get <slug>       → discover third-party action slugs (e.g. HubSpot, Clearbit)
4. orchestration tool list                 → find the enrichment tool
5. orchestration batch create      → run on a segment of companies
6. orchestration batch get         → poll until status is terminal
7. analytics run download          → export results

3. Score leads with AI and update the model

Skills needed: cargo-ai, cargo-orchestration, cargo-billing

1. ai agent list                   → find or create the scoring agent
2. ai agent create                 → configure instructions, model, temperature 0.0
3. orchestration play list         → find the scoring play
4. orchestration batch create      → trigger on a segment of new leads
5. orchestration batch get         → poll until status is terminal
6. billing usage get-metrics       → check credit consumption

4. Build a custom enrichment workflow from scratch

Skills needed: cargo-connection, cargo-orchestration

1. connection connector list               → get connector UUID
2. connection integration get <slug>       → get actionSlug for the third-party service
3. orchestration node validate --nodes     → validate graph before running
4. orchestration run create --nodes        → run with custom node graph
5. orchestration run get                   → poll to terminal state

5. Monitor workflow health and alert on errors

Skills needed: cargo-orchestration, cargo-analytics

1. orchestration tool list / play list    → discover workflowUuid
2. analytics run count --statuses error   → count errors in period
3. analytics run get-metrics              → get success/error rate breakdown
4. analytics run download --statuses error → download failed runs for inspection

6. Bootstrap a fresh workspace

Skills needed: cargo-workspace-management, cargo-storage, cargo-connection, cargo-ai

1. workspaceManagement token create --name <label>   → create a dedicated, named API token
2. workspaceManagement role list             → discover available roles
3. workspaceManagement user create           → invite team members
4. storage model create            → create Companies and Contacts models
5. storage column create           → add columns (name, domain, employee_count, etc.)
6. storage relationship set        → link Contacts → Companies
7. connection connector create     → connect enrichment and CRM integrations
8. ai agent create                 → configure an AI agent for research or scoring
9. workspaceManagement folder create         → organize plays and tools into folders

Credentials in step 1: the token create response is the only time the token value is shown — hand it to the user for a secrets manager (GitHub Secrets, AWS Secrets Manager) rather than echoing it into a file, a commit, or the transcript. Scope it to what the job needs: most of this bootstrap requires admin, but the token that later runs plays or batches does not. Steps 1 and 3 change who can see and touch workspace data, so confirm the token's scope and the invite list with the user before running them.

7. Export and analyze segment data

Skills needed: cargo-storage, cargo-analytics

1. storage model list              → get modelUuid
2. analytics segment download      → export with filter and sort
   --filter '{"conjonction":"and","groups":[
     {"conjonction":"and","conditions":[
       {"kind":"string","columnSlug":"country","operator":"is","values":["US"]}
     ]}
   ]}'
   --sort '[{"columnSlug":"created_at","kind":"desc"}]'

8. Author and audit the workspace's GTM context repo

Skills needed: cargo-context

1. context runtime browse                          → see the domain layout
2. context runtime read --path persona/_template.md → grab the template for the target domain
3. context runtime write --path persona/<slug>.md  → add the entry (frontmatter + body, pushes to default branch)
4. context graph get | jq …                        → audit cross-refs, find plays missing proof, etc.

See ../../cargo-context/references/examples/authoring.md and ../../cargo-context/references/examples/graph-queries.md for full recipes.