Claude Skill MartBrowse skillsQuick linesLearn by videoTerminal guideWhat is a Skill?
Back to list

Convex Best Practices

Teaches Claude production-grade Convex patterns: function organization, arg/return validators, index-based queries, ConvexError handling, and OCC-safe mutations.

Dev & CodingIntermediate40432AI score 8/10Last updated: Feb 6, 2026

What it does

A rules-and-patterns skill for building apps on Convex, the reactive backend platform.

  • Function organization: domain files (users.ts, tasks.ts), public vs internalMutation
  • Validation: always declare both args and returns validators
  • Query performance: schema indexes plus withIndex instead of filter
  • Error handling: ConvexError with structured code/message for clients
  • Write-conflict avoidance (OCC): idempotent mutations, patch without a prior read, Promise.all for independent updates
  • Safety rails: never runs npx convex deploy or git commands unless told to
  • Points to @convex-dev/eslint-plugin and its four build-time rules, plus official docs and llms.txt

Who it's for

  • Developers shipping Convex + TypeScript backends
  • Teams tired of AI-generated Convex code missing return validators or abusing filter
  • Anyone chasing down Convex write-conflict (error #1) issues

Examples

  1. "Scaffold CRUD for the tasks table" → list/create/update/remove with return validators and a by_user index
  2. "This mutation keeps hitting write conflicts" → refactored to an idempotent early-return + direct patch
  3. "This query is slow" → replaces filter with a schema index and withIndex

· · · Install guide · · ·

Try it now, no install

Paste this into Claude to use the skill without installing anything.

Read the instructions in this file and follow them to help me:
https://raw.githubusercontent.com/waynesutton/convexskills/HEAD/skills/convex-best-practices/SKILL.md

What I want: (describe your task here)

If Claude can't open the link, open it yourself and paste the contents instead.

If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.

Install in the Claude app (no terminal)
  1. Download the ZIP with the button below.
  2. In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
  3. Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Download ZIP
Install in Claude Code

Let Claude do it — paste this into Claude Code

Install the skill I found on Claude Skill Mart.
Copy the skills/convex-best-practices folder from the GitHub repo waynesutton/convexskills into my ~/.claude/skills/convex-best-practices/.
When it's done, tell me in one line what this skill can do.

Install with a command instead

git clone https://github.com/waynesutton/convexskills.git /tmp/convexskills && mkdir -p ~/.claude/skills && cp -r /tmp/convexskills/skills/convex-best-practices ~/.claude/skills/

This is a third-party skill. Check the source repository before installing.

  1. Open a terminal.
  2. Clone the repo: git clone https://github.com/waynesutton/convexskills.git /tmp/convexskills
  3. Ensure the skills folder exists: mkdir -p ~/.claude/skills
  4. Copy the skill in: cp -r /tmp/convexskills/skills/convex-best-practices ~/.claude/skills/
  5. Restart Claude Code inside your Convex project and ask something like "review these Convex functions against best practices".
  6. Optional: add build-time checks with npm i @convex-dev/eslint-plugin --save-dev and the recommended config in eslint.config.js.
View source on GitHubLicense: Apache-2.0