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

cargo-diagnostics — скилл для Claude Code: разбор запусков Cargo

Скилл для послефактумного разбора: показывает, что именно сделал запуск Cargo или батч, на каком шаге сломалось и куда ушли кредиты.

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

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

Скилл разбирает один запуск узел за узлом, рисует граф исполнения и помечает упавший шаг. Если батч сыплется ошибками, он проходит по нему целиком и группирует сбои по корневой причине. Отдельный сценарий — расход кредитов: списание раскладывается до узла и провайдера.

Внутри три сценария-справочника: трассировка одного запуска, разбор ошибок батча и разбор стоимости плея. Каждый говорит, какие поверхности тянуть и в каком порядке: cargo-ai orchestration run get <run-uuid> даёт run.executions[] и runContext, отдельные команды trace и span — ошибки без SQL, cargo-ai orchestration query execute "<sql>" — агрегаты. Если UUID запуска нет, его находят от симптома, а не от идентификатора.

Нужен установленный @cargo-ai/cli из npm и вход: cargo-ai login --email присылает код письмом, есть --oauth в браузере и --token для CI. Атрибуция кредитов через billing usage get-metrics и billing subscription get работает только с токеном администратора. Без него вы получите трассировку и ошибки, но не разбивку затрат. Это граница между двумя режимами, и её стоит проверить до того, как звать скилл в отчёт по бюджету.

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

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

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

  • Разбери запуск 9f3c2a по узлам и покажи, где он упал
  • В этом батче половина строк пустая — сгруппируй ошибки по корневой причине
  • Почему этот плей так дорого стоит? Покажи расход кредитов по узлам

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

1Через Skills CLI (Vercel)

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

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

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

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

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

Вопросы о cargo-diagnostics

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

Выполните npx skills add getcargohq/cargo-skills --skill cargo-diagnostics -a claude-code, после чего файл скилла окажется в ~/.claude/skills/cargo-diagnostics/SKILL.md.

Что делает cargo-diagnostics?

Объясняет задним числом, что произошло в запуске или батче Cargo: трассирует узлы, группирует ошибки и раскладывает кредиты. Это слой толкования поверх команд CLI, а не отдельный движок.

Что нужно, чтобы скилл заработал?

Установленный @cargo-ai/cli и вход в аккаунт. Для разбивки затрат по узлам нужен токен с правами администратора, без него доступны только трассировка и разбор ошибок.

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

SKILL.md · MIT
---
name: cargo-diagnostics
description: "Explain what a Cargo run or batch actually did, after the fact — trace one run node by node, draw the graph it executed with the failing step marked, sweep a batch or play for errors grouped by root cause, and attribute credit spend down to the node and the provider. Triggers: \"why did this fail\", \"it succeeded but the output is wrong\", \"half my rows are empty\", \"why is this column blank\", \"what broke in this batch\", \"why did that cost so much\", \"which node is burning credits\", \"it worked yesterday\", \"these results look wrong\", \"it went down the wrong path\", \"this step never ran\", \"show me what the run did\". Skip when: setting up an alert for next time — use cargo-observability; just downloading the data — use cargo-analytics."
version: "1.6.0"
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 — Diagnostics

Forensic runbooks for workflow behavior: trace one run, sweep a batch for errors, profile a play's credit spend. This skill is the **interpretation layer** — the raw surfaces (`run get`, orchestration SQL, billing metrics) are documented in `cargo-orchestration` and `cargo-billing`; each runbook here tells you which of them to pull, in what order, and what each output shape means.

## 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`. Credit attribution steps (`billing usage get-metrics`, `billing subscription get`) need a token with **admin access**; everything else works with a standard token. 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.

## Which runbook?

```
What are you diagnosing?
│
├── One run / one record ("why did this record fail?",
│   "run succeeded but the output is wrong/empty")
│   └── references/run-trace.md
│
├── Many runs ("the batch has errors", "error rate spiked",
│   "which node keeps failing?")
│   └── references/batch-error-sweep.md
│
└── Cost ("this play is expensive", "where do the credits go?",
    "make this cheaper")
    └── references/play-optimize-credits.md
```

Rule of thumb: start with the **sweep** when you don't yet know which run to look at — it ends by handing you exemplar run UUIDs to feed into the **trace**.

**No run UUID at all** ("look at the last run", "the run for acme.com", "what did my play do in the editor")? That's [`references/run-trace.md`](references/run-trace.md) § 0, which resolves a symptom to a UUID. Note that `orchestration run list` without `--workflow-uuid` needs `--created-after` and a window of at most 30 days, so it cannot answer "the last run" on its own; orchestration SQL over `runs` takes no filter and can. Never conclude that run inputs and outputs are inaccessible because `run list` refused.

