К основному содержанию
скилл CX Codex

cargo-billing — скилл для Claude Code: что делает и как установить

Проверяет остаток кредитов Cargo, расходы на воркфлоу и статус подписки прямо через агента. Помогает оценить бюджет перед запуском больших пачек задач.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add getcargohq/cargo-skills --skill cargo-billing -a claude-code
Открыть на GitHub

Что делает cargo-billing

Скилл подключает ИИ-агента к утилите @cargo-ai/cli для управления биллингом Cargo. Агент запрашивает метрики за выбранный период, группирует траты по воркфлоу, коннекторам или моделям и выгружает историю счетов. Через него же можно проверить доступные кредиты или обновить способ оплаты.

Для расчёта затрат скилл предлагает запустить одну тестовую запись, замерить расход кредитов и прибавить сбор платформы в 0.01 кредита за каждый шаг выполнения. Без учёта шагов в графах с большим числом узлов смета выйдет заниженной.

Каждая операция требует токен с правами администратора рабочего пространства (billing:read или billing:write). Если прав не хватает, CLI выдаёт ошибку Not authenticated: unauthorized. Это проблема разрешений, а не истёкшей сессии. Для поиска конкретного дорогого узла внутри сценария инструмент не предназначен: авторы советуют брать для этого cargo-diagnostics.

Какие задачи решает

  • рассчитать расход кредитов перед запуском пакетной обработки
  • проверить баланс доступных кредитов и тарифный план Cargo
  • сгруппировать расходы по воркфлоу, моделям или коннекторам
  • получить историю выставленных счетов и обновить платёжную карту

Примеры запросов агенту

  • Сколько кредитов Cargo у меня осталось в этом месяце?
  • Покажи расходы на воркфлоу с 2025-01-01 по 2025-01-31 с группировкой по workflow_uuid
  • Хватит ли текущего баланса кредитов на пакетную обработку 5000 записей?

Как установить cargo-billing

1Через Skills CLI (Vercel)

npx skills add getcargohq/cargo-skills --skill cargo-billing -a claude-code

2Вручную: положить файлы

~/.claude/skills/cargo-billing/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/cargo-billing/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора19

cargo-workspace-management Скилл для управления рабочим пространством Cargo через CLI: приглашения, токены, папки, роли и отчёты команде Cargo. CX Codex +1 9 900установок cargo-context Управляет базой знаний GTM в формате markdown через Git. Нужен агенту, чтобы читать и обновлять профили клиентов, возражения и позиционирование. CX Codex +1 9 800установок cargo-ai Скилл для работы с ИИ-агентами в Cargo прямо из чата: создать агента, задать модель и промпт, подключить базу знаний и MCP-серверы, задеплоить релиз. CX Codex +1 9 900установок cargo-storage Скилл для работы с данными внутри рабочего пространства Cargo: модели, датасеты, колонки, связи и SQL-запросы. Пригодится, когда агенту нужно заглянуть в схему или выгрузить записи. CX Codex +1 9 900установок cargo-analytics Скилл вытаскивает результаты прогонов Cargo и считает, что прошло успешно, а что упало. Пригодится, когда нужен файл с данными или цифры по ошибкам. CX Codex +1 9 900установок cargo-orchestration Скилл запускает действия, воркфлоу и батчи в Cargo через CLI, рисует графы узлов и отвечает на SQL-запросы по таблицам запусков. CX Codex +1 9 900установок cargo-gtm Направляет агента в B2B-разведке компаний, обогащении контактов и подготовке персонализированных рассылок через Cargo. CX Codex +1 9 900установок cargo-content Управляет файлами воркспейса Cargo: загружает документы для RAG, организует библиотеки знаний и даёт ссылки на хранилище по путям. CX Codex +1 9 700установок

Похожие

