What problem does it solve? When you need an endpoint callable from outside your TanStack Start app — webhooks, public REST APIs, OAuth callbacks, or cross-origin clients — internal server functions are not enough. This Skill guides the implementation of server routes: raw HTTP handlers defined alongside app routes that return standard Response objects. ## Core Features & Use Cases - HTTP Handlers with Full Context: Define GET, POST, PUT, DELETE handlers receiving request, params, context, pathname, and next, with dynamic ($id) and splat ($) params from the file name. - Middleware Control: Apply route-wide middleware via server.middleware or per-handler middleware via createHandlers, with correct execution ordering. - Decision Guidance: Clear rules for choosing a server route versus a server function, plus collision rules (one handler file per route path) and body-parsing requirements. - Use Case: You need a Stripe webhook receiver at /webhooks/stripe. This Skill provides the template: a POST handler that reads the raw body with await request.text(), verifies the signature, and returns the correct Response status. ## Quick Start Ask the agent to create a server route at src/routes/api/users/$id.ts with GET and DELETE handlers that read params.id and return Response.json results.