convex-cost — скилл для Claude Code: что делает и как установить
Оценивает расходы на Convex и находит функции, сжигающие бюджет. Показывает график роста затрат и предлагает дешёвое исправление.
npx skills add convex/agent-skills --skill convex-cost -a claude-codeЧто делает convex-cost
Скилл подключается к развёртыванию через официальный MCP Convex и собирает доказательства расходов. Он запрашивает события чтения байтов и документов в insights, а размеры таблиц берёт из tables. Главный показатель нагрузки — это произведение объёма прочитанных данных на частоту вызовов. Трафик не обязателен. Если проект новый, скилл оценивает форму самих запросов вроде полного сканирования таблицы через .collect().
Вместо вымышленных сумм в долларах инструмент показывает кривую роста нагрузки. Скан всей таблицы растёт линейно от числа строк, тогда как выборка по индексу через .take(n) сохраняет плоский график при любом масштабе. Для каждого проблемного места скилл называет быстрое исправление: добавление .withIndex, переход на .paginate или вынос счётчиков в агрегаты. За самими правками он отправляет к скиллам convex-advisor или convex-expert.
Сбор метрик работает только на dev и prod в облаке с авторизацией пользователя, поэтому на preview-окружениях инструмент запустить нельзя. В скилл встроено правило confirm-cost: перед любым платным действием вроде покупки домена или изменения тарифа агент обязан назвать цену с периодичностью списания и запросить подтверждение.
Какие задачи решает
- найти функции с аномальным чтением документов и байтов в Convex
- оценить форму роста расходов базы данных при накоплении строк
- заменить полное сканирование таблицы на индексированную выборку
- заблокировать любые платные действия в облаке без ручного подтверждения
Примеры запросов агенту
- Оцени текущие расходы Convex и покажи самые дорогие функции
- Проверь запросы к базе данных на предмет роста затрат при масштабировании
- Покажи дешёвые исправления для функций с высоким чтением данных в Convex
Как установить convex-cost
1Через Skills CLI (Vercel)
npx skills add convex/agent-skills --skill convex-cost -a claude-code2Вручную: положить файлы
~/.claude/skills/convex-cost/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/convex-cost/
1Через Skills CLI (Vercel)
npx skills add convex/agent-skills --skill convex-cost -a codex2Вручную: положить файлы
.agents/skills/convex-cost/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add convex/agent-skills --skill convex-cost -a cursor2Вручную: положить файлы
.cursor/skills/convex-cost/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install convex/agent-skills convex-cost2Вручную: положить файлы
.github/skills/convex-cost/SKILL.md1Через Skills CLI (Vercel)
npx skills add convex/agent-skills --skill convex-cost -a gemini-cli2Командой платформы
gemini skills install https://github.com/convex/agent-skills --path skills/convex-costВручную: положить файлы
.devin/skills/convex-cost/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add convex/agent-skills --skill convex-cost -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о convex-cost
Как установить convex-cost в Claude Code?
Выполните в терминале команду npx skills add convex/agent-skills --skill convex-cost -a claude-code.
Что делает convex-cost?
Он связывает вызовы функций с объёмом прочитанных данных, ранжирует главные источники расходов и строит кривую их масштабирования. Для каждого драйвера затрат скилл сразу предлагает минимальное исправление в коде.
Работает ли сбор данных на preview-ветках?
Нет, чтение insights требует авторизации в облаке и поддерживается только на dev и prod развёртываниях. В окружениях без трафика инструмент оценивает форму запросов в коде.
Исходный текст
SKILL.md · Apache-2.0
---
name: convex-cost
description: "Preview Convex spend — rank functions by bytes/documents-read × call-volume from insights, project each cost driver's growth curve, name the cheapest fix; confirm-cost for paid actions."
---
<!-- GENERATED from convex-agents content/capabilities/convex-cost.json — do not edit by hand. -->
# Preview what this app will cost
Cost surprises come from a handful of functions reading far more data than anyone realized — the same read-heavy patterns convex-advisor flags for perf, seen through the money lens. This capability makes spend legible: it reads the deployment's own bytes/documents-read evidence, attributes it to the functions driving it, projects how it grows with traffic, and names the cheapest fix. It also carries the confirm-cost discipline (Supabase's structural consent for paid actions): before anything metered, state the price and get an explicit yes.
## Workflow
1. GUARD: deploy-guard — a cost read is read-only over dev/prod (insights is cloud+user-auth only; not previews). Announce the deployment.
2. GATHER the spend evidence via the official MCP: `insights` for the bytes-read / documents-read events (the direct cost signal — Convex bills on function calls + bandwidth), `tables` for row counts (a table's size bounds its scan cost), `functionSpec` for the surface. If there's no usage/traffic yet, say so and estimate from the query SHAPES instead (a `.collect()` on a table projected to grow is a future cost even with zero traffic today).
3. ATTRIBUTE: rank functions by bytes/documents read per call × observed (or asked-about) call volume — the product is the cost driver, not either alone. A cheap-per-call function called constantly can outweigh an expensive rare one; show both factors.
4. PROJECT: state how the top drivers scale — a full-table `.collect()` grows LINEARLY with the table (cost compounds as data accumulates); an indexed `.take(n)` stays flat. Give the user the shape of the curve ('this is O(table size) per call — fine at 1k rows, a bill at 1M'), not a false-precision dollar figure.
5. NAME THE CHEAPEST FIX per driver — index + `.withIndex` instead of scan, `.paginate`/`.take` instead of `.collect`, an aggregate component for counts, caching a hot read — and emit it as a cost-class finding on the bus (evidence: the insight event + the projected growth) pointing at convex-expert/convex-advisor for the actual change.
6. CONFIRM-COST for paid actions: if the flow includes anything metered (a domain purchase, cloud provisioning, a plan change), STATE the price and recurrence explicitly and get an explicit yes BEFORE proceeding — never let a paid action happen as a side effect (the cost-confirm gate).
7. REPORT: the current cost drivers ranked, each with its evidence + growth shape + fix, and a plain bottom line ('your spend is dominated by messages:list reading the whole table every call; index it and it drops ~100x'). Honest precision: Convex pricing changes and depends on plan — give relative/shape guidance and cite the pricing page for absolute numbers rather than inventing a dollar total.
## Rules
- Cost = data-read-per-call × call-volume — always show both factors; a cheap function called constantly can cost more than an expensive rare one.
- Read the deployment's own insights/bytes-read evidence for spend; with no traffic yet, price the query SHAPES (a scan on a growing table is a future cost).
- Give the growth CURVE, not false-precision dollars: O(table) scans compound as data accumulates; indexed access stays flat. Cite the pricing page for absolute figures.
- Every cost driver names its cheapest fix and emits a cost-class finding on the bus pointing at the fixer (convex-expert/advisor).
- Confirm-cost for any metered/paid action: state the price + recurrence and get an explicit yes BEFORE it happens — never as a side effect.
- Read-only over dev/prod (deploy-guard); insights is cloud+user-auth only. Cost composes convex-advisor's evidence but frames it as money, not latency.
© convex · Apache-2.0 · convex/agent-skills