firebase-firestore — Claude Code skill: setup and use
This skill helps configure Cloud Firestore, plan data models, and write SDK queries. Use it when creating a database or adding Firestore to an app.
npx skills add firebase/agent-skills --skill firebase-firestore -a claude-codeWhat firebase-firestore does
The skill covers Cloud Firestore Standard and Enterprise. It helps select a database instance, configure it, plan data models and indexes, and work with SDK queries for Web, Python, iOS, Android, and Flutter. It starts by checking existing databases and their editions with the Firebase CLI, which can be run through npx -y firebase-tools@latest.
Reference guides cover setup and SDK use for both editions. For Enterprise, read the guide for the target platform before changing application code. Edition matters here: Standard and Enterprise use different guidance.
For authoring or changing firestore.rules, the skill routes work to the firestore-rules-author subagent when delegation is available; otherwise, it points to firestore-rules-creation. It does not cover Firebase Hosting, Data Connect, Auth, Storage/GCS, Crashlytics, Functions, or BigQuery.
What it helps with
- create or choose a Cloud Firestore database
- plan a data model for Firestore
- configure indexes for queries
- connect a Firestore SDK to an app
- write Firestore queries for supported SDKs
Example prompts for the agent
- Check my Firestore databases and help me choose an instance for this project.
- Plan a Firestore data model and indexes for this app.
- Set up the Firestore SDK for my Flutter app based on the database edition.
How to install firebase-firestore
1Skills CLI (Vercel)
npx skills add firebase/agent-skills --skill firebase-firestore -a claude-code2Manually: put the files in place
~/.claude/skills/firebase-firestore/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/firebase-firestore/
1Skills CLI (Vercel)
npx skills add firebase/agent-skills --skill firebase-firestore -a codex2Manually: put the files in place
.agents/skills/firebase-firestore/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add firebase/agent-skills --skill firebase-firestore -a cursor2Manually: put the files in place
.cursor/skills/firebase-firestore/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install firebase/agent-skills firebase-firestore2Manually: put the files in place
.github/skills/firebase-firestore/SKILL.md1Skills CLI (Vercel)
npx skills add firebase/agent-skills --skill firebase-firestore -a gemini-cli2Platform CLI
gemini skills install https://github.com/firebase/agent-skills --path skills/firebase-firestoreManually: put the files in place
.devin/skills/firebase-firestore/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add firebase/agent-skills --skill firebase-firestore -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set10
The whole set →Similar
Questions about firebase-firestore
How do I install firebase-firestore in Claude Code?
Run npx skills add firebase/agent-skills --skill firebase-firestore -a claude-code. The skill file is at ~/.claude/skills/firebase-firestore/SKILL.md.
What does firebase-firestore do?
It helps configure Cloud Firestore databases, plan data models and indexes, write queries, and integrate SDKs.
What should I check before configuring Firestore?
Identify whether the database instance is Standard or Enterprise first. The setup and SDK guidance depends on the edition.
Source text
SKILL.md · Apache-2.0
---
name: firebase-firestore
description: >-
Sets up, manages, queries, and configures Cloud Firestore databases (Standard/Enterprise edition), including data modeling, security rules, indexes, and SDK integrations (Web, Python, iOS, Android, Flutter). Use when creating/listing Firestore databases, defining data models/indexes, writing SDK queries, or integrating Firestore SDKs. For authoring or modifying Firestore Security Rules (firestore.rules), delegate to the firestore-rules-author subagent if subagent delegation is available, or use firestore-rules-creation otherwise. Don't use for Firebase Hosting, Data Connect, Auth, Storage/GCS, Crashlytics, Functions, or BigQuery.
compatibility: This skill is best used with the Firebase CLI, but does not require it. Firebase CLI can be accessed through `npx -y firebase-tools@latest`.
metadata:
author: Google LLC
category: Databases
---
# Cloud Firestore Database and Operations
> [!IMPORTANT] **Security Rules Authoring (`firestore.rules`)** Whenever your
> task requires creating, authoring, or modifying `firestore.rules`:
>
> - **If subagent delegation AND the `firestore-rules-author` subagent are
> available**: delegate authoring `firestore.rules` to the
> `firestore-rules-author` subagent rather than writing `firestore.rules`
> directly in the main agent.
> - **If subagent delegation is unavailable** (e.g., subagents not enabled in
> the IDE) **OR `firestore-rules-author` is not installed**: read and follow
> the `firestore-rules-creation` skill to write `firestore.rules` directly.
Before setting up dependencies, writing data models, or configuring security
rules, you MUST always identify the Firestore instance edition.
## 1. Instance Selection and Edition Detection
Run the following command to list current Firestore databases:
```bash
npx -y firebase-tools@latest firestore:databases:list
```
### A. Instance Found
1. For each database found, inspect its edition and details:
```bash
npx -y firebase-tools@latest firestore:databases:get <database-id>
```
1. Ask the user which database instance they wish to target or if they would
prefer to create a new instance.
1. Once the target instance is established:
- If the **`edition`** is `STANDARD`, follow the guides under
`references/standard/`.
- If the **`edition`** is `ENTERPRISE` or native mode, follow the guides
under `references/enterprise/`.
### B. No Instance Found (or New Requested)
If no databases exist or the user requests a new one, default to provisioning an
**Enterprise** edition database and ask the user what location to use. Run
`npx -y firebase-tools@latest firestore:locations` to get the list of options.
Suggest colocating with other resources if applicable.
Once the location is determined, create the database:
```bash
npx -y firebase-tools@latest firestore:databases:create <database-id> --edition="enterprise" --location="<selected-location>"
```
Proceed with using the guides under `references/enterprise/`.
______________________________________________________________________
## 2. Specialized Guides
Based on the identified or created instance edition, open and read the
corresponding reference guides:
### Standard Edition (`references/standard/`)
- **Provisioning**: Read [provisioning.md](references/standard/provisioning.md)
- **Security Rules**: See the `firestore-rules-creation` skill
- **SDK Usage**: Read [web_sdk_usage.md](references/standard/web_sdk_usage.md),
[android_sdk_usage.md](references/standard/android_sdk_usage.md),
[ios_setup.md](references/standard/ios_setup.md), or
[flutter_setup.md](references/standard/flutter_setup.md)
- **Indexes**: Read [indexes.md](references/standard/indexes.md)
### Enterprise Edition / Native Mode (`references/enterprise/`)
- **Provisioning**: Read
[provisioning.md](references/enterprise/provisioning.md)
- **Data Model**: Read [data_model.md](references/enterprise/data_model.md)
- **Security Rules**: See the `firestore-rules-creation` skill
- **SDK Usage**:
> [!CRITICAL] **Mandatory Reference Reading** Before writing or modifying any
> application code for Firestore Enterprise Edition, you **MUST** read at
> least one of the relevant reference documents below for the target
> platform/language to understand specific architectural requirements and
> pipeline initialization patterns.
Read [web_sdk_usage.md](references/enterprise/web_sdk_usage.md),
[python_sdk_usage.md](references/enterprise/python_sdk_usage.md),
[android_sdk_usage.md](references/enterprise/android_sdk_usage.md),
[ios_setup.md](references/enterprise/ios_setup.md), or
[flutter_setup.md](references/enterprise/flutter_setup.md)
- **Indexes**: Read [indexes.md](references/enterprise/indexes.md)
© Google LLC · Apache-2.0 · firebase/agent-skills