convex-reviewer

Revisor de código Convex — comprobaciones de seguridad, autenticación, validadores, rendimiento y patrones para código en un directorio convex/. Úsalo para revisar o auditar funciones de Convex antes de publicarlas.

npx skills add https://github.com/get-convex/agent-skills --skill convex-reviewer

Convex Code Reviewer

Structured review of Convex code for security, authorization, validators, performance, and schema design. Applies a Convex-specific checklist and flags anti-patterns with severity (Critical / Important / Suggestion).

Workflow

  1. First pass — Security: verify all public functions check ctx.auth.getUserIdentity(), verify resource ownership before reads/writes, confirm no client-provided user IDs are trusted, confirm scheduled functions target internal.* not api.*.
  2. Second pass — Performance: confirm no .filter() on DB queries (withIndex required), verify all foreign-key fields have indexes, confirm no Date.now() in query handlers, confirm .collect() is not used on unbounded queries.
  3. Third pass — Code quality: confirm args and returns validators on every public function, no any types, promises are awaited, arrays in documents are bounded (<8192 elements).
  4. Report findings grouped by severity; explain why each issue matters and suggest a fix.

Rules

  • Flag missing auth checks as Critical — any unauthenticated public mutation is a data-loss risk.
  • Flag .filter() on DB queries as Important — it is a full table scan.
  • Flag Date.now() in query handlers as Important — it breaks reactivity.
  • Flag missing args or returns validators as Important.
  • Flag scheduling to api.* (not internal.*) as Important.
  • Always explain why a change is needed, not just what to change.

Más skills de get-convex

convex-performance-audit
get-convex
Audita el rendimiento de Convex en lecturas, suscripciones, contención de escritura y límites de funciones. Úselo para funciones lentas, hallazgos de insights, conflictos OCC o amplificación de lectura.
developmentdatabasedata-analysis
convex
get-convex
Enruta solicitudes generales de Convex a la habilidad de proyecto correcta. Úsalo cuando el usuario pregunte qué habilidad de Convex usar o asigne una tarea de aplicación de Convex poco especificada.
developmentdatabase
convex-setup-auth
get-convex
Configura la autenticación de Convex, el mapeo de identidad y el control de acceso. Úsalo para inicio de sesión, proveedores de autenticación, tablas de usuarios, funciones protegidas o roles en una aplicación de Convex.
developmentdatabaseapi
convex-quickstart
get-convex
Crea o añade Convex a una aplicación. Se usa para nuevos proyectos de Convex, npm create convex@latest, configuración del frontend, variables de entorno, o la primera ejecución de npx convex dev.
developmentdatabase
convex-migration-helper
get-convex
Planifica migraciones de esquemas y datos de Convex con widen-migrate-narrow y @convex-dev/migrations. Úsalo para cambios de esquema disruptivos, rellenos de datos, remodelación de tablas o implementaciones sin tiempo de inactividad.
developmentdatabase
convex-create-component
get-convex
Construye componentes reutilizables de Convex con tablas aisladas y APIs orientadas a la aplicación. Úselo para nuevos componentes, módulos de backend reutilizables, integraciones o trabajo en límites de componentes.
developmentdatabase
convex-migrate
get-convex
Migra el esquema y rellena datos en una app de Convex desplegada usando @convex-dev/migrations.
developmentdatabase
convex-optimize
get-convex
Auditar y optimizar una aplicación Convex existente: seguridad, escala, actualizaciones, observabilidad.