cost-export — скилл для Claude Code: что делает и как установить
Выгружает телеметрию расходов агента в формате Prometheus textfile или отправляет JSON через вебхук для внешнего мониторинга.
npx skills add ruvnet/ruflo --skill cost-export -a claude-codeЧто делает cost-export
Скилл извлекает записи session-* и budget-config-* из пространства cost-tracking в AgentDB и готовит их для внешних систем мониторинга вроде Grafana или Datadog. Без выгрузки эти показатели остаются изолированными внутри агента. По умолчанию скрипт export.mjs выводит JSON-объект прямо в stdout.
С параметром --prometheus <path> инструмент генерирует файл метрик для node_exporter. В него попадают счётчики сообщений, расходы по сессиям, разбивка по моделям и расчёт утилизации лимита cost_tracker_budget_utilization. Для отправки POST-запроса на внешний сервер используется аргумент --webhook <url>.
Скилл бесполезен без данных от cost-track: если сессии предварительно не регистрировались, выгружать будет нечего. Авторизационные заголовки для вебхука настраиваются через переменную окружения EXPORT_WEBHOOK_HEADER.
Какие задачи решает
- выгрузить метрики затрат на токены в файл для Prometheus
- отправить JSON со статистикой расходов на внешний эндпоинт
- отслеживать утилизацию бюджета проекта на дашбордах Grafana
Примеры запросов агенту
- Экспортируй метрики расходов в формате Prometheus в файл /tmp/cost_tracker.prom
- Отправь JSON с расходами сессий вебхуком на указанный адрес эндпоинта
Как установить cost-export
1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill cost-export -a claude-code2Вручную: положить файлы
~/.claude/skills/cost-export/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/cost-export/
1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill cost-export -a codex2Вручную: положить файлы
.agents/skills/cost-export/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill cost-export -a cursor2Вручную: положить файлы
.cursor/skills/cost-export/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install ruvnet/ruflo cost-export2Вручную: положить файлы
.github/skills/cost-export/SKILL.md1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill cost-export -a gemini-cli2Командой платформы
gemini skills install https://github.com/ruvnet/ruflo --path plugins/ruflo-cost-tracker/skills/cost-exportВручную: положить файлы
.devin/skills/cost-export/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill cost-export -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора104
Весь набор →Похожие
Вопросы о cost-export
Как установить cost-export в Claude Code?
Выполните команду npx skills add ruvnet/ruflo --skill cost-export -a claude-code. Спецификация сохранится в ~/.claude/skills/cost-export/SKILL.md.
Что делает cost-export?
Скилл читает записи сессий и бюджетов из хранилища cost-tracking и форматирует их в файл Prometheus textfile или передаёт в виде JSON.
Какие метрики экспортирует скилл?
В выгрузку попадают общий расход в долларах, траты по семействам моделей, стоимость сессий и процент использования заданного бюджета.
Исходный текст
SKILL.md · MIT
---
name: cost-export
description: Export cost-tracking telemetry in Prometheus textfile or webhook JSON formats — for external observability (Grafana, Datadog, custom dashboards)
argument-hint: "[--prometheus <path>] [--webhook <url>]"
allowed-tools: Bash
---
# Cost Export
Pulls every `session-*` and `budget-config-*` record from `cost-tracking` and emits in formats consumable by external observability systems. Without this, cost data lives only inside the AgentDB namespace; with it, the same data lights up dashboards.
## When to use
- After any cost-track run, to refresh metrics for Grafana / Datadog / Prometheus.
- Cron-friendly via `/loop 5m` to keep external dashboards near-real-time.
- One-shot to a webhook for ad-hoc reporting (Slack, custom endpoint).
## Steps
1. **Pick a format** — textfile collector for Prometheus / Grafana, or webhook POST for everything else:
```bash
# Prometheus node_exporter textfile collector
node plugins/ruflo-cost-tracker/scripts/export.mjs --prometheus /var/lib/node_exporter/textfile_collector/cost_tracker.prom
# Webhook (POSTs JSON; add auth via env)
EXPORT_WEBHOOK_HEADER='Authorization: Bearer $TOKEN' \
node plugins/ruflo-cost-tracker/scripts/export.mjs --webhook https://hooks.example.com/cost-tracker
# Stdout JSON (default if no flag)
node plugins/ruflo-cost-tracker/scripts/export.mjs
```
2. **Inspect what's emitted** — Prometheus output includes:
```
cost_tracker_total_usd <gauge>
cost_tracker_tier_total_usd{tier="opus|sonnet|haiku"} <gauge>
cost_tracker_session_total_usd{session="<8-char>"} <gauge>
cost_tracker_session_messages{session="<8-char>"} <counter>
cost_tracker_budget_usd <gauge> (if budget configured)
cost_tracker_budget_utilization <gauge> (spent / budget)
```
3. **Webhook payload shape** — the JSON the webhook receives matches the stdout JSON: `{ exportedAt, sessions: [...], budget, totalUsd, byTier }`. Headers may be added via `EXPORT_WEBHOOK_HEADER='K1: V1, K2: V2'` (comma-separated).
## Env overrides
| Env | Default | Purpose |
|---|---|---|
| `EXPORT_NAMESPACE` | `cost-tracking` | Override target namespace |
| `EXPORT_WEBHOOK_HEADER` | unset | Comma-separated `K: V` pairs for webhook auth |
| `EXPORT_QUIET=1` | unset | Suppress non-error confirmation output |
## Cross-references
- `cost-track` — produces the data this skill exports
- `cost-budget-check` — the same `cost_tracker_budget_*` metrics are alertable in Prometheus
- node_exporter textfile collector docs (Prometheus convention) — drop the `.prom` file in the collector directory and Prometheus picks it up
© ruvnet · MIT · ruvnet/ruflo