From firestore-native
Performs Firestore CRUD operations like adding documents with typed NoSQL data and deleting multiples via Node.js scripts. Use for document management and collection exploration.
npx claudepluginhub gemini-cli-extensions/firestore-native --plugin firestore-nativeThis skill uses the workspace's default tool permissions.
All scripts can be executed using Node.js. Replace `<param_name>` and `<param_value>` with actual values.
Conducts multi-round deep research on GitHub repos via API and web searches, generating markdown reports with executive summaries, timelines, metrics, and Mermaid diagrams.
Dynamically discovers and combines enabled skills into cohesive, unexpected delightful experiences like interactive HTML or themed artifacts. Activates on 'surprise me', inspiration, or boredom cues.
Generates images from structured JSON prompts via Python script execution. Supports reference images and aspect ratios for characters, scenes, products, visuals.
All scripts can be executed using Node.js. Replace <param_name> and <param_value> with actual values.
Bash:
node <skill_dir>/scripts/<script_name>.js '{"<param_name>": "<param_value>"}'
PowerShell:
node <skill_dir>/scripts/<script_name>.js '{\"<param_name>\": \"<param_value>\"}'
Note: The scripts automatically load the environment variables from various .env files. Do not ask the user to set vars unless skill executions fails due to env var absence.
Adds a new document to a Firestore collection. Please follow the best practices :
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| collectionPath | string | The relative path of the collection where the document will be added to (e.g., 'users' or 'users/userId/posts'). Note: This is a relative path, NOT an absolute path like 'projects/{project_id}/databases/{database_id}/documents/...' | Yes | |
| documentData | object | The document data in Firestore's native JSON format. Each field must be wrapped with a type indicator: |
false |Delete multiple documents from Firestore
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| documentPaths | array | Array of relative document paths to delete from Firestore (e.g., 'users/userId' or 'users/userId/posts/postId'). Note: These are relative paths, NOT absolute paths like 'projects/{project_id}/databases/{database_id}/documents/...' | Yes |
Gets multiple documents from Firestore by their paths
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| documentPaths | array | Array of relative document paths to retrieve from Firestore (e.g., 'users/userId' or 'users/userId/posts/postId'). Note: These are relative paths, NOT absolute paths like 'projects/{project_id}/databases/{database_id}/documents/...' | Yes |
List Firestore collections for a given parent path
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| parentPath | string | Relative parent document path to list subcollections from (e.g., 'users/userId'). If not provided, lists root collections. Note: This is a relative path, NOT an absolute path like 'projects/{project_id}/databases/{database_id}/documents/...' | No |
Retrieves one or more Firestore documents from a collection in a database in the current project by a collection with a full document path. Use this if you know the exact path of a collection and the filtering clause you would like for the document.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| collectionPath | string | The relative path to the Firestore collection to query (e.g., 'users' or 'users/userId/posts'). Note: This is a relative path, NOT an absolute path like 'projects/{project_id}/databases/{database_id}/documents/...' | Yes | |
| filters | array | Array of filter objects to apply to the query. Each filter is a JSON string with: |
100 |
| analyzeQuery | boolean | If true, returns query explain metrics including execution statistics | No | false |Updates an existing document in Firestore. Supports both full document updates and selective field updates using an update mask. Please follow the best practices:
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| documentPath | string | The relative path of the document which needs to be updated (e.g., 'users/userId' or 'users/userId/posts/postId'). Note: This is a relative path, NOT an absolute path like 'projects/{project_id}/databases/{database_id}/documents/...' | Yes | |
| documentData | object | The document data in Firestore's native JSON format. Each field must be wrapped with a type indicator: |
false |