convex-performance-audit

Diagnoses and fixes Convex performance issues across reads, writes, subscriptions, and function limits.

Updated Apr 8, 2026
One-click install
npx skills add https://github.com/Noisemaker111/unofficialmarathon --skill convex-performance-audit-noisemaker111
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: convex-performance-audit
Source: https://github.com/Noisemaker111/unofficialmarathon/tree/main/packages/backend/.crush/skills/convex-performance-audit
Command: npx skills add https://github.com/Noisemaker111/unofficialmarathon --skill convex-performance-audit-noisemaker111

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Convex applications can become slow or expensive due to read amplification, OCC write conflicts, excessive reactive subscriptions, or functions hitting execution and transaction limits. This Skill provides a structured audit workflow that starts from real signals like npx convex insights --details and routes each symptom to a targeted fix guide. ## Core Features & Use Cases - Signal-driven diagnosis: Gathers evidence from Convex deployment health insights, CLI insights, or code audits before recommending any change, with guardrails against over-engineering small-scale apps. - Four problem-class playbooks: Reference guides cover hot-path read amplification and indexes, OCC conflict resolution and hot document splitting, subscription cost reduction, and function budget limits with batching patterns. - Sibling-function consistency: When one query or mutation is fixed, the workflow audits all sibling readers and writers on the same tables so the same pattern is fixed everywhere. - Use Case: Your dashboard shows OCC conflict errors on a shared counter document. The Skill routes you to the OCC reference, which walks you through sharding the counter and moving non-critical bookkeeping to scheduled functions. ## Quick Start Ask the assistant to audit your Convex app for performance issues, starting with the strongest available signal such as insights output or a slow page.

Frequently Asked Questions about convex-performance-audit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix slow Convex queries with high bytes read?▼

Run npx convex insights --details to identify the expensive function, then replace scan-plus-filter patterns with withIndex queries so storage does the filtering. For hot list pages, consider digest tables that read smaller document shapes instead of full source documents.

How to resolve OCC conflict errors in Convex mutations?▼

OCC conflicts come from concurrent transactions touching overlapping data. Reduce read set size with indexed queries, split hot documents like shared counters into shards, and move non-critical bookkeeping to scheduled functions via ctx.scheduler.runAfter.

Does Convex .filter() push predicates to the storage layer?▼

No, the Convex .filter() method has the same performance as filtering in JavaScript and does not reduce documents scanned. Only .withIndex() and .withSearchIndex() actually push filtering to the storage layer.

Why does my Convex app have slow UI updates with many subscriptions?▼

Every useQuery and usePaginatedQuery creates a live subscription that re-runs when its read set changes. Reduce cost by batching related data into fewer queries, using skip for unready arguments, isolating frequently-updated fields, and removing Date.now() from queries.

When should I not restructure my Convex schema for performance?▼

Avoid digest tables, document splitting, or migration-heavy rollouts when scale is small, traffic is modest, or signals are weak. A simple scan on a small table is often acceptable, and structural work should follow a measured signal or a clearly unbounded hot path.