credit-based-billing dodopayments Скилл для биллинга на кредитах в Dodo Payments: пулы, гранты, списания по метрикам, перенос остатка и оверэдж. CX Codex +1 655установок convex-billing convex Подключает подписки Stripe к приложению на Convex через компонент @convex-dev/stripe: настраивает сессии оплаты, вебхуки и серверную проверку статуса. CX Codex +1 35 800установок huawei-cloud-billing-scout huaweicloud Анализирует расходы и баланс в Huawei Cloud BSS только на чтение. Помогает разобраться в списаниях через утилиту hcloud без риска изменить баланс или удалить ресурсы. CX Codex +1 17 100установок clerk-billing clerk Скилл для работы с Clerk Billing: тарифы, чекаут, ограничение функций по плану и вебхуки подписок. CX Codex +1 16 900установок billing-automation Seth Hobson Скилл помогает проектировать подписочный биллинг, счета и возврат неуспешных платежей. Подойдёт для SaaS и сервисов с регулярными списаниями. CX Codex 11 245установок aws-billing-and-cost-management aws Анализирует расходы в AWS, ищет резервы экономии и настраивает бюджеты. Помогает проверить аномалии цен, оценить Savings Plans и снизить затраты на инфраструктуру. CX Codex +1 9 000установок

Рядом в теме «Финансы и бизнес»

Всё по теме «Финансы и бизнес» →

Вопросы о cargo-billing

Как установить cargo-billing в Claude Code?

Выполните команду npx skills add getcargohq/cargo-skills --skill cargo-billing -a claude-code. Для работы потребуется установленный пакет @cargo-ai/cli и вход через cargo-ai login.

Что делает скилл cargo-billing?

Он проверяет подписку и остаток кредитов Cargo, выгружает статистику трат по ресурсам и помогает оценить стоимость пакетных запусков.

Почему CLI возвращает ошибку unauthorized при активном входе?

Командам скилла нужен токен с административным доступом к пространству (billing:read для чтения и billing:write для изменений). Без этих прав CLI сообщает Not authenticated: unauthorized.

Исходный текст

SKILL.md · MIT
---
name: cargo-billing
description: "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."
version: "2.1.2"
compatibility: Requires @cargo-ai/cli (npm). Sign in or create an account with `cargo-ai login --email` (emailed code, no browser), `--oauth`, or an API token
homepage: https://github.com/getcargohq/cargo-skills
metadata:
  author: getcargo
  openclaw:
    requires:
      bins:
        - cargo-ai
    install:
      - kind: node
        package: "@cargo-ai/cli@latest"
        bins:
          - cargo-ai
    homepage: https://github.com/getcargohq/cargo-skills
---

# Cargo CLI — Billing

Billing and credit management: pulling usage metrics, checking subscription status, viewing invoices, and managing credits.

> See `references/response-shapes.md` for full JSON response structures.
> See `references/troubleshooting.md` for common errors and how to fix them.
> See `references/examples/usage-metrics.md` for usage metric and subscription examples.

## Bootstrap

Already signed in (`cargo-ai whoami` returns a workspace)? Skip to the next section.

```bash
npm install -g @cargo-ai/cli            # no global install? prefix every command with `npx @cargo-ai/cli`
cargo-ai login --email [email protected]  # 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`. **Admin-only:** every command in this skill requires a token with admin access on the workspace (the `billing:read` permission; card, plan and top-up changes need `billing:write`). A token without it gets a 401 `{"reason":"unauthorized"}`, which the CLI reports as `Not authenticated: unauthorized`: that is a permission gap, not an expired login. When the full skill bundle is installed, [`../cargo/references/prerequisites.md`](../cargo/references/prerequisites.md) adds the CLI version pin, token scopes, and the admin-only surface.

## Discover resources first

Usage metrics can be filtered and grouped by resource UUID. Discover them before querying.

```bash
cargo-ai orchestration play list            # all plays (name, workflowUuid)
cargo-ai orchestration tool list            # all tools (name, workflowUuid)
cargo-ai ai agent list                     # all agents (uuid, name)
cargo-ai connection connector list          # all connectors (uuid, name, integrationSlug)
cargo-ai storage model list                # all models (uuid, name, slug)
```

## Quick reference

```bash
cargo-ai billing usage get-metrics --from <YYYY-MM-DD> --to <YYYY-MM-DD>
cargo-ai billing usage get-metrics --from <YYYY-MM-DD> --to <YYYY-MM-DD> --group-by workflow_uuid
cargo-ai billing subscription get
cargo-ai billing subscription get-invoices
cargo-ai billing subscription update-payment-method --card-number <number> --card-exp <MM/YYYY> --card-cvc <cvc>
cargo-ai billing subscription create-portal-session
```

