Individual skill
trpc
Corrects the wrong defaults a model has for tRPC v11 (verified against 11.18.0). Use when code imports initTRPC, createTRPCContext, createTRPCOptionsProxy, createTRPCReact, httpBatchLink, httpSubscriptionLink, fetchRequestHandler, or TRPCError, or when building routers, procedures, middleware, links, or RSC prefetching. Covers the v10 to v11 drift that makes stale code fail — the React client that flipped to @trpc/tanstack-react-query, transformers moving into links, renamed type exports, observable subscriptions replaced by async generators over SSE — plus the defaults that are unsafe rather than merely stale — uncapped batching, CDN cache headers that serve one user's data to another, stack traces shipped from edge runtimes, and middleware that runs before input validation. NOT for TanStack Query semantics generally (use tanstack-query), Zod schema authoring (use zod), or Next.js App Router routing (use nextjs).
skills/.experimental/trpc/SKILL.md
Source commit cf93c57cac89d6fc3e4194686000411567f5caf3
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- Yes
- Observed behavior
- Not checked yet
- Last checked
- Nov 5, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 222
- Repository last updated
- Aug 15, 2026
- License
- MIT
Observed agent integration: codex
- data Derived category
- engineering Derived category
- engineering-web Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
AGENTS.mddoc · 8,609 bytesSKILL.mdcore · 11,162 bytesassets/templates/_template.mddoc · 1,381 bytesmetadata.jsonasset · 3,346 bytesreferences/_sections.mddoc · 3,838 bytesreferences/client-derive-query-keys.mddoc · 2,495 bytesreferences/client-invalidate-with-query-filters.mddoc · 2,798 bytesreferences/client-subscription-options.mddoc · 2,345 bytesreferences/client-tanstack-integration.mddoc · 2,409 bytesreferences/err-format-standard-schema-issues.mddoc · 2,747 bytesreferences/err-nullish-cursor.mddoc · 2,177 bytesreferences/err-output-strips-fields.mddoc · 2,115 bytesreferences/err-set-isdev-explicitly.mddoc · 1,763 bytesreferences/link-cap-batch-size.mddoc · 2,700 bytesreferences/link-default-to-httpbatchlink.mddoc · 2,541 bytesreferences/link-endpoint-matches-mount-path.mddoc · 1,594 bytesreferences/link-gate-cache-headers.mddoc · 2,503 bytesreferences/link-read-batch-headers-from-oplist.mddoc · 1,893 bytesreferences/link-route-subscriptions-separately.mddoc · 1,733 bytesreferences/link-scope-body-parsers.mddoc · 1,886 bytesreferences/link-transformer-on-terminating-links.mddoc · 2,883 bytesreferences/mig-await-get-raw-input.mddoc · 2,170 bytesreferences/mig-formdata-is-native.mddoc · 2,579 bytesreferences/mig-renamed-type-exports.mddoc · 3,336 bytesreferences/mig-typescript-version-floor.mddoc · 1,949 bytesreferences/proc-concat-over-standalone-middleware.mddoc · 2,368 bytesreferences/proc-input-before-use.mddoc · 2,589 bytesreferences/proc-merge-only-object-inputs.mddoc · 2,149 bytesreferences/proc-narrow-ctx-in-middleware.mddoc · 2,287 bytesreferences/proc-single-trpc-instance.mddoc · 2,214 bytesreferences/rsc-dehydrate-pending-queries.mddoc · 2,002 bytesreferences/rsc-prefetch-through-options-proxy.mddoc · 3,200 bytesreferences/rsc-query-client-per-request.mddoc · 2,485 bytesreferences/rsc-share-logic-not-callers.mddoc · 2,471 bytesreferences/sub-attach-listener-before-backlog.mddoc · 2,763 bytesreferences/sub-enable-sse-keepalive.mddoc · 2,348 bytesreferences/sub-keep-credentials-out-of-urls.mddoc · 2,410 bytesreferences/sub-write-async-generators.mddoc · 2,083 bytes
Read excerpt
# tRPC v11
The decisions tRPC forces and how to settle them, written so an agent applies them while writing or reviewing code. Every rule names the wrong default it corrects; there is no rule for what the model already gets right.
**Pinned to tRPC v11, verified against `11.18.0` (2026-06-17).** There is no v12 — but several APIs here carry `@deprecated … will be removed in v12` and still ship today. Peers: `typescript >=5.7.2`, `@tanstack/react-query ^5.80.3`, `react >=18.2.0`.
## When to Apply
Use this skill when:
- Code imports `initTRPC`, `createTRPCContext`, `createTRPCOptionsProxy`, `createTRPCReact`, `createTRPCClient`, `httpBatchLink`, `httpSubscriptionLink`, `splitLink`, `fetchRequestHandler`, `createCallerFactory`, or `TRPCError` — or defines procedures with `.input()` / `.output()` / `.use()` / `.query()` / `.mutation()` / `.subscription()`
- The user says "everything types as `any`", "invalidation isn't working", "`contextMap[utilName] is not a function`", "the transformer property moved", "414 / 413 on the dashboard", "subscriptions won't connect", "the prefetch isn't hydrating", or "it 404s every procedure"
- Migrating a codebase from tRPC v10, or reviewing tRPC code written against v10-era examples — the highest-yield moment, because the recommended React client changed and stale code often still compiles
- Adding the first subscription, the first file upload, or the first RSC prefetch to an existing router — each crosses into a surface where v11 replaced the v10 approach outright