Skip to main content
skill CX Codex

convex · waynesutton — Claude Code skill: what it does, how to install

Routes Convex backend tasks to dedicated builder skills and enforces global rules for queries, mutations, and schemas. Useful as the starting point for any Convex project.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add waynesutton/builder-skills --skill convex -a claude-code
Open on GitHub

What convex does

This skill acts as the entry point for Convex development. It maps tasks to sixteen specialized skills such as convex-functions, convex-schema-validator, or convex-realtime. If no specific skill matches, the baseline rules in this guide still apply.

The instructions require args and returns validators on every function, even internal ones. Reads must use withIndex, because running .filter() over a table scan causes failures as datasets grow. Mutations have to stay idempotent. For scheduling and cron jobs, the agent must target only internal.* functions.

Editing files inside convex/_generated/ is strictly forbidden. The skill also blocks calling Date.now() inside queries and requires passing timestamps as arguments instead. For local work, run npx convex dev. Before guessing any API behavior, the model must read docs.convex.dev/llms.txt.

What it helps with

  • route Convex work to the appropriate specialized builder skill
  • enforce args and returns validators across all functions
  • replace unindexed table scans with withIndex queries
  • schedule background jobs safely using internal.* functions

Example prompts for the agent

  • Help me set up Convex tables and indexes for the project
  • Make this Convex profile mutation idempotent
  • Schedule an internal cron job to run every hour in Convex

How to install convex

1Skills CLI (Vercel)

npx skills add waynesutton/builder-skills --skill convex -a claude-code

2Manually: put the files in place

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

Copy the whole skill folder; for one project use .claude/skills/convex/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about convex

How do I install convex in Claude Code?

Run npx skills add waynesutton/builder-skills --skill convex -a claude-code. The file will be placed in ~/.claude/skills/convex/SKILL.md.

What does the convex skill do?

It directs Convex tasks to domain-specific skills for functions, realtime updates, migrations, or security audits. It also enforces baseline standards like strict validators and idempotent mutations.

What practices does the skill explicitly forbid?

It forbids modifying convex/_generated/, calling Date.now() inside queries, and using "use node" in files that export queries or mutations. It also prohibits crons.daily, crons.hourly, and crons.weekly in favor of crons.interval or crons.cron.

Source text

SKILL.md · Apache-2.0
---
name: convex
description: Routes Convex work to the right builder skill and covers the handful of rules that apply everywhere: validators on every function, withIndex over filter, idempotent mutations, internal functions for scheduling. Use when a task mentions Convex and no more specific skill matches, or as the first stop before picking one.
---

# Convex

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 `args` and `returns` validators, 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. Never `api.*`.
- Never call `Date.now()` inside a query. Pass time in as an argument.
- Use `npx convex dev` for development. Do not run `npx convex deploy` unless 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`, or `crons.weekly`. Use `crons.interval` or `crons.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

- https://docs.convex.dev/llms.txt
- https://docs.convex.dev/understanding/best-practices
- https://docs.convex.dev/functions

© waynesutton · Apache-2.0 · waynesutton/builder-skills

Similar skills

Everything for Backend and APIs →

convex by other authors comes first.

From the same set14

convex-best-practices Guides your agent through production Convex patterns, from index design to OCC conflict prevention. Essential for clean mutations, schema validation, and fast queries. CX Codex +1 3,900installs convex-functions Writes Convex queries, mutations and actions in the object form, with args and returns validators, correct ctx usage and runtime boundaries. CX Codex +1 3,200installs convex-schema-validator Designs Convex tables, validators, indexes, and document relationships in convex/schema.ts. Use it when a schema changes or validation fails during development. CX Codex +1 3,000installs convex-realtime A skill for wiring React to Convex subscriptions: useQuery patterns, optimistic updates, pagination that stays live, and cutting subscription churn. CX Codex +1 2,900installs convex-cron-jobs Sets up recurring jobs in convex/crons.ts and delayed execution with ctx.scheduler. Helps batch heavy mutations and debug failing queues in Convex. CX Codex +1 2,800installs convex-security-check Checks a Convex backend before merge for exposed functions, missing auth, weak validation, ownership gaps, and secrets in code. CX Codex +1 2,700installs convex-http-actions Adds HTTP endpoints in convex/http.ts: webhook receivers with signature checks, REST routes, CORS, streaming and file uploads. CX Codex +1 2,700installs convex-migrations Walks a live Convex schema change through six steps: optional field, batched backfill, validator flip, cleanup. Useful when npx convex dev rejects existing documents. CX Codex +1 2,600installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor