The skill covers routers under apps/server/src/routers/lambda, with helpers and schemas in sibling folders. The main rule is to inject models into ctx through middleware instead of constructing a new model inside every procedure, with an exception for cases such as a watchdog iterating over several users' tasks. Procedures use zod input schemas defined at the top of the file, and each router is exported as a fooRouter built with router().
For views that need related data, it recommends one aggregated detail procedure that fetches everything in parallel, so the CLI or frontend avoids many sequential requests. Other conventions are that queries return data with success true, mutations return data, a message and success true, TRPCError is re-thrown while other errors are logged and wrapped, procedures are alphabetical within the router, and log lines carry a prefix naming the domain and procedure.