К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

firebase-data-connect — скилл для Claude Code: суть и установка

Скилл помогает проектировать схемы PostgreSQL, писать GraphQL-запросы и генерировать типизированные SDK для Firebase SQL Connect. Полезен при работе с реляционными базами в Firebase.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add firebase/agent-skills --skill firebase-data-connect -a claude-code
npx skills add firebase/agent-skills --skill firebase-data-connect-basics -a claude-code
Открыть на GitHub

Что делает firebase-data-connect

Скилл структурирует работу с Firebase SQL Connect (ранее называвшимся Firebase Data Connect) поверх Cloud SQL для PostgreSQL. Он распределяет проект по папкам: schema/schema.gql под модели данных, connector/queries.gql и mutations.gql под операции, а connector.yaml под параметры генерации клиентского кода. По умолчанию инструмент ориентирует на Native GraphQL с автоматической типизацией, фильтрацией и транзакциями через директиву @transaction.

Для валидации схемы и операций используется команда npx -y firebase-tools@latest dataconnect:compile. Если возможностей GraphQL не хватает, скилл допускает Native SQL с функциями PostGIS или оконными операциями, но такой путь полностью лишает запросы статической типизации. Это повод дважды подумать перед отказом от стандартного GraphQL. Безопасность настраивается прямо в коде директивами @auth, @check и @redact.

Какие задачи решает

  • спроектировать реляционную схему PostgreSQL с директивами @table и @ref
  • настроить правила доступа к данным через @auth, @check и @redact
  • собрать атомарные транзакции с директивой @transaction
  • сгенерировать типизированный SDK для веб-клиента, Swift, Kotlin или Flutter

Примеры запросов агенту

  • Создай схему в dataconnect/schema/schema.gql для пользователей и их заказов с отношением один-ко-многим.
  • Напиши мутацию с директивой @auth и проверкой прав для обновления профиля.
  • Проверь корректность схемы через firebase-tools и сгенерируй TypeScript SDK.

Как установить firebase-data-connect

1Через Skills CLI (Vercel)

npx skills add firebase/agent-skills --skill firebase-data-connect -a claude-code
npx skills add firebase/agent-skills --skill firebase-data-connect-basics -a claude-code

2Вручную: положить файлы

~/.claude/skills/firebase-data-connect-basics/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/firebase-data-connect-basics/

Из того же набора8

Весь набор →
firebase-hosting-basics Google LLC Разворачивает статические сайты и SPA на Firebase Hosting CDN с SSL, preview-каналами и кастомными доменами. Claude Code CX Codex Cursor +1 169 800установок firebase-app-hosting-basics Google LLC Скилл помогает разворачивать и управлять SSR-приложениями на Next.js и Angular через Firebase App Hosting. Нужен для конфигурации, секретов и деплоя. Claude Code CX Codex Cursor +1 169 200установок firebase-security-rules-auditor Google LLC Проверяет правила безопасности Firebase на утечки, обход ролей и ошибки валидации. Нужен для аудита Firestore и Cloud Storage. Claude Code CX Codex Cursor +1 138 200установок firebase-ai-logic-basics Google LLC Подключает модели Gemini напрямую в клиенты Android, iOS, Web и Flutter через Firebase AI Logic. Помогает настроить вызовы API, стриминг и мультимодальные входы. Claude Code CX Codex Cursor +1 135 300установок firebase-crashlytics Google LLC Скилл для подключения Firebase Crashlytics к агентам в Claude Code, Cursor и других платформах. Собирает данные о падениях приложений на Android и iOS, помогает отследить ошибки через MCP-сервер Firebase CLI. Claude Code CX Codex Cursor +1 131 200установок xcode-project-setup Google LLC Скилл добавляет Swift Packages и связывает файлы в проектах Xcode. Пригодится для настройки зависимостей iOS, включая Firebase и Alamofire. Claude Code CX Codex Cursor +1 130 300установок firebase-remote-config-basics Google LLC Скилл помогает управлять Remote Config в приложениях на Android и iOS через Firebase CLI. Позволяет менять флаги функций и параметры без выкатки обновлений в магазины. Claude Code CX Codex Cursor +1 120 800установок

