Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
cloudai-x avatar

Convex Backend

  • 194 installs
  • 1.4k repo stars
  • Updated August 4, 2026
  • cloudai-x/claude-workflow-v2

Scaffold Convex schemas, functions, auth, and realtime queries when building serverless TypeScript backends for collaborative live-update applications.

About

Convex-backend skill from claude-workflow-v2 teaches agents to implement Convex serverless backends—schemas, queries, mutations, auth, and realtime patterns—for modern TypeScript SaaS products.

  • Convex schema and functions
  • Realtime data patterns
  • TypeScript serverless backend
  • Auth and scheduled jobs
  • Workflow v2 aligned guidance

Convex Backend by the numbers

  • 194 all-time installs (skills.sh)
  • Ranked #2,058 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/cloudai-x/claude-workflow-v2 --skill convex-backend

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs194
repo stars1.4k
Last updatedAugust 4, 2026
Repositorycloudai-x/claude-workflow-v2

What it does

Scaffold Convex schemas, functions, auth, and realtime queries when building serverless TypeScript backends for collaborative live-update applications.

Files

SKILL.mdMarkdownGitHub ↗

Convex Backend Guidelines

When to Load

  • Trigger: Convex-specific development, writing Convex functions, schemas, queries, mutations, actions, or real-time subscriptions
  • Skip: Project does not use Convex as its backend

Comprehensive guide for building Convex backends with TypeScript. Covers function syntax, validators, schemas, queries, mutations, actions, scheduling, and file storage.

When to Apply

Reference these guidelines when:

  • Writing new Convex functions (queries, mutations, actions)
  • Defining database schemas and validators
  • Implementing real-time data fetching
  • Setting up cron jobs or scheduled functions
  • Working with file storage
  • Designing API structure

Rule Categories

CategoryImpactDescription
Function SyntaxCRITICALNew function syntax with args/returns/handler
ValidatorsCRITICALType-safe argument and return validation
Schema DesignHIGHTable definitions, indexes, system fields
Query PatternsHIGHEfficient data fetching with indexes
Mutation PatternsMEDIUMDatabase writes, patch vs replace
Action PatternsMEDIUMExternal API calls, Node.js runtime
SchedulingMEDIUMCrons and delayed function execution
File StorageLOWBlob storage and metadata

Quick Reference

Function Registration

// Public functions (exposed to clients)
import { query, mutation, action } from "./_generated/server";

// Internal functions (only callable from other Convex functions)
import {
  internalQuery,
  internalMutation,
  internalAction,
} from "./_generated/server";

Function Syntax (Always Use This)

export const myFunction = query({
  args: { name: v.string() },
  returns: v.string(),
  handler: async (ctx, args) => {
    return "Hello " + args.name;
  },
});

Common Validators

TypeValidatorExample
Stringv.string()"hello"
Numberv.number()3.14
Booleanv.boolean()true
IDv.id("tableName")doc._id
Arrayv.array(v.string())["a", "b"]
Objectv.object({...}){name: "x"}
Optionalv.optional(v.string())undefined
Unionv.union(v.string(), v.number())"x" or 1
Literalv.literal("status")"status"
Nullv.null()null

Function References

// Public functions
import { api } from "./_generated/api";
api.example.myQuery; // convex/example.ts → myQuery

// Internal functions
import { internal } from "./_generated/api";
internal.example.myInternalMutation;

Query with Index

// Schema
messages: defineTable({...}).index("by_channel", ["channelId"])

// Query
await ctx.db
  .query("messages")
  .withIndex("by_channel", (q) => q.eq("channelId", channelId))
  .order("desc")
  .take(10);

Key Rules

1. Always include `args` and `returns` validators on all functions 2. Use `v.null()` for void returns - never omit return validator 3. Use `withIndex()` not `filter()` - define indexes in schema 4. Use `internalQuery/Mutation/Action` for private functions 5. Actions cannot access `ctx.db` - use runQuery/runMutation instead 6. Include type annotations when calling functions in same file

Full Compiled Document

For the complete guide with all rules and detailed code examples, see AGENTS.md.

Related skills

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.