
Description
Check the CURRENT Convex app's pinned components against the latest recommended versions and offer to upgrade them — e.g. the passkey auth component's new email-first sign-in. TRIGGER when the user runs /check-updates or $check-updates, asks 'are my components up to date', 'any updates', 'upgrade auth', 'upgrade my components', or wants the newest features after a quickstart. Applies each upgrade behind a build gate (verify-or-revert) with the user's consent.
SKILL.md
Check + apply component updates
Run from the app's project root (where package.json lives — the convex-app/
subdir for a quickstart). Detect stale components against the anteater registry:
curl -fsSL https://basic-anteater-667.convex.site/check-updates.mjs -o /tmp/cu.mjs && node /tmp/cu.mjs
COMPONENTS_UP_TO_DATE→ tell the user everything's current. Done.COMPONENTS_STALE=<n>+ a JSON array → for each entry, summarize for the user: the component,installed → current, thesummary(what's new), and whether it'sbreaking. Then ASK before changing anything — "Upgrade<name>to get? [y/n]". Never upgrade without an explicit yes.
On a yes, apply that entry's migration:
- Install the new ref (
migration.install) with the project's package manager. - Apply
migration.stepsin order — the call-site changes. Read the existing code first; make the minimal change each step describes. Delegate anyconvex/edits to theconvex-expertskill/subagent. - GATE — verify or revert. Run every command in
migration.gate(e.g.pnpm exec tsc --noEmit,pnpm exec next build). If ANY fails, revert (git checkout -- ., or reinstall the old ref) and tell the user it didn't apply cleanly — never leave the app half-migrated. - Smoke — give the user the
migration.smokecheck to run (the runtime behavior the build gate can't prove), e.g. register → sign out → sign in by the same email.
Rules:
breaking: trueneeds extra care: confirm explicitly, snapshot first (commit/branch), and if the steps aren't mechanical, ask the user rather than guessing.- Don't auto-publish. If the app is already live on
*.convex.app/ a custom domain, the upgrade only reaches the live site on re-publish — confirm before re-deploying (no surprise downtime on a live domain). - One component at a time; gate each before the next.
More skills from the convex-codex-plugin repository
View all 19 skillsadd
add capabilities to Convex applications
Jul 12BackendConvexNext.jsagent
build AI agents with Convex
Jul 12AgentsEngineeringRAGSearchauth
add authentication to Convex applications
Jul 18AuthAuthenticationConvexOAuthbilling
integrate Stripe billing in Convex apps
Jul 12ConvexPaymentsStripeWebhooksconvex-authz
audit and harden Convex authorization
Jul 12AuthCode AnalysisConvexSecurityconvex-expert
develop Convex backend applications
Jul 18BackendConvexDatabaseTypeScript
More from Convex
View publisherconvex
guide Convex project setup and usage
agent-skills
Jul 12BackendConvexDatabaseconvex-create-component
build reusable Convex components
agent-skills
Jul 12API DevelopmentArchitectureBackendConvexconvex-migration-helper
plan Convex schema and data migrations
agent-skills
Jul 12BackendConvexData EngineeringMigrationconvex-performance-audit
audit Convex application performance
agent-skills
Jul 12ConvexDebuggingMonitoringPerformanceconvex-quickstart
initialize Convex in applications
agent-skills
Jul 12CLIConvexFrontendOnboardingconvex-setup-auth
set up authentication and access control
agent-skills
Jul 12Access ControlAuthBackendConvex