Похожие

sql-queries официальный anthropics Помогает писать и оптимизировать запросы под диалекты PostgreSQL, Snowflake, BigQuery, Redshift и Databricks SQL. Полезен при миграциях и расчёте витрин. Claude Code CX Codex Cursor +1 4 500установок rust-async-patterns Seth Hobson Скилл помогает писать и разбирать асинхронный Rust на Tokio: задачи, каналы, потоки и обработку ошибок. Пригодится для сетевых сервисов и отладки. Claude Code CX Codex Cursor 20 625установок sql-optimization-patterns Seth Hobson Скилл разбирает медленные SQL-запросы, планы EXPLAIN и стратегию индексов. Нужен при поиске Seq Scan, проблемах с JOIN и N+1. Claude Code CX Codex Cursor 19 717установок data-manager-api-event-ingestion официальный google Помогает внедрить загрузку событий и конверсий в продукты Google через Data Manager API. Нужен для офлайн-конверсий, лидов и событий Google Analytics. Claude Code Gemini CLI CX Codex 6 148установок auth-implementation-patterns Seth Hobson Скилл для проектирования аутентификации и авторизации: JWT, OAuth2, сессии, роли. Пригодится, когда пишете вход в систему или чините дыру в доступе. Claude Code CX Codex Cursor 19 388установок mcp-builder официальный anthropics Скилл проводит через создание MCP-сервера на TypeScript или Python: от изучения протокола до тестов и оценки качества. Claude Code Claude.ai 130 949установок google-agents-cli-adk-code официальный Google Скилл даёт примеры и справку по Agent Development Kit: агентам, инструментам, колбэкам, состоянию и графовым workflow. Нужен при написании кода. Claude Code CX Codex Cursor +1 511 400установок lark-im larksuite Скилл подключает Lark IM к агенту: он отправляет сообщения, ищет историю, управляет чатами и файлами. Подойдёт для задач вокруг командных коммуникаций. Claude Code CX Codex Cursor +1 472 300установок

Вопросы о firebase-data-connect

Как установить firebase-data-connect в Claude Code?

Выполните команду npx skills add firebase/agent-skills --skill firebase-data-connect -a claude-code в терминале.

Чем Firebase SQL Connect отличается от Firebase Data Connect?

Это один и тот же продукт. Сервис Firebase Data Connect был переименован в Firebase SQL Connect, поэтому инструкции и конфигурации подходят для обоих названий.

В каких случаях скилл рекомендует использовать Native SQL вместо GraphQL?

Сырой SQL рекомендуется только для специфических возможностей PostgreSQL, таких как PostGIS или оконные функции. Обычные операции лучше делать на Native GraphQL, потому что Native SQL не даёт строгой типизации.

Исходный текст

SKILL.md · Apache-2.0
---
name: firebase-data-connect
description: Builds and deploys Firebase SQL Connect (aka Firebase Data Connect) backends with PostgreSQL securely. Use when designing schemas with tables and relations, writing authorized queries and mutations, configuring real-time data updates, or generating type-safe SDKs. Use when you need a relational database with Firebase, or when the user mentions SQL Connect or Data Connect.
metadata:
  author: Google LLC
  category: Databases
---

# Firebase SQL Connect

Firebase SQL Connect is a relational database service using Cloud SQL for
PostgreSQL with GraphQL schema, auto-generated queries/mutations, and type-safe
SDKs.

> [!NOTE] **Product Rename**: Firebase Data Connect was renamed to **Firebase
> SQL Connect**. All instructions, references, and examples in this skill
> repository referring to "Data Connect" or "Firebase Data Connect" apply to
> "SQL Connect" and "Firebase SQL Connect" as well.

## Project Structure

