About firebase-firestore
A Firebase Firestore skill that guides agents through database selection, provisioning and application setup. Its workflow first identifies the instance edition, then directs work to edition-specific guides for data models, SDKs, security rules and indexes.
Key features
- 01Detecting database edition
- 02Provisioning Enterprise databases
- 03Edition-specific SDK guidance
- 04Security rules authoring guidance
- 05Index setup references
Use cases
- 01Choosing an existing Firestore instance
- 02Creating a new Enterprise database
- 03Setting up Firestore SDK usage
- 04Planning rules and indexes
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ firebase/ agent-skills --skill firebase-firestoreAfter installing, type/firebase-firestorein Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/enterprise/android_sdk_usage.mddata_model.mdflutter_setup.mdindexes.mdios_setup.mdprovisioning.mdpython_sdk_usage.mdweb_sdk_usage.mdreferences/standard/android_sdk_usage.mdflutter_setup.mdindexes.mdios_setup.mdprovisioning.mdweb_sdk_usage.mdDetails
From the project READMECloud Firestore Database and Operations
Important
Security Rules Authoring (
firestore.rules) Whenever your task requires creating, authoring, or modifyingfirestore.rules:
- If subagent delegation AND the
firestore-rules-authorsubagent are available: delegate authoringfirestore.rulesto thefirestore-rules-authorsubagent rather than writingfirestore.rulesdirectly in the main agent.- If subagent delegation is unavailable (e.g., subagents not enabled in the IDE) OR
firestore-rules-authoris not installed: read and follow thefirestore-rules-creationskill to writefirestore.rulesdirectly.
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:
npx -y firebase-tools@latest firestore:databases:list
A. Instance Found
-
For each database found, inspect its edition and details:
npx -y firebase-tools@latest firestore:databases:get <database-id> -
Ask the user which database instance they wish to target or if they would prefer to create a new instance.
-
Once the target instance is established:
- If the
editionisSTANDARD, follow the guides underreferences/standard/. - If the
editionisENTERPRISEor native mode, follow the guides underreferences/enterprise/.
- If the
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:
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
- Security Rules: See the
firestore-rules-creationskill - SDK Usage: Read web_sdk_usage.md, android_sdk_usage.md, ios_setup.md, or flutter_setup.md
- Indexes: Read indexes.md
Enterprise Edition / Native Mode (references/enterprise/)
-
Provisioning: Read provisioning.md
-
Data Model: Read data_model.md
-
Security Rules: See the
firestore-rules-creationskill -
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, python_sdk_usage.md, android_sdk_usage.md, ios_setup.md, or flutter_setup.md
-
Indexes: Read indexes.md