Repository inventory

gmickel/my-claude-skills

Skills indexed from this repository, with install-style signals scoped to the repo.
1 skills4 GitHub stars0 weekly installsGitHubOwner profile

Overview

This skill provides practical guidance for building reliable Convex backends, including patterns for validators, indexes, actions, queries, mutations, file storage, scheduling, and React integration. It focuses on preventing common mistakes so your code compiles and runs on first try. The guidance is concise, actionable, and oriented around real Convex conventions and pitfalls.

How this skill works

The skill inspects Convex code patterns and enforces recommended conventions: generated imports, query/action signatures, index usage, scheduler behavior, and React hook usage. It highlights forbidden patterns (like .filter() on queries or conditional hooks) and prescribes the correct replacements and code snippets. It also maps common issues to concrete fixes and a verification checklist to apply before deployment.

When to use it

  • When writing new Convex queries, mutations, indexes, or actions.
  • When debugging compile-time or runtime Convex errors related to DB access or scheduler behavior.
  • When planning Convex app architecture or code organization.
  • When integrating Convex with React components or file storage.
  • When creating scheduled tasks and ensuring correct auth/context propagation.

Best practices

  • Import server functions from ./_generated/server and use query({ args, handler }) signature consistently.
  • Define and use indexes with .withIndex() instead of .filter(); never create a by_creation_time index.
  • Add "use node" at top of all actions and avoid ctx.db; use ctx.runQuery or ctx.runMutation for DB interactions.
  • For scheduled tasks, treat auth as not propagated and call internal functions explicitly.
  • In React, never call hooks conditionally; use a skip pattern prop or flag to bypass logic safely.

Example use cases

  • Converting a failing .filter()-based query to an indexed query using .withIndex() for performance and correctness.
  • Refactoring an action that used ctx.db to instead call ctx.runMutation for safer server-side execution.
  • Designing a scheduler job that invokes internal helpers and explicitly passes any required auth context.
  • Implementing React hooks that accept a skip flag to avoid conditional hook calls while preserving component logic.
  • Setting up file storage flows with validations and server-side checks following Convex patterns.

FAQ

Filters run client-side and bypass indexes; use .withIndex() to leverage server indexes and ensure compile-time correctness.

What does "use node" do in actions?

"use node" ensures the action runs in the Node environment and is required for proper server-side behavior and bundling.

How do I handle conditional UI that would call hooks?

Use a skip flag or prop so the hook is always invoked but skips internal work when not needed; never call hooks conditionally.

1 skills

More from this maintainer
Other repositories and skills published under the same GitHub owner.
Skills library
Jump back to the full directory or explore grouped topics.
Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational