About convex
A skill guide for coding agents working with Convex. It routes tasks to focused skills for functions, data modeling, security, and project workflows, with baseline rules that apply when no specialized skill fits.
Key features
- 01Select Convex skills by task
- 02Cover functions, realtime, and storage
- 03Provide security checks and audits
- 04Include workflow and Git safety rules
Use cases
- 01Implement Convex queries, mutations, and actions
- 02Design schemas, indexes, or data migrations
- 03Review public function access and data exposure
- 04Plan multi-step work or safely undo changes
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ waynesutton/ builder-skills --skill convexAfter installing, type/convexin Claude Code to confirm it loaded.
Bundled filesagents/openai.yamlassets/small-logo.svg
Details
From the project READMEConvex
Start here, pick the matching skill below, and load it. If nothing matches, the rules at the bottom still apply.
Pick a skill
| Skill | Load when |
|---|---|
| convex-best-practices | general patterns, project structure, "is this the Convex way" |
| convex-functions | queries, mutations, actions, internal functions, error handling |
| convex-schema-validator | tables, indexes, validators, v.* types, schema changes |
| convex-realtime | useQuery, optimistic updates, pagination, presence, rerender churn |
| convex-http-actions | webhooks, REST endpoints, convex/http.ts, Stripe or Clerk callbacks |
| convex-file-storage | uploads, upload URLs, serving files, storage cleanup |
| convex-cron-jobs | crons.ts, runAfter, runAt, batching, a cron that is not firing |
| convex-migrations | backfills, renaming fields, schema evolution with live data |
| convex-agents | AI agents, threads, tools, streaming, RAG with @convex-dev/agent |
| convex-component-authoring | building a reusable component package, defineComponent |
| convex-security-check | fast pre ship audit: auth on public functions, exposed data |
| convex-security-audit | deep review: authorization model, injection, rate limits, secrets |
| avoid-feature-creep | scope pushback, MVP cuts, "just one more feature" |
| project-workflow | multi step tasks, PRDs in prds/, task.md, plans for review |
| project-docs | syncing task.md, changelog.md, files.md with shipped code |
| git-safety | revert, undo, reset, checkout, clean, stash, force push |
Two skills often apply at once. Load the domain skill for the code and the process skill for the workflow, for example convex-functions plus project-workflow.
Rules that hold everywhere
- Every function declares
argsandreturnsvalidators, including internal ones. - Read through
withIndex..filter()on a table scan is a bug waiting for data. - Mutations are idempotent. Check current state, return early when there is nothing to do.
- Schedule and cron only
internal.*functions. Neverapi.*. - Never call
Date.now()inside a query. Pass time in as an argument. - Use
npx convex devfor development. Do not runnpx convex deployunless asked. - Fetch https://docs.convex.dev/llms.txt before trusting memory about an API.
Do not
- Edit anything under
convex/_generated/. - Use
crons.daily,crons.hourly, orcrons.weekly. Usecrons.intervalorcrons.cron. - Put
"use node"in a file that also exports queries or mutations. - Run git commands that discard work without loading git-safety first.
Docs
Comments
Markdown supported