```text
dataconnect/
├── dataconnect.yaml      # Service configuration
├── seed_data.gql         # LOCAL ONLY — prototype/test data
├── schema/
│   └── schema.gql        # Data model (types with @table)
└── connector/
    ├── connector.yaml    # Connector config + SDK generation
    ├── queries.gql       # Queries
    └── mutations.gql     # Mutations
```

## Key Tools for Validation

Rely on these two mechanisms to ensure project correctness:

1. **Review GraphQL Schema**: Both user-defined and generated extensions (in
   `.dataconnect/schema/main/`).
1. **Validate Operations**: Run
   `npx -y firebase-tools@latest dataconnect:compile` against the schema.

## Operation Strategies: GraphQL vs. Native SQL

Always default to **Native GraphQL**. **Native SQL lacks type safety** and
bypasses schema-enforced structures. Only use **Native SQL** when the user
explicitly requests it or when the task requires advanced database features.

| Strategy                     | When to use                                                                                                            | Implementation                                                                                                        |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| **Native GraphQL** (Default) | Almost all use cases. Standard CRUD, basic filtering/sorting, simple relational joins. Requires full type safety.      | Auto-generated fields (`movie_insert`, `movies`). Strong typing and schema enforcement.                               |
| **Native SQL** (Advanced)    | PostgreSQL extensions (e.g., PostGIS), window functions (`RANK()`), complex aggregations, or highly tuned sub-queries. | Raw SQL string literals via `_select`, `_execute`, etc. Requires strict positional parameters (`$1`). No type safety. |

## Development Workflow

Follow this strict workflow to build your application. You **must** read the
linked reference files for each step to understand the syntax and available
features.

### 1. Define Data Model (`schema/schema.gql`)

Define your GraphQL types, tables, and relationships (which map to a Postgres
schema).

> **Read [reference/schema.md](reference/schema.md)** for:
>
> - `@table`, `@col`, `@default`
> - Relationships (`@ref`, one-to-many, many-to-many)
> - Data types (UUID, Vector, JSON, etc.)

### 2. Define Authorized Operations (`connector/queries.gql`, `connector/mutations.gql`)

Write the queries and mutations your client will use, including authorization
logic. SQL Connect is secure by default.

> **Read [reference/operations.md](reference/operations.md)** for:
>
> - **Queries**: Filtering (`where`), Ordering (`orderBy`), Pagination
>   (`limit`/`offset`).
> - **Mutations**: Create (`_insert`), Update (`_update`), Delete (`_delete`).
> - **Upserts**: Use `_upsert` to "insert or update" records (CRITICAL for user
>   profiles).
> - **Transactions**: Use `@transaction` for multi-step atomic operations. Use
>   `_expr: "response.<prevStep>"` to pass data between steps.
>
> **Read [reference/security.md](reference/security.md)** for authorization:
>
> - `@auth(level: ...)` for PUBLIC, USER, or NO_ACCESS.
> - `@check` and `@redact` for row-level security and validation.
>
> **Read [reference/realtime.md](reference/realtime.md)** for real-time
> subscriptions:
>
> - `@refresh` directive for time-based polling and event-driven updates.
> - CEL conditions to scope refresh triggers precisely.
>
> **Read [reference/native_sql.md](reference/native_sql.md)** for Native SQL
> operations:
>
> - Embedding raw SQL with `_select`, `_selectFirst`, `_execute`
> - Strict rules for positional parameters (`$1`, `$2`), quoting, and CTEs
> - Advanced PostgreSQL features (PostGIS, Window Functions)

### 3. Use type-safe SDK in your apps

Generate type-safe code for your client platform.

Configure SDK generation in `connector.yaml`:

```yaml
connectorId: my-connector
generate:
  javascriptSdk:
    outputDir: "../web-app/src/lib/dataconnect"
    package: "@movie-app/dataconnect"
  kotlinSdk:
    outputDir: "../android-app/app/src/main/kotlin/com/example/dataconnect"
    package: "com.example.dataconnect"
  swiftSdk:
    outputDir: "../ios-app/DataConnect"
    package: "DataConnectGenerated"
```

