firestore_skill

This skill helps you optimize Firestore queries, indexing, and batch operations with best practices to improve performance and reliability.
  • HTML

0

GitHub Stars

1

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill trantuananh-17/product-reviews --skill firestore

  • SKILL.md3.2 KB

Overview

This skill provides concise, practical guidance for designing and operating Firestore databases. It focuses on query optimization, indexing strategy, batch operations, pagination, TTL, and write-rate limits to keep Firestore performant and cost-efficient. Use it to get actionable patterns and repository-level recommendations tailored to common Firestore pitfalls.

How this skill works

The skill inspects common Firestore usage patterns and suggests concrete fixes: convert client-side filtering into indexed queries, consolidate reads and writes into batches, and structure indexes per collection. It highlights when composite indexes are required, how to exempt large unqueried fields, and how to avoid per-document write contention by using update logs or separate collections. It also provides repository-level conventions for one collection per repository.

When to use it

  • You need to speed up slow queries or reduce billing from excessive document reads.
  • You are planning or modifying composite indexes and want a safe workflow for index files.
  • You must perform bulk reads or writes without hitting quota or rate limits.
  • You need to design TTL, pagination, or avoid hot documents due to frequent updates.
  • You want a maintainable repository pattern for Firestore collections.

Best practices

  • Filter and limit in queries instead of fetching all documents and filtering client-side.
  • Use firestore.getAll or batched reads instead of looping single-document reads.
  • Commit writes in batches of up to 500 operations and chunk large jobs.
  • Avoid frequent writes to the same document; write to a separate updates collection to serialize state.
  • Keep indexes in per-collection files and use a build step to merge them into the deployable config.
  • Use fieldOverrides to exempt large fields (e.g., request bodies) from indexing.

Example use cases

  • Convert a slow admin dashboard that fetches all users into paginated, filtered queries with proper indexes.
  • Bulk-import or export thousands of documents using batched commits of 500 items to stay within limits.
  • Resolve a Firestore error that demands a composite index by adding a collection JSON file and running the build script.
  • Prevent write-throttling on a shop document by appending update entries to a shopUpdates collection with TTL.
  • Implement efficient batch reads for a list of customer IDs using firestore.getAll to reduce RPCs.

FAQ

A composite index is required when you combine where() and orderBy() on different fields or use multiple inequality where() clauses; single-field where() queries use automatic indexes.

How do I avoid hitting Firestore write limits on a single document?

Limit writes to one per document per second by moving frequent updates into a separate collection (an append-only log) and materialize state asynchronously if needed.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
firestore skill by trantuananh-17/product-reviews | VeilStrat