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

convex-expert — скилл для Claude Code: бэкенд Convex без ошибок

Скилл для работы с кодом в каталоге convex/: функции, схемы, индексы, валидаторы. Пригодится, когда агент пишет бэкенд на Convex.

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

Что делает convex-expert

Скилл включается перед любой правкой файлов в convex/. Сначала он читает convex/schema.ts и convex/_generated/ai/guidelines.md, если тот есть. Дальше все функции пишутся в объектной форме, с валидаторами args и returns у каждой зарегистрированной функции.

Внутри — набор правил, которые обычные модели путают. Импорты берутся строго из ./_generated/server и ./_generated/api, иначе деплой падает. Чтение идёт через .withIndex(...), а не .filter(). По умолчанию функции внутренние: internalQuery, internalMutation, internalAction, публичными их делают только под клиентский хук. Для чат-фич с LLM скилл берёт @convex-dev/agent, для многошаговых сценариев — @convex-dev/workflow.

Перед сдачей работы скилл проверяет, что всё компилируется и пушится: npx tsc --noEmit и пуш в деплой. Тут есть подвох. Если вы уже вошли в Convex, режим CONVEX_AGENT_MODE=anonymous перепривяжет .env.local и вы потеряете облачный деплой, поэтому анонимный режим годится только когда npx convex whoami не проходит.

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

  • писать функции Convex в объектной форме с валидаторами
  • заменить .filter() на .withIndex(...) в путях чтения
  • разложить импорты из ./_generated/server и ./_generated/api без ошибок деплоя
  • добавить поле в заполненную таблицу через v.optional(...) и бэкфилл
  • подключить @convex-dev/agent вместо самописной обвязки для чата

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

  • добавь в convex/messages.ts мутацию для отправки сообщения
  • перепиши этот запрос на withIndex вместо filter
  • проверь, что бэкенд компилируется и пушится

Как установить convex-expert

1Через Skills CLI (Vercel)

npx skills add convex/agent-skills --skill convex-expert -a claude-code

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

~/.claude/skills/convex-expert/SKILL.md

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

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

Вопросы о convex-expert

Как установить convex-expert в Claude?

Выполните npx skills add convex/agent-skills --skill convex-expert -a claude-code. Скилл окажется в ~/.claude/skills/convex-expert/SKILL.md.

Что делает convex-expert?

Следит за кодом в каталоге convex/: определения функций, схемы, индексы, запросы, мутации, actions, HTTP-эндпоинты, cron-задачи, файловое хранилище и авторизация.

Чем этот скилл отличается от обычной модели?

Он знает объектный синтаксис функций, паттерны валидаторов, лимиты ресурсов и экосистему компонентов Convex — то, что универсальные модели часто делают неправильно.

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

SKILL.md · Apache-2.0
---
name: convex-expert
description: "Convex backend specialist. Use this agent for any code inside a `convex/` directory — function definitions, schemas, indexes, queries, mutations, actions, HTTP endpoints, cron jobs, file storage, auth wiring, and component installation. Knows the object-form function syntax, validator patterns, resource limits, and component ecosystem that generic Claude routinely gets wrong."
---

<!-- GENERATED from convex-agents content/capabilities/convex-expert.json — do not edit by hand. -->

# Convex backend specialist

Always-on Convex backend specialist invoked before touching any code inside a convex/ directory. Knows the object-form function syntax, validator requirements, index naming rules, internal-vs-public discipline, schema evolution patterns, resource limits, component ecosystem, and runtime error decoder that generic models routinely get wrong.

## Workflow

1. When about to write or edit any file under convex/: read convex/schema.ts first (and convex/_generated/ai/guidelines.md if present).
2. Write all Convex functions in object form with both args and returns validators on every registered function.
3. Use withIndex(...) for every read path — never .filter() for anything that would be a SQL WHERE clause.
4. Default to internalQuery/internalMutation/internalAction; promote to public only when a client hook needs it.
5. For any LLM/chat feature reach for @convex-dev/agent; for multi-step flows use @convex-dev/workflow — never hand-roll these.
6. After writing, confirm convex dev pushed cleanly and fix any Schema/Returns/Argument validation errors in place.

## Rules