## Estimating cost before running a batch

Before triggering a large batch, estimate credit consumption to avoid unexpected charges.

**Step 1 — Check current credit balance:**

```bash
cargo-ai billing subscription get
# → subscriptionAvailableCreditsCount + additionalAvailableCreditsCount - subscriptionCreditsUsedCount = remaining credits
```

**Step 2 — Estimate cost from a sample run:**

Run the workflow on a single record first and measure credits consumed:

```bash
# Run on one record
cargo-ai orchestration run create --workflow-uuid <uuid> --data '{...}'
# → poll to completion

# Check credits used for that run
cargo-ai billing usage get-metrics \
  --from <today> --to <today> \
  --workflow-uuid <uuid>
# → metrics[].items[] for that workflow (the response has one key, `metrics` — there is no `totalUsage`)
```

**Step 3 — Project batch cost:**

```
estimated_cost = (credits_per_record × number_of_records)      # provider actions
               + (nodes_per_record × number_of_records / 100)  # execution charge
```

The second term is the 0.01-credit-per-execution platform charge ("The execution charge" below). A sample run measures it for free — the record's execution count is `length(run.executions)`, or one row of `--unit orchestration.executions` for the sample window. Leave it out and every step-heavy graph is under-quoted.

Compare against `subscriptionAvailableCreditsCount + additionalAvailableCreditsCount - subscriptionCreditsUsedCount` before proceeding.

**Step 4 — Monitor during the batch:**

```bash
# Check running costs mid-batch
cargo-ai billing usage get-metrics \
  --from <start-date> --to <today> \
  --workflow-uuid <uuid>
```

**Cost levers:**

| Action | Effect |
|---|---|
| Use a cheaper model (e.g. `gpt-4o-mini` vs `gpt-4o`) | Significant reduction for AI nodes |
| Add `filter` nodes early in the graph | Skip ineligible records before expensive connector calls |
| Set `fallbackOnFailure: false` | Stop the run early on failures instead of continuing to downstream nodes |
| Reduce `maxSteps` on agent nodes | Limit how many tool calls an agent can make per record |
| Cut node count — collapse chained `variables`, fold branch pairs into one `switch` | 0.01/execution × records; the only lever for a graph whose spend is steps, not providers |

> To find out **which** node or provider dominates a play's spend before picking a lever, follow the attribution runbook in [`../cargo-diagnostics/references/play-optimize-credits.md`](../cargo-diagnostics/references/play-optimize-credits.md).

## Usage metrics

Pull credit and usage data for any time range, optionally filtered and grouped.

```bash
# Basic usage for a period
cargo-ai billing usage get-metrics --from <start-date> --to <end-date>

# Group by dimension
cargo-ai billing usage get-metrics --from <start-date> --to <end-date> --group-by workflow_uuid
cargo-ai billing usage get-metrics --from <start-date> --to <end-date> --group-by connector_uuid
cargo-ai billing usage get-metrics --from <start-date> --to <end-date> --group-by integration_slug
cargo-ai billing usage get-metrics --from <start-date> --to <end-date> --group-by model_uuid
cargo-ai billing usage get-metrics --from <start-date> --to <end-date> --group-by agent_uuid

# Filter by specific resource
cargo-ai billing usage get-metrics --from <start-date> --to <end-date> --workflow-uuid <uuid>
cargo-ai billing usage get-metrics --from <start-date> --to <end-date> --agent-uuid <uuid>
cargo-ai billing usage get-metrics --from <start-date> --to <end-date> --connector-uuid <uuid>
cargo-ai billing usage get-metrics --from <start-date> --to <end-date> --integration-slug <slug>

# One unit at a time (the fourth accepted value, hosting.events, counts hosted worker events)
cargo-ai billing usage get-metrics --from <start-date> --to <end-date> --unit billing.credits
cargo-ai billing usage get-metrics --from <start-date> --to <end-date> --unit orchestration.executions
cargo-ai billing usage get-metrics --from <start-date> --to <end-date> --unit storage.records
```

