tRPC — скиллы для агентов
tRPC skills
24 скилла в пакетах tRPC: сервер, адаптеры, клиент, Next.js, TanStack React Query и OpenAPI подгружаются агенту по теме задачи через TanStack Intent
- 40 742 ★ репозитория
- Последний коммит
- MIT
Минимальный доступ
Почему такой уровень
- Скиллы только описывают приемы работы, но по ним агент создает и правит код сервера и клиента, включая аутентификацию
- Команда `npx @tanstack/intent@latest` скачивает и запускает пакет из npm
Установка
- Работает в
Ручная установка
npx @tanstack/intent@latest installКоманда из раздела «AI Agents»: печатает промпт, по которому агент сам настраивается на скиллы tRPC и других установленных пакетов.
Доступ и проверки
Как мы проверяемМинимальный доступИнструмент ничего не запускает и не ходит в сеть.
- Скиллы только описывают приемы работы, но по ним агент создает и правит код сервера и клиента, включая аутентификацию
- Команда `npx @tanstack/intent@latest` скачивает и запускает пакет из npm
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
В репозитории tRPC лежат 24 файла `SKILL.md`, по одному на тему: они разложены по пакетам `server`, `client`, `next`, `openapi` и `tanstack-react-query`. Установка идет через TanStack Intent: команда `npx @tanstack/intent@latest install` печатает промпт, по которому агент сам настраивается на скиллы tRPC и других установленных пакетов. Когда задача совпадает с темой скилла, его `SKILL.md` подгружается в контекст. Большая часть скиллов относится к серверу. Скилл `server-setup` показывает `initTRPC.create()`, роутеры, процедуры, контекст, тип `AppRouter`, слияние и ленивую загрузку роутеров. Отдельные скиллы описывают `auth`, `middlewares`, `validators`, `caching`, `error-handling`, `subscriptions`, нестандартные типы содержимого и вызовы на стороне сервера. Для запуска есть пять скиллов-адаптеров: standalone, Express, Fastify, Fetch и AWS Lambda. На стороне клиента скиллы `client-setup`, `links` и `superjson` настраивают клиент, цепочку звеньев и сериализацию, а два скилла для Next.js разделены на App Router и Pages Router. Для TanStack React Query есть `react-query-setup` и скилл `react-query-classic-migration`: он запускает `npx @trpc/upgrade` для автоматической замены хуков, затем агент вручную дорабатывает остальное, например провайдер и инвалидацию запросов. Скилл `openapi` относится к пакету tRPC для работы с описаниями OpenAPI. В заголовке каждого скилла указаны тип (`core` или `lifecycle`), версия библиотеки 11.16.0, зависимости от других скиллов и список источников в документации и коде.
Для кого. Для TypeScript-разработчиков, которые строят API на tRPC с Next.js, Express или Fastify и хотят, чтобы агент писал код под текущую версию библиотеки, а не по памяти.
Подходит, если
- Нужно поднять tRPC-сервер с нуля: роутеры, процедуры, контекст и тип `AppRouter` для клиента
- Проект переезжает с классических хуков `@trpc/react-query` на `@trpc/tanstack-react-query`, и нужен пошаговый перенос после автоматической замены
- Надо подключить tRPC к Express, Fastify, AWS Lambda или к обработчику на Fetch API
- Нужны подписки, проверка прав через `middleware` или кеширование ответов процедур
- Агент пишет клиент в Next.js и путает App Router с Pages Router
Не подходит, если
- В проекте нет tRPC: скиллы описывают только его пакеты и ничего не знают о других способах строить API
- Нужна установка одной командой в нужного агента: через TanStack Intent агент сам настраивается по напечатанному промпту, а не получает файлы автоматически
- Задача касается только TanStack Query без tRPC: скиллы описывают его лишь в связке с tRPC
- Версия tRPC в проекте старая: скиллы написаны под библиотеку 11.16.0
Пример запроса к агенту
Подними tRPC-сервер на Express с проверкой входных данных через Zod и аутентификацией в `middleware`, тип `AppRouter` экспортируй для клиента на Next.jsОграничения
- Скиллы поставляются вместе с библиотекой и обновляются с ее версиями: после `npm update @trpc/server` приходят новые тексты. Версия, на которую они написаны, указана в заголовках как 11.16.0.
- Для работы нужен `@tanstack/intent`: файл `bin/intent.js` в пакетах подключает его и при отсутствии сообщает, что пакет не установлен. Запустить можно и через `npx`.
- Команда `stale` находит скиллы, чьи источники в документации устарели, а команда `meta feedback-collection` печатает промпт для отчета об ошибках в скилле. Оба шага необязательны.
- Автоматическая замена хуков командой `npx @trpc/upgrade` не покрывает все случаи: в тексте миграции авторы называют ее незавершенной разработкой и просят проверять типы после запуска.
- Лицензия MIT.
Как отключить. Уберите из настроек агента подключение скиллов, которое добавил TanStack Intent, и он перестанет подгружать их по темам. Сами файлы `SKILL.md` лежат внутри пакетов tRPC в `node_modules` и исчезнут при удалении пакетов.
Частые вопросы
Как подключить скиллы tRPC к Claude Code, Cursor или Windsurf?
В корне проекта выполните `npx @tanstack/intent@latest install`. Команда печатает промпт, и агент сам прописывает доступ к скиллам tRPC и других пакетов проекта. Авторы называют Claude Code, Cursor и Windsurf, в списке стоит «и другие».
Сколько скиллов в tRPC и по каким темам?
Всего 24: 16 в пакете `server` (маршрутизатор, настройка, пять адаптеров, права, проверки, кеширование, ошибки, подписки и другие), 3 в `client`, 2 в `next`, 2 в `tanstack-react-query` и 1 в `openapi`.
Как скиллы узнают, что они устарели?
Они выходят вместе с релизами библиотеки: при обновлении `@trpc/server` приходит и новая редакция. Команда `npx @tanstack/intent@latest stale` находит скиллы, чьи источники в документации устарели.
Как перенести проект с `@trpc/react-query` на новый клиент?
Скилл `react-query-classic-migration` предлагает запустить `npx @trpc/upgrade` и выбрать замену хуков на `queryOptions` и `mutationOptions` и перенос провайдера. Затем нужно поставить `@trpc/tanstack-react-query`, заменить `createTRPCReact` на `createTRPCContext` и проверить типы. Оба пакета можно держать в проекте одновременно, поэтому переезд идет по частям.
Как сообщить о проблеме в скилле?
Выполните `npx @tanstack/intent@latest meta feedback-collection`. Команда печатает промпт, по которому агент соберет структурированный отзыв о пробелах, ошибках и улучшениях.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыScalar API Reference — скилл для агентов
Scalar API Reference skill
Скилл подключает справочник Scalar к приложению по описанию OpenAPI: интеграции, аутентификация, темы и миграция со Swagger UI
Скилл Payload
Payload agent skill
Официальный скилл Payload CMS, который приходит вместе с пакетом: коллекции, поля, хуки, доступы, запросы и адаптеры баз данных
Скилл Prisma 8
prisma-8
Официальный скилл Prisma 8, который ставится из пакетов проекта: контракт данных, миграции, запросы, обновление версий
Скилл FastAPI
FastAPI skill
Официальный скилл FastAPI, который поставляется вместе с пакетом и учит агента писать код под установленную версию
builder-skills — скиллы для приложений на Convex
builder-skills
17 скиллов учат агента писать приложения на Convex по документации и вести проект через PRD, task.md и журнал изменений
Официальные скиллы Supabase: помогают агенту работать с базой, Auth, Edge Functions и лучшими практиками Postgres
Коротко о README
Описание tRPC показывает сквозную типизацию API на TypeScript и примеры запуска стартовых проектов с Next.js и Prisma. Раздел «AI Agents» дает единственную команду для скиллов, а отдельная страница документации о скиллах разбирает установку, обновление, проверку устаревших ссылок и отзывы. В пакетах лежат папки skills и файлы `bin/intent.js`, а сам репозиторий содержит правила для Cursor, предназначенные для работы над кодом tRPC.
Бейдж для README
Исходный SKILL.md
---
name: server-setup
description: >
Initialize tRPC with initTRPC.create(), define routers with t.router(),
create procedures with .query()/.mutation()/.subscription(), configure context
with createContext(), export AppRouter type, merge routers with t.mergeRouters(),
lazy-load routers with lazy().
type: core
library: trpc
library_version: '11.16.0'
requires: []
---
# tRPC -- Server Setup
## Setup
```ts
// server/trpc.ts
import { initTRPC } from '@trpc/server';
const t = initTRPC.create();
export const router = t.router;
export const publicProcedure = t.procedure;
```