What problem does it solve?
A passing typecheck only proves Convex code compiles; it does not prove a non-owner is denied access, a query returns the right rows, or a mutation has the intended effect. This Skill closes that gap by running seed-drive-assert verification loops in-process with convex-test, with emphasis on negative authorization assertions that catch the most common real-world defects.
Core Features & Use Cases
- In-Process Verification: Runs tests with convex-test and vitest in edge-runtime, requiring no deployment.
- Multi-Identity Testing: Drives functions as the owner, a different authenticated user, and an unauthenticated caller using t.withIdentity.
- Negative Authorization Assertions: Proves wrong callers are refused and list queries never leak another user's rows.
- Use Case: After building an owner-only cancel mutation, verify that the owner succeeds, another user is rejected with a forbidden error, and unauthenticated calls fail, all before shipping.
Quick Start
Verify that my new Convex cancel mutation only works for the owning user and rejects everyone else.