saas-multi-tenant — скилл для Claude Code: что делает и как установить
Скилл помогает спроектировать изоляцию арендаторов в SaaS на PostgreSQL и TypeScript. Настраивает политики RLS, промежуточное ПО для сессий и автофильтрацию запросов в ORM.
npx claude-code-templates@latest --skill development/saas-multi-tenantЧто делает saas-multi-tenant
Скилл предлагает архитектурные паттерны для разделения данных нескольких клиентов в единой базе. Для проектов до тысячи организаций рекомендуется общая схема с обязательным столбцом tenant_id типа UUID или TEXT во всех таблицах и составных индексах. Для разграничения доступа генерируются политики Row-Level Security (RLS) в PostgreSQL, привязанные к переменной конфигурации текущей сессии.
На уровне серверного кода инструкция описывает middleware для Express или маршрутов Next.js, где идентификатор организации извлекается из токена и задаётся через set_config внутри транзакции. Для Prisma и Drizzle формируются правила перехвата запросов, автоматически добавляющие условие фильтрации во все операции чтения и записи, кроме глобальных таблиц.
Для маршрутов администрирования со сбором данных по всем организациям требуется отдельная схема авторизации и явный обход RLS через специальную роль базы данных. Без изоляции прав администратора общая сессия клиента рискует открыть доступ к чужим записям.
Какие задачи решает
- внедрить Row-Level Security для изоляции клиентов в PostgreSQL
- настроить middleware для фиксации контекста организации в транзакции
- добавить автоматическую фильтрацию по арендаторам в запросы Prisma и Drizzle
- организовать безопасные маршруты для межтенантной аналитики администраторов
- подготовить миграции с обязательным полем идентификатора арендатора
Примеры запросов агенту
- Настрой политики RLS в PostgreSQL для таблицы projects и сессионной переменной арендатора
- Напиши middleware для Express, который ставит app.current_tenant_id в транзакции базы
- Создай расширение Prisma для автоматической подстановки tenantId во все запросы
Как установить saas-multi-tenant
1Через claude-code-templates
npx claude-code-templates@latest --skill development/saas-multi-tenant2Через Skills CLI (Vercel)
npx skills add davila7/claude-code-templates --skill saas-multi-tenant -a claude-code3Вручную: положить файлы
~/.claude/skills/saas-multi-tenant/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/saas-multi-tenant/
Вручную: положить файлы
.agents/skills/saas-multi-tenant/SKILL.mdДля всех проектов — ~/.agents/skills/
Вручную: положить файлы
.cursor/skills/saas-multi-tenant/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install davila7/claude-code-templates saas-multi-tenant2Вручную: положить файлы
.github/skills/saas-multi-tenant/SKILL.mdКомандой платформы
gemini skills install https://github.com/davila7/claude-code-templates --path cli-tool/components/skills/development/saas-multi-tenantВручную: положить файлы
.devin/skills/saas-multi-tenant/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о saas-multi-tenant
Как установить saas-multi-tenant в Claude Code?
Выполните команду npx claude-code-templates@latest --skill development/saas-multi-tenant. Также можно добавить его через команду npx skills add davila7/claude-code-templates --skill saas-multi-tenant -a claude-code.
Зачем нужен скилл saas-multi-tenant?
Он даёт агенту инструкции по созданию надёжной мультиарендной архитектуры в PostgreSQL и TypeScript без риска утечки данных между клиентами.
Как скилл организует доступ для администраторов сервиса?
Паттерн разделяет сессии: административные запросы выполняются под отдельной учётной записью или с явным обходом RLS через переключение роли базы данных.