AgentSkillsCN

convex-backend

使用TypeScript查询、突变和动作构建实时、反应式的后端应用,具备自动反应性和乐观更新。在构建实时协作应用、实现反应式数据同步、编写无服务器后端函数、创建自动更新的查询、实现带有事务保障的突变、处理Convex存储的文件上传、实现Convex Auth认证、设计反应式数据库模式,或构建需要即时数据同步的应用时使用。

SKILL.md
--- frontmatter
name: convex-backend
description: Build real-time, reactive backend applications with Convex using TypeScript queries, mutations, and actions with automatic reactivity and optimistic updates. Use when building real-time collaborative applications, implementing reactive data synchronization, writing serverless backend functions, creating queries that auto-update, implementing mutations with transactional guarantees, handling file uploads with Convex storage, implementing authentication with Convex Auth, designing reactive database schemas, or building applications requiring instant data synchronization.

Convex Backend - Realtime Database & Functions

When to use this skill

  • Building real-time collaborative applications
  • Implementing reactive data that auto-updates
  • Writing Convex queries, mutations, and actions
  • Creating serverless backend functions with TypeScript
  • Implementing optimistic UI updates
  • Handling file uploads with Convex storage
  • Implementing authentication with Convex Auth
  • Designing Convex database schemas
  • Building chat applications or live dashboards
  • Creating applications with instant data sync
  • Implementing scheduled functions (crons)
  • Building backends without managing infrastructure

When to use this skill

  • Building realtime apps with Convex, implementing reactive queries, or managing backend logic with type-safe functions.
  • When working on related tasks or features
  • During development that requires this expertise

Use when: Building realtime apps with Convex, implementing reactive queries, or managing backend logic with type-safe functions.

Core Concepts

Queries (Read Data)

```typescript import { query } from './_generated/server'; import { v } from 'convex/values';

export const list = query({ args: {}, handler: async (ctx) => { return await ctx.db.query('users').collect(); } });

export const get = query({ args: { id: v.id('users') }, handler: async (ctx, args) => { return await ctx.db.get(args.id); } }); ```

Mutations (Write Data)

```typescript import { mutation } from './_generated/server';

export const create = mutation({ args: { name: v.string(), email: v.string() }, handler: async (ctx, args) => { return await ctx.db.insert('users', args); } }); ```

Resources