What problem does it solve? Writing Convex backend functions correctly requires knowing when to use queries, mutations, actions, or HTTP actions, plus proper argument validation and error handling. This Skill provides patterns and code examples that prevent common mistakes like calling external APIs from queries or skipping return validators. ## Core Features & Use Cases - Function Type Guidance: Clear rules for choosing between reactive queries, transactional mutations, external-API actions, and HTTP webhook endpoints. - Validation & Error Handling: Enforces args and returns validators on every function, ConvexError for user-facing failures, and internal functions for sensitive operations. - Use Case: When building a chat backend, use this Skill to write a query listing channel messages with an index, a mutation that validates input and inserts messages, and an internal mutation scheduled to notify subscribers. ## Quick Start Write a Convex mutation that creates a task with argument validation and throws a ConvexError if the user does not exist.