`--group-by` values: `workflow_uuid`, `connector_uuid`, `model_uuid`, `integration_slug`, `agent_uuid`, `user_uuid`.

Available filters: `--workflow-uuid`, `--model-uuid`, `--connector-uuid`, `--integration-slug`, `--slug`, `--agent-uuid`. Combine with `--group-by` and `--unit`.

**Spend per member.** `--group-by user_uuid --unit billing.credits` attributes credits to the member who triggered the run, batch or agent message. Usage recorded before attribution shipped (October 2026) carries no user, so earlier months don't split by member. The API also filters to one member (`GET /v1/billing/usage/metrics?userUuid=<uuid>&…`); the CLI has no `--user-uuid` flag, so group and read that member's row instead. Admins can set a per-member monthly cap (`monthlyCreditsLimit`, from the API or Settings → Users in the web app; see `cargo-workspace-management` → Users). A member who reaches it has new credit-consuming work refused until the next UTC month. When a member's runs start failing for lack of credits while the workspace balance is healthy, read this breakdown for that member before blaming the balance.

### The usage units

`--unit` takes exactly `billing.credits`, `orchestration.executions`, `storage.records`, or `hosting.events` — anything else is a `400` that lists them. **With no `--unit`, the units come back interleaved in the same `items[]` array**, and their `count` fields are not the same quantity. Read the unit off the slug:

| Unit | Slugs in `items[]` | What `count` is |
|---|---|---|
| `billing.credits` | `integration.<slug>.action.<action>`, `native.<action>`, `integration.<slug>.chat`, `integration.<slug>.extractor.<name>` | Credits (fractional) |
| `orchestration.executions` | `success`, `error` | **Node executions**, counted one-for-one — not credits |
| `storage.records` | `insert` | Records written |

An unqualified call that shows `{"slug":"success","count":1043}` next to `{"slug":"integration.peopleDataLabs.action.queryPeople","count":174}` is reporting 1,043 *executions* beside 174 *credits*. Pass `--unit` whenever the number is going into an estimate.

### The execution charge

**Every node execution bills 0.01 credits — 1 credit per 100 executions.** It applies to every node kind and every node, including the structural natives that carry no provider price: `branch`, `filter`, `switch`, `split`, `group`, `variables`, `start`, `end`. There is no free step in a workflow.

This charge is **not attributed per node**. `run get` → `executions[].creditsUsedCount` and the `spans.execution_credits_used_count` column both carry the *provider* cost alone, and read `0` on a native node that nonetheless billed. Node-by-node attribution therefore under-counts every graph, and the shortfall grows with step count, not with spend.

The only surface that shows it:

```bash
cargo-ai billing usage get-metrics --from <YYYY-MM-DD> --to <YYYY-MM-DD> --unit orchestration.executions
# → items[] = [{"slug":"success","count":<executions>}, {"slug":"error","count":<executions>}]
# credits = (success + error) / 100
```

Cross-check against the runtime tables, which agree row-for-row:

```bash
cargo-ai orchestration query execute \
  "SELECT execution_status, count() AS executions, count() / 100 AS credits
   FROM spans WHERE execution_started_at >= '<YYYY-MM-DD>' GROUP BY execution_status"
```

**Why it matters for estimates.** A graph's cost has two terms:

```
credits = (provider cost per record × records) + (nodes per record × records ÷ 100)
```

The second term is invisible in the credits cost table, which prices *actions*, not *steps*. It is small next to an action-heavy play (a LinkedIn enrich on every record dwarfs its 8 steps) and dominant on step-heavy, action-light ones — a 12-node routing sweep over 20,000 records is 2,400 credits with no provider call at all. Errored executions bill too, so a graph that fails late bills its whole prefix.

**Tools fan out.** A tool node is one execution *plus* every node inside the tool's own graph, each billed separately. Extracting a subgraph into a tool is a debuggability win, not a cost saving — it adds one execution per record on top of what the internals already cost. When a graph's execution count exceeds its visible node count, tool nodes are the first place to look: group by `node_slug` in `spans` to find them.

## Subscription and credits