**Boundary with `cargo-analytics`:** analytics *measures and exports* ("what's the error rate?", "download the batch results", "export this segment"); this skill *explains* ("why is the error rate up?", "why is this record's output empty?"). A diagnosis often starts from an analytics signal (error count spiked, batch reports `failedRunsCount > 0`) and ends back in analytics — once the cause is fixed and runs re-executed, bulk retrieval goes through `run download-outputs` / `batch download` / `segment download`, all documented in `../cargo-analytics/SKILL.md`. This skill's evidence surfaces (`run get`, orchestration SQL, billing metrics) are for diagnosis, not bulk export.

## References

| Doc | What it covers |
| --- | --- |
| [`references/run-trace.md`](references/run-trace.md) | Find a run from a symptom when you have no UUID (§ 0), then walk it end-to-end: per-node executions, `runContext` outputs, branch routing, per-node credits and timing. |
| [`references/batch-error-sweep.md`](references/batch-error-sweep.md) | Find errored runs across a batch/play/workspace, group failures by root cause, pick exemplars, decide fix vs report. |
| [`references/play-optimize-credits.md`](references/play-optimize-credits.md) | Attribute credit spend to workflows and nodes, then apply the cost levers in priority order. Attributes the **execution charge** separately (§ 2b) — 0.01 credits per node execution, which `creditsUsedCount` does not carry and per-node attribution therefore misses. |

## The surfaces every runbook draws on

