convex-explain-app — скилл для Claude Code: что делает и установка
Скилл строит понятную карту бэкенда Convex по схеме данных и функциям. Помогает быстро разобраться в незнакомом проекте перед правками или аудитом.
npx skills add convex/agent-skills --skill convex-explain-app -a claude-codeЧто делает convex-explain-app
Скилл анализирует каталог convex/ и файл schema.ts, чтобы составить карту архитектуры приложения без ручного чтения кода. Если подключено развёртывание, он запрашивает спецификацию функций и таблицы через официальный MCP Convex в режиме только для чтения, а при отсутствии подключения изучает исходные файлы напрямую.
На выходе вы получаете граф связей между таблицами по полям v.id, список индексов и чёткое разделение функций на публичные и внутренние. Скилл также описывает модель авторизации из auth.config.ts, установленные компоненты @convex-dev/*, cron-задачи, HTTP-роуты и отслеживает один-два сквозных пути запросов.
Инструмент работает исключительно на чтение и не исправляет найденные проблемы сам. Он фиксирует текущее состояние как есть, а для проверки уязвимостей или аудита правил доступа потребуются отдельные скиллы вроде convex-authz или convex-reviewer.
Какие задачи решает
- составить схему связей между таблицами базы данных Convex
- отделить публичные функции API от внутренних
- определить текущую модель аутентификации и владения данными
- проследить сквозной путь данных от вызова клиента до записи в базу
Примеры запросов агенту
- Объясни архитектуру этого приложения на Convex
- Покажи структуру данных и разделение функций в папке convex
- Разбери модель авторизации и внешние связи нашего бэкенда Convex
Как установить convex-explain-app
1Через Skills CLI (Vercel)
npx skills add convex/agent-skills --skill convex-explain-app -a claude-code2Вручную: положить файлы
~/.claude/skills/convex-explain-app/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/convex-explain-app/
1Через Skills CLI (Vercel)
npx skills add convex/agent-skills --skill convex-explain-app -a codex2Вручную: положить файлы
.agents/skills/convex-explain-app/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add convex/agent-skills --skill convex-explain-app -a cursor2Вручную: положить файлы
.cursor/skills/convex-explain-app/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install convex/agent-skills convex-explain-app2Вручную: положить файлы
.github/skills/convex-explain-app/SKILL.md1Через Skills CLI (Vercel)
npx skills add convex/agent-skills --skill convex-explain-app -a gemini-cli2Командой платформы
gemini skills install https://github.com/convex/agent-skills --path skills/convex-explain-appВручную: положить файлы
.devin/skills/convex-explain-app/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add convex/agent-skills --skill convex-explain-app -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора32
Похожие
Рядом в теме «Бэкенд и API»
Всё по теме «Бэкенд и API» →Вопросы о convex-explain-app
Как установить convex-explain-app в Claude Code?
Выполните команду npx skills add convex/agent-skills --skill convex-explain-app -a claude-code. Конфигурация сохранится в ~/.claude/skills/convex-explain-app/SKILL.md.
Зачем нужен convex-explain-app?
Он создаёт карту бэкенда Convex: структуру таблиц, индексы, публичные и внутренние функции, а также правила владения данными. Это помогает понять проект перед внесением изменений.
Меняет ли скилл файлы проекта или данные в базе?
Нет, скилл работает исключительно в режиме чтения. Если подключено активное развёртывание, защита deploy-guard блокирует любые мутирующие действия.
Исходный текст
SKILL.md · Apache-2.0
---
name: convex-explain-app
description: "Explain an existing Convex app — data model + relationships, public vs internal functions, auth/ownership model, components, a request→data flow — read from the schema and function surface. Read-only."
---
<!-- GENERATED from convex-agents content/capabilities/explain-app.json — do not edit by hand. -->
# Explain this Convex app
Before you can safely change an app you have to know what it is — and reading 15 function files top-to-bottom is slow and error-prone. This capability produces the map fast and accurately by reading the two sources that can't lie: the schema (the data model) and the function surface (`functionSpec` / the exported queries/mutations/actions). It is deliberately DESCRIPTIVE — it explains what IS, hands judgment to the audit capabilities and changes to the fixers. It is also the natural first step of an optimize or self-heal session, and the reusable 're-explain the current architecture' that 'change what you built' depends on.
## Workflow
1. DETECT the app: the `convex/` directory, `schema.ts`, and whether a deployment exists (if one does, `functionSpec`/`tables` via the official MCP give the authoritative live surface; if not, read the source directly). deploy-guard classifies any deployment read as read-only.
2. DATA MODEL: from `schema.ts`, list every table with its fields and, crucially, its RELATIONSHIPS — which `v.id("other")` fields point where, and which indexes exist (indexes reveal the intended access paths). Draw the foreign-key graph in words: 'tasks belong to projects (projectId) and users (ownerId); messages belong to conversations'.
3. FUNCTION SURFACE: enumerate every exported function, split PUBLIC (query/mutation/action — the attack/API surface) from INTERNAL (internalQuery/... — not client-reachable), and for each give a one-line 'what it does + what it touches'. The public/internal split is the single most important thing a newcomer needs and the thing source-skimming most often gets wrong.
4. AUTH / OWNERSHIP MODEL: state how identity is established (auth.config.ts provider? a users table keyed by tokenIdentifier?) and how ownership is enforced (is there a requireOwner-style check? which field is the owner?). Say plainly if there is NO auth foundation — that is load-bearing context for anyone about to change the app. (Describe the model; do not audit it for holes — that's convex-authz.)
5. COMPONENTS + EXTERNAL EDGES: list the `@convex-dev/*` components installed (convex.config.ts) and what they provide, the HTTP routes (http.ts) and crons, and any external calls in actions (which APIs, which env vars).
6. FLOW: trace 1-2 representative end-to-end paths ('client calls createTask → validates → inserts into tasks scoped to the caller → listMyTasks reads it back by the by_owner index') so the reader sees the moving parts connected, not just catalogued.
7. PRESENT as a scannable map (data model → public/internal functions → auth model → components/edges → a flow or two), accurate to the source. End by pointing at the next verbs: convex-reviewer/convex-authz to audit it, launch-readiness to score it, design/convex-expert to extend it. Never invent behavior the source doesn't show; if something is ambiguous, say so rather than guessing.
## Rules
- Read the schema + function surface (functionSpec/source) as the source of truth — never describe behavior the code doesn't show; flag ambiguity instead of guessing.
- Lead with the two things a newcomer most needs and skimming most often gets wrong: the data-model relationship graph and the public-vs-internal function split.
- State the auth/ownership model plainly, including 'there is no auth foundation' when that's the case — but DESCRIBE it; auditing it for holes is convex-authz's job.
- Descriptive, not evaluative: explain-app maps what IS and hands judgment to the audit capabilities and changes to the fixers.
- Read-only: any deployment introspection is read-only (deploy-guard); the app is not modified.
- End by pointing at the right next verb (audit → reviewer/authz, score → launch-readiness, extend → design/expert).
© convex · Apache-2.0 · convex/agent-skills