Generate SDKs:

```bash
npx -y firebase-tools@latest dataconnect:sdk:generate
```

For platform-specific instructions on how to use the generated SDKs, read:

- **Web (TypeScript)**: [reference/sdk_web.md](reference/sdk_web.md)
- **Android (Kotlin)**: [reference/sdk_android.md](reference/sdk_android.md)
- **iOS (Swift)**: [reference/sdk_ios.md](reference/sdk_ios.md)
- **Admin (Node.js)**:
  [reference/sdk_admin_node.md](reference/sdk_admin_node.md)
- **Flutter (Dart)**: [reference/sdk_flutter.md](reference/sdk_flutter.md)

______________________________________________________________________

## Feature Capability Map

If you need to implement a specific feature, consult the mapped reference file:

| Feature                         | Reference File                                               | Key Concepts                                       |
| :------------------------------ | :----------------------------------------------------------- | :------------------------------------------------- |
| **Data Modeling**               | [reference/schema.md](reference/schema.md)                   | `@table`, `@unique`, `@index`, Relations           |
| **Vector Search**               | [reference/search.md](reference/search.md)                   | `Vector`, `@col(dataType: "vector")`, embeddings   |
| **Full-Text Search**            | [reference/search.md](reference/search.md)                   | `@searchable`, `movies_search`                     |
| **Upserting Data**              | [reference/operations.md](reference/operations.md)           | `_upsert` mutations                                |
| **Complex Filters**             | [reference/operations.md](reference/operations.md)           | `_or`, `_and`, `_not`, `eq`, `contains`            |
| **Transactions**                | [reference/operations.md](reference/operations.md)           | `@transaction`, `response` binding                 |
| **Environment Config**          | [reference/config.md](reference/config.md)                   | `dataconnect.yaml`, `connector.yaml`               |
| **Realtime Subscriptions**      | [reference/realtime.md](reference/realtime.md)               | `@refresh`, `subscribe()`, auto-refresh            |
| **Cloud Functions Integration** | [reference/cloud_functions.md](reference/cloud_functions.md) | `onMutationExecuted`, triggering events            |
| **Data Seeding & Migrations**   | [reference/data_seeding.md](reference/data_seeding.md)       | `seed_data.gql`, `_insertMany`, Admin SDK bulk     |
| **Starter Templates**           | [templates.md](templates.md)                                 | CRUD, user-owned resources, many-to-many, SDK init |

______________________________________________________________________

## Deployment & CLI

> **Read [reference/config.md](reference/config.md)** for deep dive on
> configuration.

Follow these patterns based on your current task:

### How to initialize SQL Connect in a Firebase project

1. Understand the app idea. Ask clarification questions if unclear.
1. Run `npx -y firebase-tools@latest init dataconnect`.
1. Validate that the app template and generated SDK are setup.

### How to build apps using SQL Connect locally

1. Start the emulator:
   `npx -y firebase-tools@latest emulators:start --only dataconnect`.
1. Write schema and operations.
1. Seed local test data into `seed_data.gql`. Read
   [reference/data_seeding.md](reference/data_seeding.md#1-local-prototyping-data-seeding).
1. Run `npx -y firebase-tools@latest dataconnect:compile` or
   `npx -y firebase-tools@latest dataconnect:sdk:generate` to validate them.
1. Use the operations in your app and build it.

### How to deploy SQL Connect to Cloud SQL

1. Run `npx -y firebase-tools@latest deploy --only dataconnect`.

## Examples

For complete, working code examples of schemas and operations, see
**[examples.md](examples.md)**.

For ready-to-use starter templates (CRUD, user-owned resources, many-to-many,
YAML configs, SDK init), see **[templates.md](templates.md)**.

© Google LLC · Apache-2.0 · firebase/agent-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой