skills/firebase/SKILL.md
Manage Firebase projects, Firestore, Auth users and Hosting via REST API
npx skillsauth add alanalvestech/hitank firebaseInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Connect to Firebase and Google Cloud APIs to manage projects, Firestore databases, Authentication users and Hosting deployments. Pure Ruby, zero gems — stdlib only (json, net/http, uri, openssl, base64, fileutils).
scripts/
├── auth.rb # JWT-based OAuth2 + firebase_request helper (required by all scripts)
├── check_setup.rb # Check if service account JSON exists (outputs OK or SETUP_NEEDED)
├── save_token.rb # Copy a service account JSON file to the config directory
├── projects.rb # List Firebase projects
├── firestore_collections.rb # List top-level Firestore collections
├── firestore_documents.rb # List documents in a Firestore collection
├── firestore_document.rb # Get a single Firestore document
├── auth_users.rb # List Firebase Auth users (requires confirmation — contains PII)
├── hosting_sites.rb # List Hosting sites for a project
└── hosting_releases.rb # List releases for a Hosting site
ruby ~/.claude/skills/firebase/scripts/check_setup.rb
If the output is OK, proceed to the Flow section.
If the output is SETUP_NEEDED, guide the user step by step. Present ONE step at a time, wait for the user to confirm before moving to the next.
Step 1 — Ask the user to create a service account key:
You need a Google Cloud service account key with Firebase access.
Go to the Google Cloud Console > IAM & Admin > Service Accounts: https://console.cloud.google.com/iam-admin/serviceaccounts
Select your project (or create one).
Click Create Service Account. Give it a name like
hitank-firebase.Grant it the Editor role (or more restrictive roles:
Firebase Admin,Cloud Datastore User,Firebase Hosting Admin).Click on the created service account, go to Keys > Add Key > Create new key > JSON.
A
.jsonfile will be downloaded. Tell me the path to that file.
Step 2 — When the user provides the path to the JSON key file, save it:
ruby ~/.claude/skills/firebase/scripts/save_token.rb '/path/to/downloaded-key.json'
If the script outputs an error, the file is invalid. Ask the user to double-check and try again.
If setup is not complete, DO NOT proceed to the Flow. Complete all steps first.
The argument $ARGUMENTS may contain a Firebase project ID.
ruby ~/.claude/skills/firebase/scripts/projects.rb
Present the projects to the user. If $ARGUMENTS matches a project ID, use that project. Otherwise ask which project to work with.
List top-level Firestore collections (documents at root):
ruby ~/.claude/skills/firebase/scripts/firestore_collections.rb PROJECT_ID
List documents in a Firestore collection:
ruby ~/.claude/skills/firebase/scripts/firestore_documents.rb PROJECT_ID COLLECTION_NAME
Get a single Firestore document:
ruby ~/.claude/skills/firebase/scripts/firestore_document.rb PROJECT_ID COLLECTION_NAME DOCUMENT_ID
List Firebase Auth users (requires user confirmation — this returns PII):
Before running, ask: "This will list Firebase Auth users which contains personal information (emails, phone numbers). Do you want to proceed?" Only execute after a "yes".
ruby ~/.claude/skills/firebase/scripts/auth_users.rb PROJECT_ID
List Hosting sites:
ruby ~/.claude/skills/firebase/scripts/hosting_sites.rb PROJECT_ID
List Hosting releases:
ruby ~/.claude/skills/firebase/scripts/hosting_releases.rb PROJECT_ID SITE_NAME
~/.config/firebase/service_account.json (outside the repo, never commit)~/.config/firebase/access_token with expiry checkhttps://oauth2.googleapis.com/tokenhttps://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/firebasedevelopment
Manage Zendesk tickets, users, organizations and knowledge base via REST API
development
Post and manage tweets on X (formerly Twitter) via API v2
development
Manage Vercel projects, deployments, domains and environment variables via API
development
Manage Twilio SMS, calls, phone numbers and usage via REST API