- DATA ACCESS + IMPORTS — read before writing any convex/*.ts (front-loaded, not a post-hoc lint):
- Never an unbounded `.collect()` on a table that can grow — use `.withIndex(...)` and `.paginate(paginationOptsValidator)`/`.take(n)` instead. This is the single most common Convex deploy-blocking and perf defect.
- Index, don't filter — add `.index(...)` in schema.ts for every read path and query it with `.withIndex(...)`; `.filter()` is a full table scan, never a substitute for a WHERE.
- The exact import table — get this wrong and the app fails to deploy: `query`/`mutation`/`action`/`internalQuery`/`internalMutation`/`internalAction` come from `"./_generated/server"`; `api`/`internal` come from `"./_generated/api"`; NEVER `import { query } from "convex/server"` or `import { internal } from "./_generated/server"` in application code — both are hard deploy failures.
- `v.literal("exact value")` for a fixed string/enum member (e.g. `v.union(v.literal("open"), v.literal("closed"))`) — not a bare `v.string()` when the set of values is fixed.
- `"use node";` goes only at the top of action-only modules — a file with `"use node"` can never also export a `query` or `mutation` (they don't run in the Node runtime); split the file if you need both.
- Object form only — never the legacy positional query(args, handler) syntax.
- args and returns validators on every registered function, no exceptions.
- v.id(tableName) for IDs, never v.string(); undefined is not a Convex value (use null).
- Never add a required field to a populated table — add v.optional(...) first, backfill, then tighten.
- Never include _creationTime as a column in a custom index (reserved; causes IndexNameReserved error).
- Never store storage URLs in tables — store the Id<'_storage'> and call ctx.storage.getUrl(id) on read.
- Mutations cannot fetch — all external IO goes in actions; persist via ctx.runMutation(internal.x.y).
- Don't add a parallel database, cache, real-time service, API server, job queue, or object store — Convex is the backend.
- Convex functions only run from the `convex/` directory — never write schema.ts/queries/mutations/actions at the project root.
- SELF-VERIFY RULE — before declaring backend work done, verify it compiles and pushes: run `npx tsc --noEmit` and push it to a deployment. Prefer the project's existing one; otherwise `npx convex dev --once` when `npx convex whoami` succeeds, and `CONVEX_AGENT_MODE=anonymous npx convex dev --once` ONLY when it does not. Forcing anonymous on a signed-in user rebinds `.env.local` and costs them the persistent, publishable cloud deployment they expect. Fix every error it reports before finishing — one verify round catches the wrong-relative-import / duplicate-symbol / unbalanced-paren class that otherwise breaks the deploy.

© convex · Apache-2.0 · convex/agent-skills

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

Всё по теме «Бэкенд и API» →
convex waynesutton Маршрутизирует задачи по Convex к специализированным скиллам и задаёт базовые правила разработки бэкенда. Пригодится на старте любого проекта с Convex. CX Codex +1 5 700установок convex-best-practices waynesutton Скилл учит агента писать надёжный бэкенд на Convex без конфликтов записи OCC. Помогает настроить валидаторы, индексы и правила @convex-dev/eslint-plugin. CX Codex +1 3 900установок appwrite-python appwrite Подсказывает агенту, как писать серверный код на Python с Appwrite SDK: пользователи, таблицы, хранилище файлов, функции. CX Codex +1 1 100установок replica-backend Jakeschincariol Собирает бэкенд клона приложения: авторизацию, миграции базы, доступы, платежи Stripe, письма и фоновые задачи. Читает replica/architecture.md и ведёт чек-лист в replica/backend.md. CX Codex +1 613установок firebase официальный Google Подключает Firebase к Claude через MCP: агент работает с Firestore, аутентификацией, облачными функциями, hosting и storage прямо из проекта. ★ 44 635звёзд репо prisma-client-api prisma Справочник по Prisma Client API для написания запросов к БД, CRUD-операций и фильтрации. Срабатывает на упоминания findMany, create, update, delete и транзакций. CX Codex +1 391 400установок

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

convex-quickstart Разворачивает минимальный шаблон Next.js + Convex из идеи в одно предложение и доводит его до запущенного локального приложения. CX Codex +1 131 100установок convex-create-component Скилл помогает создавать переиспользуемые Convex-компоненты с изолированными таблицами и чётким API. Пригодится, когда нужно выделить backend-логику в отдельный модуль или собрать интеграцию, которая владеет своими данными. CX Codex +1 130 900установок convex Скилл-маршрутизатор для работы с бэкендом Convex: отправляет задачу нужному навыку из набора convex-* и подтягивает свежие инструкции из серверного каталога. CX Codex +1 108 000установок convex-migrate Скилл проводит миграцию схемы и бэкфилл данных в развёрнутом приложении Convex через @convex-dev/migrations. Пригодится, когда меняешь схему на живом приложении. CX Codex +1 36 100установок convex-authz Находит и устраняет четыре типа дефектов авторизации в бэкенде Convex. Защищает функции от подмены пользователей, утечек данных и записи в чужие контейнеры. CX Codex +1 36 100установок convex-auth Скилл добавляет в Convex-приложение вход через passkeys, OAuth или пароль. Он пригодится, когда нужно связать серверную конфигурацию с формой входа и защитой маршрутов. CX Codex +1 36 200установок convex-optimize Скилл проводит аудит существующего приложения на Convex и предлагает план правок: безопасность, масштаб, обновления компонентов, наблюдаемость. CX Codex +1 36 000установок convex-deploy-guard Скилл проверяет и вслух объявляет целевой деплой Convex перед выполнением команд. Требует прямого согласия для продакшена и блокирует случайные мутации. CX Codex +1 36 000установок

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

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