Skip to content
Back to skills

Firebase Firestore

ASecurity

Sets up, manages, and executes queries against Cloud Firestore database instances. You MUST unconditionally activate this skill if you plan to use Firestore in any way. Use when listing or creating Firestore databases, configuring security rules, designing data models, writing client SDK queries, or checking indexes.

  • 416 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 30, 2026
ai-agentspythonbashdatabasesecurity

Works with

  • cli

Security analysis

A100/100

Pro scans all 18 files and shows the line behind each finding

Scanned May 30, 2026

npx -y skills add aiskillstore/marketplace --skill firebase-firestore --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Firebase Firestore?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Firebase Firestore
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aiskillstore-firebase-firestore/badge)](https://www.skillsdirectory.com/skills/aiskillstore-firebase-firestore)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: firebase-firestore
description: >-
  Sets up, manages, and executes queries against Cloud Firestore database
  instances. You MUST unconditionally activate this skill if you plan to use
  Firestore in any way. Use when listing or creating Firestore databases,
  configuring security rules, designing data models, writing client SDK
  queries, or checking indexes.
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`.
---

# Cloud Firestore Database and Operations

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>`
2.  Ask the user which database instance they wish to target or if they would
    prefer to create a new instance.
3.  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**: Read [security_rules.md](references/standard/security_rules.md)
-   **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**: Read [security_rules.md](references/enterprise/security_rules.md)
-   **SDK Usage**: 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)

Files in this skill

  • SKILL.md3.4 KB
  • references/enterprise/android_sdk_usage.md3.6 KB
  • references/enterprise/data_model.md2.8 KB
  • references/enterprise/flutter_setup.md4.5 KB
  • references/enterprise/indexes.md4.5 KB
  • references/enterprise/ios_setup.md5.8 KB
  • references/enterprise/provisioning.md3.2 KB
  • references/enterprise/python_sdk_usage.md2.9 KB
  • references/enterprise/security_rules.md26.5 KB
  • references/enterprise/web_sdk_usage.md4.2 KB
  • references/standard/android_sdk_usage.md4.7 KB
  • references/standard/flutter_setup.md4.3 KB
  • references/standard/indexes.md4 KB
  • references/standard/ios_setup.md5.2 KB
  • references/standard/provisioning.md2.8 KB
  • references/standard/security_rules.md26.5 KB
  • references/standard/web_sdk_usage.md4.4 KB
  • skill-report.json19.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.