```bash
cargo-ai billing subscription get                    # current plan, credits used/available, period dates
cargo-ai billing subscription get-invoices            # invoice history (amounts in cents)
cargo-ai billing subscription get-credit-card         # card on file
cargo-ai billing subscription update-payment-method   # add or replace the card (see below)
cargo-ai billing subscription create-portal-session   # Stripe portal URL for self-service billing
```

Remaining credits = `subscriptionAvailableCreditsCount + additionalAvailableCreditsCount - subscriptionCreditsUsedCount` from `subscription get`.

**Note:** Invoice amounts are returned in cents. Divide by 100 for the dollar value.

### The free tier

A new account starts with **100 free credits and no card on file**. When `subscription get` shows a fresh or near-fresh balance, answer cost questions against that budget rather than as an abstract number — "you've used 12 of your 100 free credits" is the useful answer to "how am I doing?", and it is also the honest one when the user is deciding whether to keep going.

What 100 credits buys, as ballpark anchors (per-action costs in [`../cargo-gtm/references/credits-cost-table.md`](../cargo-gtm/references/credits-cost-table.md)):

| Work | Cost | 100 credits ≈ |
|---|---|---|
| Source leads — `salesNavigator.searchLeads` | 0.2/record | ~500 leads |
| Enrich from a LinkedIn URL + verified email — `aiArk.enrichPerson` | 0.1 | ~1,000 people |
| Verify an email — `waterfall.verifyEmail` | 0.1 | ~1,000 checks |
| Full contact enrichment — `waterfall.enrichContact` | 2 | ~50 contacts |
| Find a phone — `FullEnrich.findPhone` | 6 | ~16 numbers |

The [quickstart demo](../cargo-quickstart/SKILL.md) spends about **5**. Phone lookups are the fastest way to burn a free tier, so phone is the **guarded lever**: the escalation tier runs 3–7 credits/record, ~10× email, and never belongs in a default chain — it enters a plan only on explicit user request, on qualified leads only. Full spend rules in [`../cargo-gtm/references/cost-discipline.md`](../cargo-gtm/references/cost-discipline.md).

### Adding a card

A workspace holds exactly one card. `update-payment-method` sets it, whether or not one is already on file, and takes the details three ways.

```bash
# Card details — no browser, nothing to hand off
cargo-ai billing subscription update-payment-method \
  --card-number 4242424242424242 --card-exp 12/2030 --card-cvc 123

# Same, but keeps the number out of shell history and the process list
echo '{"number":"4242424242424242","expMonth":12,"expYear":2030,"cvc":"123"}' \
  | cargo-ai billing subscription update-payment-method --card-stdin

# No card details — prints a Stripe-hosted form URL and waits for the card to land
cargo-ai billing subscription update-payment-method
```

**Prefer `--card-stdin`.** Anything passed as a flag is visible in shell history and to any process that can read the process list. Card details go from your machine straight to Stripe in exchange for a token; they never reach the Cargo API, and no output prints them.

**Never invent card details, and never reuse a number from elsewhere in the conversation.** Ask the user for them, or use the no-argument form and hand them the URL.

The no-argument form is the fallback when you have no details to submit: it prints a URL that opens directly on the card form, then polls until the card changes (`--timeout`, `--poll-interval`, `--no-open`). Relay that URL to the user — it works over SSH and in sandboxes.

Either way the card is verified against the issuer before it becomes the default, so a card that cannot be charged fails here rather than silently at the next renewal.

| Failure | What it means | What to do |
|---|---|---|
| `cardDeclined` + `declineCode` | The issuer refused the verification | Read `declineCode`. On a spend-limited virtual card, `insufficient_funds` or a limit code means the budget or merchant restrictions rule us out — ask the cardholder to raise it |
| `authenticationRequired` | The card wants 3-D Secure, which needs the cardholder present | Re-run with no arguments and hand the user the hosted-form URL |
| `paymentMethodNotFound` | The details did not resolve to a usable card | Re-check the number and expiry with the user |

Card updates are rate-limited to **10 per hour per workspace** (shared with setup intents). Retrying a declined card burns that budget — fix the cause rather than looping.

## Help

Every command supports `--help`:

```bash
cargo-ai billing usage get-metrics --help
cargo-ai billing subscription get --help
cargo-ai billing subscription get-invoices --help
```

© getcargo · MIT · getcargohq/cargo-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой