Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
firebase avatar

Firebase Data Connect

  • 111k installs
  • 390 repo stars
  • Updated July 27, 2026
  • firebase/agent-skills

firebase-data-connect is an agent skill for designing, validating, and deploying Firebase SQL Connect backends with GraphQL schemas, secure operations, and generated client SDKs.

About

The firebase-data-connect skill guides agents through Firebase SQL Connect, the renamed Firebase Data Connect service backed by Cloud SQL for PostgreSQL. It covers the standard dataconnect project layout with schema, connector queries, mutations, and multi-platform SDK generation for web, Android, iOS, Flutter, and admin Node clients. Teams reach for it when they need relational data with Firebase auth, row-level security, realtime subscriptions, vector search, or Cloud Functions triggers. The workflow defaults to native GraphQL for type-safe CRUD, filtering, pagination, upserts, and transactions, reserving native SQL for PostGIS, window functions, or other advanced PostgreSQL features. Validation relies on schema review plus `firebase dataconnect:compile`, with emulator-first local development and `deploy --only dataconnect` for production. Reference files map full-text search, seeding, security directives, and starter templates for common CRUD patterns across client platforms.

  • Documents the dataconnect folder layout: schema.gql, connector queries and mutations, and connector.yaml SDK targets.
  • Defaults to native GraphQL operations with `@auth`, `@check`, `@transaction`, and `_upsert` patterns for secure CRUD.
  • Maps advanced PostgreSQL needs to native SQL `_select` and `_execute` with positional parameters only when required.
  • Generates type-safe SDKs for JavaScript, Kotlin, Swift, Flutter, and Admin Node via `dataconnect:sdk:generate`.
  • Covers realtime `@refresh` subscriptions, vector and full-text search, seeding, and Cloud Functions mutation hooks.

Firebase Data Connect by the numbers

  • 111,447 all-time installs (skills.sh)
  • +5,600 installs in the week ending Jul 28, 2026 (Skillselion tracking)
  • Ranked #5 of 923 Databases skills by installs in the Skillselion catalog
  • Security screen: HIGH risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

firebase-data-connect capabilities & compatibility

Capabilities
graphql schema and relationship modeling · authorized query and mutation design · multi platform sdk generation · realtime subscription configuration · native sql escape hatch for advanced postgresql · emulator and cloud sql deployment workflows
Use cases
api development · database
From the docs

What firebase-data-connect says it does

Always default to Native GraphQL.
retag-ops/docs-cache/rich_firebase_agent-skills_firebase-data-connect.md
Run `npx -y firebase-tools@latest dataconnect:compile` against the schema.
retag-ops/docs-cache/rich_firebase_agent-skills_firebase-data-connect.md
npx skills add https://github.com/firebase/agent-skills --skill firebase-data-connect

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs111k
repo stars390
Security audit3 / 3 scanners passed
Last updatedJuly 27, 2026
Repositoryfirebase/agent-skills

How do I stand up a relational Firebase backend with authorized GraphQL queries, type-safe SDKs, and PostgreSQL features without guessing the SQL Connect layout?

Design Firebase SQL Connect schemas, authorized GraphQL operations, and type-safe client SDKs on PostgreSQL.

Who is it for?

Teams adding PostgreSQL-backed data layers to Firebase apps that need auth-aware GraphQL, realtime updates, or multi-client SDK generation.

Skip if: Skip when the project uses only Firestore or another database with no SQL Connect service configured.

When should I use this skill?

Firebase Data Connect, SQL Connect, dataconnect schema, GraphQL mutations, Cloud SQL PostgreSQL, or type-safe Firebase SDK generation.

What you get

A compiled dataconnect service with validated schema and operations, generated SDKs, and a clear local emulator or Cloud SQL deploy path.

  • Validated dataconnect schema and operations
  • Generated client SDK packages
  • Emulator or production deploy configuration

By the numbers

  • Documents five SDK targets: JavaScript, Kotlin, Swift, Flutter, and Admin Node.
  • Feature map spans 11 reference areas from data modeling through Cloud Functions integration.
  • Validation command: `npx firebase-tools dataconnect:compile` against the live schema.

Files

SKILL.mdMarkdownGitHub ↗

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

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/). 2. 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.

StrategyWhen to useImplementation
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:

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"

Generate SDKs:

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
  • Android (Kotlin): reference/sdk_android.md
  • iOS (Swift): reference/sdk_ios.md
  • Admin (Node.js): reference/sdk_admin_node.md
  • Flutter (Dart): reference/sdk_flutter.md

---

Feature Capability Map

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

FeatureReference FileKey Concepts
Data Modelingreference/schema.md@table, @unique, @index, Relations
Vector Searchreference/search.mdVector, @col(dataType: "vector"), embeddings
Full-Text Searchreference/search.md@searchable, movies_search
Upserting Datareference/operations.md_upsert mutations
Complex Filtersreference/operations.md_or, _and, _not, eq, contains
Transactionsreference/operations.md@transaction, response binding
Environment Configreference/config.mddataconnect.yaml, connector.yaml
Realtime Subscriptionsreference/realtime.md@refresh, subscribe(), auto-refresh
Cloud Functions Integrationreference/cloud_functions.mdonMutationExecuted, triggering events
Data Seeding & Migrationsreference/data_seeding.mdseed_data.gql, _insertMany, Admin SDK bulk
Starter Templatestemplates.mdCRUD, 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. 2. Run npx -y firebase-tools@latest init dataconnect. 3. 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. 2. Write schema and operations. 3. Seed local test data into seed_data.gql. Read reference/data_seeding.md. 4. Run npx -y firebase-tools@latest dataconnect:compile or npx -y firebase-tools@latest dataconnect:sdk:generate to validate them. 5. 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).

Related skills

Forks & variants (1)

Firebase Data Connect has 1 known copy in the catalog totaling 961 installs. They canonicalize to this original listing.

How it compares

Firebase SQL Connect specialist, not a generic Firestore or REST API cheat sheet.

FAQ

Who is firebase-data-connect for?

Developers building Firebase apps that need relational PostgreSQL data with GraphQL operations, authorization, and generated client SDKs.

When should I use firebase-data-connect?

When designing dataconnect schemas, writing authorized queries and mutations, enabling realtime refresh, or generating web and mobile SDKs.

Is firebase-data-connect safe to install?

Review the Security Audits panel on this page before installing in production.

Databasesbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.