What problem does it solve? TanStack Start loaders are isomorphic and run on both client and server, so database queries, secret API keys, and file system access cannot live in loaders directly. This Skill teaches how to build type-safe server functions with createServerFn so server-only logic runs exclusively on the backend while remaining callable from loaders, components, and hooks. ## Core Features & Use Cases - Type-safe RPCs: Create GET/POST server functions with createServerFn, validate inputs with Zod or plain functions, and call them from loaders or the useServerFn hook. - Server context and error handling: Access request headers, set response status and Cache-Control headers, and throw errors, redirects, or notFound from handlers. - Security guardrails: Enforce auth inside handlers via middleware, avoid public caching of authenticated responses, and organize code into .functions.ts and .server.ts files. - Use Case: You need a mutation that creates an issue in the database from a form. Define a POST server function with a Zod validator, call it via useServerFn from the component, then invalidate the router cache so the loader re-reads persisted data. ## Quick Start Ask the AI to create a TanStack Start server function that validates input with Zod, enforces auth via middleware, and is called from a route loader.