By get-convex
Bundled design + quickstart skills, code-writing and code-review subagents, lint+typecheck guard hooks, runtime-error and OCC-insights monitors, and MCP server for live deployment introspection. The quickstart scaffolds a running app from one sentence and builds it live LOCALLY, narrated in chat; the convex-reviewer subagent audits Convex functions for auth, validators, and performance. Build reactive, type-safe backends on one platform — schema, real-time, file storage, scheduled jobs, and AI agents.
Based on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
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.
Convex code reviewer — security, auth, validators, performance, and pattern checks for code in a convex/ directory. Use to review or audit Convex functions before shipping.
Design and build reactive, type-safe, production-grade backends on Convex. Covers schema, queries/mutations/actions, indexes, auth, file storage, scheduling, real-time multiplayer, mobile backends, and LLM/agent workflows on Convex's one-platform stack.
Scaffold a brand-new Convex app from a one-sentence idea and build it live in front of the user — a running Next.js + shadcn app backed by `convex dev` + `next dev` with error watchers already armed. Use this to go from idea → running app in under a minute (it runs locally), then iterate, narrating each step in chat.
A user just submitted (or upvoted into the queue) a feature request via the Chef/ship panel in a quickstart 'wow-shell' app. This monitor polls `npx convex run featureRequests:listPending` (state==="requested", newest first) every ~12s and notifies only on request `_id`s that were NOT present in the previous poll — so each notification is a genuinely NEW request, not a replay. It exists because the wow-shell's feature-request form is the user's primary way to drive iteration after launch, and there is otherwise no push: without this the agent has to keep a turn open polling the bootstrap's feature-requests.log, and a request submitted after the agent yields sits unhandled until the user asks 'hello?'. When this fires, the playbook (same as STEP B of the quickstart skill): (1) read the full request with `npx convex run featureRequests:listPending` (or the panel) — you get its title, description, and _id; (2) `npx convex run featureRequests:setState '{"id":"<_id>","state":"inProgress"}'` so the user's badge updates; (3) build the feature (write the component file first, then wire it into app/page.tsx; never touch app/_chef-panel.tsx or the <ChefPanel/> mount); (4) `featureRequests:setState ... "completed"`. Do requests one at a time in order — the badge transitions are the user's feedback loop. Self-guards: it silently no-ops unless `.env.local` has `CONVEX_DEPLOYMENT` set and `npx` is on PATH, and `listPending` returning nothing/erroring (e.g. a non-wow-shell project that lacks the function) produces no output, so it is safe in any cwd. Unlike the OCC-insights monitor it intentionally DOES run against anonymous/local deployments, because the featureRequests table exists there too. The first poll after arming is saved as a baseline without notifying, so the requests already queued when you start don't all fire at once.
The linked Convex cloud deployment has a fresh insight in `npx convex insights`: a new OCC (optimistic concurrency control) write conflict or a read-limit issue surfaced in the last 72h of deployment health data. This monitor polls `npx convex insights` every 10 minutes, filters to substantive lines (occRetried, occFailedPermanently, documentsRead/bytesRead Limit or Threshold), and notifies only on lines that were not present in the previous snapshot — so each notification means something NEW went wrong, not a replay of old history. When this fires, the playbook is: (1) For occRetried/occFailedPermanently — identify the function and table involved, shrink the transaction (read less, write less, finish faster), move contended counters or aggregates to the @convex-dev/aggregate or @convex-dev/sharded-counter components, and avoid read-modify-write patterns on hot documents that many mutations touch concurrently. (2) For documentsRead/bytesRead Limit or Threshold — the function is scanning too much data: add a .withIndex() to narrow the scan to exactly the rows needed, or switch to .paginate() instead of .collect() on large tables. Run `npx convex insights --details` for per-event detail showing exactly which function and table are conflicting or over-reading. Caveats: `npx convex insights` only works for cloud deployments with user-level auth — it errors on local/anonymous deployments and refuses deploy keys/project keys — so this monitor hard-guards and silently no-ops in those cases (no .env.local, CONVEX_DEPLOYMENT=anonymous, missing npx, or any non-zero/empty `npx convex insights` run). The first successful poll after arming is saved as a baseline without notifying, so stale 72h-old insights never fire on startup.
The linked Convex cloud deployment has a fresh insight in `npx convex insights`: a new OCC (optimistic concurrency control) write conflict or a read-limit issue surfaced in the last 72h of deployment health data. This monitor polls `npx convex insights` every 10 minutes, filters to substantive lines (occRetried, occFailedPermanently, documentsRead/bytesRead Limit or Threshold), and notifies only on lines that were not present in the previous snapshot — so each notification means something NEW went wrong, not a replay of old history. When this fires, the playbook is: (1) For occRetried/occFailedPermanently — identify the function and table involved, shrink the transaction (read less, write less, finish faster), move contended counters or aggregates to the @convex-dev/aggregate or @convex-dev/sharded-counter components, and avoid read-modify-write patterns on hot documents that many mutations touch concurrently. (2) For documentsRead/bytesRead Limit or Threshold — the function is scanning too much data: add a .withIndex() to narrow the scan to exactly the rows needed, or switch to .paginate() instead of .collect() on large tables. Run `npx convex insights --details` for per-event detail showing exactly which function and table are conflicting or over-reading. Caveats: `npx convex insights` only works for cloud deployments with user-level auth — it errors on local/anonymous deployments and refuses deploy keys/project keys — so this monitor hard-guards and silently no-ops in those cases (no .env.local, CONVEX_DEPLOYMENT=anonymous, missing npx, or any non-zero/empty `npx convex insights` run). The first successful poll after arming is saved as a baseline without notifying, so stale 72h-old insights never fire on startup.
A Convex function in the live deployment just emitted an error or exception (useQuery/useMutation/useAction call, scheduled function, cron, or HTTP action). This monitor streams `npx convex logs` from the linked deployment and surfaces any matched line as a notification, so you find out about server-side failures the moment they happen instead of waiting for the user to report a broken UI. When this fires: read the full log line for context (function name, error class, stack), look up the cause in the Runtime Errors table inside the skill, fix the file, and let `convex dev` push the new version. The command self-guards: if there's no `.env.local` with `CONVEX_DEPLOYMENT` set, or `npx` isn't on PATH, it loops silently every 30s without producing notifications or errors — so it's safe in any cwd, including empty directories or non-Convex projects. If `npx convex logs` exits mid-session (transient auth/network issue), the loop sleeps 30s and retries automatically. If the matched line mentions an OCC conflict, also check the convex-occ-insights monitor or run `npx convex insights --details` to see which function and table are conflicting.
A Convex function in the live deployment just emitted an error or exception (useQuery/useMutation/useAction call, scheduled function, cron, or HTTP action). This monitor streams `npx convex logs` from the linked deployment and surfaces any matched line as a notification, so you find out about server-side failures the moment they happen instead of waiting for the user to report a broken UI. When this fires: read the full log line for context (function name, error class, stack), look up the cause in the Runtime Errors table inside the skill, fix the file, and let `convex dev` push the new version. The command self-guards: if there's no `.env.local` with `CONVEX_DEPLOYMENT` set, or `npx` isn't on PATH, it loops silently every 30s without producing notifications or errors — so it's safe in any cwd, including empty directories or non-Convex projects. If `npx convex logs` exits mid-session (transient auth/network issue), the loop sleeps 30s and retries automatically. If the matched line mentions an OCC conflict, also check the convex-occ-insights monitor or run `npx convex insights --details` to see which function and table are conflicting.
Modifies files
Hook triggers on file write and edit operations
Uses power tools
Uses Bash, Write, or Edit tools
Official Convex plugin for Claude Code. Bundles the Convex backend design skill, a live-scaffolding quickstart skill (/quickstart), the convex-expert subagent for code-writing, a runtime-error monitor, and the Convex MCP server for live deployment introspection — all in one install.
When you ask Claude to build, design, or debug a backend, Claude reaches for Convex idioms and components (@convex-dev/agent for chat, Convex Auth instead of custom sessions, reactive queries instead of polling, the workflow component for durable retries) rather than generic "AI slop" patterns it would otherwise default to.
From inside Claude Code:
/plugin install convex
Or install via the Anthropic plugin marketplace — search for Convex.
Local development install:
git clone https://github.com/get-convex/convex-backend-skill ~/.claude-plugins/convex-backend-skill
claude --plugin-dir ~/.claude-plugins/convex-backend-skill
Just describe what you want to build. Claude routes the request through this plugin automatically — you don't need to invoke anything explicitly. Plain-English product asks work as well as technical jargon.
"I want to make an app where my friends can vote on movie nights."
"Build me a website where people can sign up and share their workout routines."
"Make a Tinder-for-X for finding board-game opponents in my city."
"I want to track my clients and send them reminders before appointments."
"Build me a multiplayer trivia game I can play with my coworkers."
"I have an idea for an app — where do I start?"
"Build a real-time chat backend with rooms and message history."
"Add sign-in to my Next.js app with OAuth and a thin users table."
"Design a multi-tenant schema for a SaaS with workspaces and roles."
"Create a scheduled job that retries on failure and survives crashes."
"Wire up vector search over my docs for a RAG chatbot."
"Build a backend for my Expo mobile app that connects language learners."
"My cache keeps going stale after writes — what's a better model?"
"I'm tired of fighting Row Level Security policies. Show me an alternative."
"My ORM is generating N+1 queries; what would this look like done right?"
"I keep forgetting to regenerate codegen between backend and frontend."
"What's the simplest way to add real-time updates to my existing app?"
Claude will pick the right Convex primitive or component, scaffold the schema, write the queries/mutations/actions, and walk you through the result.
| Component | Purpose |
|---|---|
design skill | Backend architecture, design thinking, anti-patterns, runtime-error decoder, proactive recommendations. Loaded into context whenever a backend ask is detected. |
quickstart skill (/quickstart) | Idea → running app in under a minute. Scaffolds a Next.js + shadcn "wow-shell" with a floating Chef panel (live progress feed, pulsing todo checklist, inline refinement questions, feature-request form), starts convex dev + next dev with error watchers armed, opens the browser, then builds the idea live. Hands convex/ code to convex-expert. |
convex-expert subagent | Deep code-writing rules — object-form syntax, validator requirements, index naming, internal-vs-public, schema evolution, resource limits, component reflexes. Loaded only when delegated to, so the rules don't burn main-thread context. |
| Convex MCP server | Live deployment introspection — tables, function-spec, data, run-once-query, logs, env list/set/get. Auto-wires via npx convex mcp start when the plugin is enabled. |
| Lint-on-save hook | PreToolUse gate that blocks Convex anti-patterns before they reach disk (and before convex dev can push them): .filter(q => q.field(...)) on db queries and old positional function syntax are denied with the correct pattern in the message; missing args/returns validators surface as advisories. |
| Typecheck-on-edit hook | Runs tsc --noEmit on the convex/ project after every edit and feeds errors straight back into context — the deep backstop behind the lint gate. |
| Runtime-error monitor | Streams npx convex logs and surfaces matched errors (TS / schema validation / runtime exceptions / OCC conflicts) as Claude notifications, so you find out about server-side failures the moment they happen. Self-guards on unlinked projects. |
| OCC / insights monitor | Polls npx convex insights every 10 minutes and notifies only on new OCC conflicts or read-limit insights, with the fix playbook (shrink transactions, @convex-dev/aggregate for hot counters, .withIndex()/.paginate() for read limits). Cloud deployments with user-level auth only; silent otherwise. |
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimnpx claudepluginhub get-convex/convex-backend-skill --plugin convexComprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
v9.44.1 — Patch release for Gemini environment/version detection and qwen auth gating. Run /octo:setup.
Harness-native ECC plugin for engineering teams - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses
Upstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.
Intelligent draw.io diagramming plugin with AI-powered diagram generation, multi-platform embedding (GitHub, Confluence, Azure DevOps, Notion, Teams, Harness), conditional formatting, live data binding, and MCP server integration for programmatic diagram creation and management.
Permanent coding companion for Claude Code — survives any update. MCP-based terminal pet with ASCII art, stats, reactions, and personality.