skills/convex/SKILL.md
Convex backend development - queries, mutations, actions, schemas, indexes, realtime subscriptions, optimistic updates, file storage, HTTP endpoints, webhooks, cron jobs, migrations, AI/LLM agents, RAG, security, authentication, authorization, rate limiting, error handling with ConvexError, code review, convex-helpers, custom functions, triggers, row-level security, relationship helpers, Hono, CORS, Zod validation, CRUD, manual pagination, QueryStreams, query caching, sessions, workpool, components, RBAC, audit trails. Use when writing Convex functions, defining schemas, building real-time features, integrating external APIs, handling file uploads, setting up scheduled jobs, performing database migrations, building AI chat interfaces, reviewing Convex code for production readiness, using convex-helpers patterns, or building reusable Convex components.
npx skillsauth add aaronvanston/agent-skills convexInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
args AND returns validators on every functionConvexError with structured codes, not plain Error.withIndex() not .filter() for database queriesinternal.* (never api.*) for scheduling and ctx.run* calls"use node"; only when you need Node.js APIsconvex/model/ helpers, thin public API wrappersawait promises (ctx.db.*, ctx.scheduler.*)@convex-dev/eslint-plugin for build-time validation| Priority | Category | Impact | Prefix |
|----------|----------|--------|--------|
| 1 | Security | CRITICAL | security- |
| 2 | Validation | HIGH | validation- |
| 3 | Performance | HIGH | performance- |
| 4 | Code Quality | MEDIUM | code-quality- |
security-auth-check - Always check authentication in public functionssecurity-internal-functions - Use internal functions for scheduling and ctx.run callssecurity-row-level-access - Verify row-level ownership before mutationssecurity-convex-error - Use ConvexError instead of plain Errorsecurity-rate-limiting - Implement rate limiting for public mutationssecurity-table-name - Include table name in ctx.db callsvalidation-return-types - Always define return validators on functionsperformance-no-filter - Use .withIndex() instead of .filter() on queriesperformance-bounded-collect - Only use .collect() with bounded result setsperformance-no-date-now - Don't use Date.now() in query functionscode-quality-await-promises - Always await async operationsRead individual rule files for detailed explanations and code examples:
rules/security-auth-check.md
rules/performance-no-filter.md
Each rule file contains:
development
Create deeply researched wiki term entries with web research, practical examples, and cross-references. Use when the user asks to "create a wiki term," "write a term entry," "add a glossary definition," "research a concept," "define this term," or when a meeting ingestion identifies terms to create. Produces comprehensive entries with external citations, worked examples, and detailed breakdowns. Works with any domain wiki using markdown content.
documentation
Set up a markdown-based wiki knowledge base in a repository. Creates the directory structure, writing guide, AGENTS.md configuration, and initial content templates. Use when the user asks to "set up a wiki," "create a knowledge base," "start a wiki," "initialize wiki content," "set up a second brain," or wants to create a structured markdown content system for learning and research in their project.
documentation
Ingest a meeting transcript into a markdown wiki -- creating cleaned transcripts, structured meeting notes, person profiles, term stubs, and feature evidence. Use when the user asks to "ingest meeting notes," "process a meeting," "add meeting to wiki," "create meeting notes from transcript," "process Granola notes," or provides a transcript to be turned into wiki content. Works with any domain wiki that follows the markdown content directory pattern.
development
Build tables and datagrids with TanStack Table v8. Covers column definitions, row models, sorting, filtering, pagination, grouping, expanding, row selection, column sizing/ordering/pinning/visibility, virtualization, row pinning, faceting, fuzzy filtering, custom features, state management, and rendering. React adapter primary, core API is framework-agnostic. Use when asked to "build a data table", "add sorting to a table", "paginate results", "filter table data", "create a datagrid", "add row selection", "virtualize a large table", or any task involving TanStack Table.