Skill oficial para integrar Firebase AI Logic (Gemini API) en apps. Cubre configuración, inferencia multimodal, salida estructurada y seguridad.
- Costo de contexto al activarse
- 2.3k tok
- Tamaño del paquete
- 5 archivos
- Última actualización
- hace 7 días
Construye y despliega backends de Firebase SQL Connect (antes Data Connect) con PostgreSQL de forma segura, incluyendo esquemas, queries/mutations autorizadas, tiempo real y SDKs type-safe.
en todo el repo
0–100, la ruta de este skill
último commit aquí
últimos 90 días
94 tok en reposo
119 KB
Funciona con cualquier agente que lea SKILL.md
npx -y skills add firebase/agent-skills --skill firebase-data-connect-basics --agent claude-codeSe instala solo en este repositorio.
Di cualquiera de estas frases y el agente debería cargar este skill.
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.
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
Rely on these two mechanisms to ensure project correctness:
.dataconnect/schema/main/).npx -y firebase-tools@latest dataconnect:compile against the schema.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. |
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.
schema/schema.gql)Define your GraphQL types, tables, and relationships (which map to a Postgres schema).
Read reference/schema.md for:
@table,@col,@default- Relationships (
@ref, one-to-many, many-to-many)- Data types (UUID, Vector, JSON, etc.)
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 for:
- Queries: Filtering (
where), Ordering (orderBy), Pagination (limit/offset).- Mutations: Create (
_insert), Update (_update), Delete (_delete).- Upserts: Use
_upsertto "insert or update" records (CRITICAL for user profiles).- Transactions: Use
@transactionfor multi-step atomic operations. Use_expr: "response.<prevStep>"to pass data between steps.Read reference/security.md for authorization:
@auth(level: ...)for PUBLIC, USER, or NO_ACCESS.@checkand@redactfor row-level security and validation.Read reference/realtime.md for real-time subscriptions:
@refreshdirective for time-based polling and event-driven updates.- CEL conditions to scope refresh triggers precisely.
Read 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)
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:
If you need to implement a specific feature, consult the mapped reference file:
| Feature | Reference File | Key Concepts |
|---|---|---|
| Data Modeling | reference/schema.md | @table, @unique, @index, Relations |
| Vector Search | reference/search.md | Vector, @col(dataType: "vector"), embeddings |
| Full-Text Search | reference/search.md | @searchable, movies_search |
| Upserting Data | reference/operations.md | _upsert mutations |
| Complex Filters | reference/operations.md | _or, _and, _not, eq, contains |
| Transactions | reference/operations.md | @transaction, response binding |
| Environment Config | reference/config.md | dataconnect.yaml, connector.yaml |
| Realtime Subscriptions | reference/realtime.md | @refresh, subscribe(), auto-refresh |
| Cloud Functions Integration | reference/cloud_functions.md | onMutationExecuted, triggering events |
| Data Seeding & Migrations | reference/data_seeding.md | seed_data.gql, _insertMany, Admin SDK bulk |
| Starter Templates | templates.md | CRUD, user-owned resources, many-to-many, SDK init |
Read reference/config.md for deep dive on configuration.
Follow these patterns based on your current task:
npx -y firebase-tools@latest init dataconnect.npx -y firebase-tools@latest emulators:start --only dataconnect.seed_data.gql. Read
reference/data_seeding.md.npx -y firebase-tools@latest dataconnect:compile or
npx -y firebase-tools@latest dataconnect:sdk:generate to validate them.npx -y firebase-tools@latest deploy --only dataconnect.For complete, working code examples of schemas and operations, see examples.md.
For ready-to-use starter templates (CRUD, user-owned resources, many-to-many, YAML configs, SDK init), see templates.md.
Reproducido de firebase/agent-skills bajo licencia Apache-2.0. Leer esta página en markdown.
17 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.
Requiere firebase-tools (via npx) y un proyecto Firebase con Cloud SQL para PostgreSQL.
Necesita en el PATH:npx
Este repo incluye 12 skills. Si instalas uno, normalmente ya tienes los demás.
Skill oficial para integrar Firebase AI Logic (Gemini API) en apps. Cubre configuración, inferencia multimodal, salida estructurada y seguridad.
Guía para configurar y usar Firebase Authentication. Úsala cuando la app necesite inicio de sesión de usuarios, gestión de usuarios o acceso seguro a datos mediante reglas de auth.
Configura la base de Firebase: instala/verifica la CLI, gestiona login (incl. --no-localhost), crea o selecciona proyectos y descarga los archivos de configuración de la app.
Configura, gestiona, consulta y ajusta bases de datos Cloud Firestore (edición Standard/Enterprise): modelado de datos, reglas de seguridad, índices e integraciones SDK (Web, Python, iOS, Android, Flutter).
Convierte una Firebase Extension instalada (o su código fuente) en un codebase de Cloud Functions independiente o en un paquete npm publicable, con upgrade de triggers V1 a V2, lifecycle hooks y seguridad declarativa.
Audita reglas de seguridad de Firebase (Firestore, Cloud Storage): vulnerabilidades, escalada de privilegios, bypasses de roles, inconsistencias create/update y falta de comprobaciones hasOnly() de ownership.
Controla un emulador o dispositivo Android desde Orca con el CLI `orca`: AVDs, taps, swipes, tecleo, botones físicos, rotación, apps, permisos, árbol de accesibilidad y logcat.
Controla un emulador/simulador móvil (iOS) desde Orca con la CLI `orca`: taps, gestos, tipeo, botones, cámara, permisos y árbol de accesibilidad, viendo la vista en vivo en Orca.
Usa la orquestación de Orca para coordinación multi-agente estructurada: mensajes en hilo, ask/reply bloqueante, dispatch de tareas, waits de worker_done/escalación, DAGs, gates de decisión y loops de coordinador.