| Surface | Command | Gives you |
| --- | --- | --- |
| Run detail | `cargo-ai orchestration run get <run-uuid>` | `run.executions[]` (node-by-node trace), `runContext` (per-node output keyed by `nodeSlug`), `runComputedConfigs` (what each node was actually called with) |
| Traces | `cargo-ai orchestration trace list --started-after <iso> [--statuses error,degraded] [--workflow-uuid <uuid>]` · `trace count` (same filters) · `trace get <trace-uuid>` | One row per **trace** — everything one trigger set off across the run lineage (tool and agent child runs, hosted-worker invocations, a chat's assistant turns): `status` (`pending`/`error`/`degraded`/`success`), `rootRunUuid`, `rootRecordTitle`, `spansCount`, `failedSpansCount`, `creditsUsedCount`, `workerUuid`, `chatUuid`. `--started-after` is **required**. `trace get` returns the aggregate only — no spans |
| Spans | `cargo-ai orchestration span list --execution-started-after <iso> [filters]` · `span count` (same filters, minus `--search`/`--limit`) | Node executions without SQL. Filters: `--batch-uuid`, `--run-uuid`, `--parent-run-uuid`, `--workflow-uuid`, `--execution-statuses pending,success,error`, `--node-action-slug`, `--node-integration-slug`, `--node-slug`, `--node-kind native\|connector\|tool\|agent\|worker`, `--execution-title-or-error-message <ilike>`, `--record-title-or-id`, `--search` (list only: record title/id, execution title or error). `--execution-started-after` is **required** |
| Orchestration SQL | `cargo-ai orchestration query execute "<sql>"` | Aggregates over `runs`, `batches`, `spans`, `records` (ClickHouse; no schema prefix; workspace-scoped). The one way to list a trace's spans by id: `WHERE trace_uuid = '<uuid>'` |
| Billing metrics | `cargo-ai billing usage get-metrics --from <date> --to <date>` | Credit totals, filterable and groupable by `workflow_uuid`, `connector_uuid`, `agent_uuid`, `integration_slug`, `model_uuid` |
| Graph picture | `cargo-ai orchestration node diagram --run-uuid <uuid> --highlight <slug> --format ascii --raw` | The graph the run executed, with the failing node marked. Free, runs nothing |

**Draw the graph before explaining a routing bug.** For "it took the wrong branch"
or "this step never ran", the picture is the evidence, and it shows one thing
`run get` does not make obvious: the `on failure` edges. A step that looks skipped
is often one the run *reached* via a `fallbackChildUuid` edge, which means the
provider errored rather than returning nothing — a different diagnosis with a
different fix. Flags and the ASCII legend: [`../cargo-orchestration/references/node-diagram.md`](../cargo-orchestration/references/node-diagram.md).

**`degraded` is not `success`.** A trace is `degraded` when a root-run node errored and a `fallbackOnFailure` / fallback edge carried the run to completion — the run reports success, the failed span stays `error`. `error` means an errored root-run node with no next node stopped it. Child-run failures don't settle a trace's status; `pending` means any span at any depth is still running. Sweep `--statuses error,degraded` together: a degraded trace is a provider failure the graph absorbed, usually the same root cause as the errors.

Full query syntax, table columns, and caps: [`../cargo-orchestration/references/examples/queries.md`](../cargo-orchestration/references/examples/queries.md). Debugging field semantics: [`../cargo-orchestration/references/troubleshooting.md`](../cargo-orchestration/references/troubleshooting.md).

## Presenting findings

Follow [`../cargo/references/interaction.md`](../cargo/references/interaction.md): lead with the conclusion ("18 of 20 failures are one cause: the connector's token expired"), summarize evidence in a short table, never dump raw `run get` JSON or full query results into the conversation. Any fix that re-runs paid nodes goes through the pilot gate: re-run **10–20 records** first, report the observed cost and hit-rate, then ask the user to approve the rest quoting the **record count** and **credit estimate** — a diagnosis is not approval to re-bill the batch that produced it. Full spend rules in [`../cargo-gtm/references/cost-discipline.md`](../cargo-gtm/references/cost-discipline.md).

## When diagnosis dead-ends

If the evidence contradicts documented behavior (a field missing from `run get`, a query cap that doesn't match the docs, an error that makes no sense), file a report — that's the official channel and the team reads every one:

```bash
cargo-ai workspaceManagement report create \
  --title "<one-line summary>" \
  --description "<commands run, errorMessage verbatim, expected vs actual, UUIDs>"
```

© getcargo · MIT · getcargohq/cargo-skills

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
cmux-diagnostics manaflow-ai Скилл запускает проверку cmux: сокеты, хуки, восстановление сессий, настройки. Используй, когда уведомления не приходят, агент не возобновляется или нужна отчёт о здоровье системы. CX Codex +1 6 400установок cargo-workflows mohitmishra786 Скилл ведёт агента по воркспейсам Cargo, фичам, build.rs, кэшу сборки и аудиту зависимостей. Пригодится, когда Rust-проект разрастается до нескольких крейтов. CX Codex +1 558установок cargo-fuzz trailofbits Разворачивает cargo-fuzz в Rust-крейте и проводит через обвязку, санитайзеры и разбор падений. CX Codex +1 5 400установок ruflo-doctor ruvnet Скилл прогоняет диагностику установки Ruflo и показывает, что сломано: Node.js, npm, git, конфиг, демон, база памяти, ключи API, MCP-серверы. С флагом --fix чинит типовые поломки. CX Codex +1 755установок qwencloud-usage QwenCloud Скилл для работы с аккаунтом QwenCloud: вход и выход, расход токенов, биллинг, лимиты, логи вызовов и подписки. Пригодится, когда нужно узнать, почему запрос упал или сколько кредитов осталось. CX Codex +1 1 500установок build-perf-diagnostics dotnet Скилл разбирает binlog и Performance Summary, чтобы найти, почему сборка .NET идёт медленно. Нужен, когда причина тормозов непонятна. CX Codex +1 3 500установок

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

cargo-content Управляет файлами воркспейса Cargo: загружает документы для RAG, организует библиотеки знаний и даёт ссылки на хранилище по путям. CX Codex +1 9 700установок cargo-hosting Скилл учит агента создавать, собирать и выкатывать статические веб-приложения и edge-воркеры через Cargo CLI. Пригодится, когда нужно быстро получить рабочий URL для дашборда или вебхука. CX Codex +1 9 700установок cargo-cdk Скилл-заглушка для перехода на cargo-project. Он перенаправляет агента на новое имя навыка после переименования в CLI cargo-ai. CX Codex +1 8 800установок cargo-quickstart Проводит первое демо Cargo: ищет лидов по описанию клиента и показывает расходы. Помогает проверить сервис и сохранить поиск как повторяемый сценарий. CX Codex +1 8 800установок cargo-observability Настраивает фоновые проверки воркспейса Cargo и запускает действия агента при сбоях. Пригодится для контроля ошибок в пайплайнах и свежести данных. CX Codex +1 6 200установок cargo-segmentation Скилл помогает создавать и проверять сегменты — сохранённые фильтры записей в Cargo. Используйте его, чтобы выбрать аудиторию для запуска, триггера или экспорта. CX Codex +1 6 000установок cargo-mailbox-management Скилл для работы с отправляющими ящиками Cargo: заводит инбоксы на домене, прогревает их и читает ответы. Нужен, когда рассылка идёт через Cargo. CX Codex +1 5 100установок cargo-mcp Скилл учит агента работать с облачным сервером Cargo через протокол MCP без установки CLI. Пригодится для точечного запуска действий и проверки баланса кредитов прямо в чате. CX Codex +1 4 600установок

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

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