All skills
firebase avatar

/firebase-basics

@073edf7
by firebasefirebase/skills461 stars
102

Provides foundational Firebase CLI setup, CLI installation, version checks (`firebase-tools@latest --version`), CLI login (including --no-localhost), project creation, project selection (`firebase use`), and app config file downloads (`google-services.json`, `GoogleService-Info.plist`). Use ONLY for CLI login, project creation/switching, or downloading app config files. Don't use for Firebase Hosting deploy, Firestore, Auth, App Hosting, Data Connect, Crashlytics, or Remote Config.

Use this Skill: https://skilld.dev/gh/firebase/skills/firebase-basics

This session only. Nothing lands on disk.

SKILL.md

≈126 tokens always: the name and description. ≈1.7k when used: this file. ≈11k more on demand in 19 files.

Prerequisites

Complete these setup steps before proceeding:

  1. Local Environment Setup: Verify the environment is properly set up so we can use Firebase tools:

  2. Authentication: Ensure you are logged in to Firebase so that commands have the correct permissions. Run npx -y firebase-tools@latest login. For environments without a browser (e.g., remote shells), use npx -y firebase-tools@latest login --no-localhost.

    • The command should output the current user.
    • If you are not logged in, follow the interactive instructions from this command to authenticate.
  3. Active Project: Most Firebase tasks require an active project context.

    [!IMPORTANT] For Agents: Before proceeding with project configuration, you MUST pause and ask the developer if they prefer to:

    1. Provide an existing Firebase Project ID, or
    2. Create a new Firebase project.
    • If using an existing Project ID:

      1. Check the current project by running npx -y firebase-tools@latest use.

      2. If the command outputs Active Project: <project-id>, confirm with the user if this is the intended project.

      3. If not, or if no project is active, set the project provided by the user:

        npx -y firebase-tools@latest use <PROJECT_ID>
    • If creating a new project: Run the following command to create it:

      npx -y firebase-tools@latest projects:create <project-id> --display-name "<display-name>"

      Note: The <project-id> must be 6-30 characters, lowercase, and can contain digits and hyphens. It must be globally unique.

Firebase Usage Principles

Adhere to these principles:

  1. Use npx for CLI commands: To ensure you always use the latest version of the Firebase CLI, always prepend commands with npx -y firebase-tools@latest instead of just firebase. For example, use npx -y firebase-tools@latest --version. NEVER suggest the naked firebase command as an alternative.
  2. Prioritize official knowledge: For any Firebase-related knowledge, consult the developerknowledge_search_documents MCP tool before falling back to Google Search or your internal knowledge base. Including "Firebase" in your search query significantly improves relevance.
  3. Follow Agent Skills for implementation guidance: Skills provide opinionated workflows (CUJs), security rules, and best practices. Always consult them to understand how to implement Firebase features correctly instead of relying on general knowledge.
  4. Use Firebase MCP Server tools instead of direct API calls: Whenever you need to interact with remote Firebase APIs (such as fetching Crashlytics logs or executing Data Connect queries), use the tools provided by the Firebase MCP Server instead of attempting manual API calls.
  5. Keep Plugin / Agent Skills updated: Since Firebase best practices evolve quickly, regularly check for and install updates to their Firebase plugin or Agent Skills. Similarly, if you encounter issues with outdated tools or commands, follow the steps below based on your agent environment:
  6. Automate Config File Retrieval: When setting up iOS or Android apps, do NOT direct users to the Firebase Console to download google-services.json or GoogleService-Info.plist. Instead, use the Firebase CLI to fetch the config programmatically:
    • For Android: npx -y firebase-tools@latest apps:sdkconfig ANDROID <APP_ID> --project <PROJECT_ID>
    • For iOS: npx -y firebase-tools@latest apps:sdkconfig IOS <APP_ID> --project <PROJECT_ID> Save the output to the appropriate location (e.g., app/google-services.json for Android, or a path to be linked by xcode-project-setup for iOS).

References

Common Issues

  • Login Issues: If the browser fails to open during the login step, use npx -y firebase-tools@latest login --no-localhost instead.

  • Genkit: If using Genkit, install the skills:

    npx skills add genkit-ai/skills

Source: SKILL.md on GitHub

2 warningstoday5 checks · Risk SAFE
  • Gen Agent Trust Hubtoday

    This skill provides a comprehensive suite of instructions for initializing and managing Firebase projects across various development environments. It follows standard industry practices for setting up cloud infrastructure, including downloading tools from official sources (npm, Google, GitHub) and configuring local environments. The 'low' verdict is assigned due to the inherent attack surface for indirect prompt injection when processing user-supplied identifiers like Project IDs in shell commands, though no malicious intent was detected.

  • Sockettoday

    1 alert: gptAnomaly

  • Snyktoday

    Risk: LOW · No issues

  • Runlayer6mo

    2 files scanned · No issues

  • ZeroLeaks5mo

    1 finding · Score: 69/100

Signed by skilld at 073edf7. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 days ago.

Activeupdated 2 months ago
metadata
{
  "category": "CloudInfrastructureAndServices"
}
  • firebase
  • firebase-cli
  • authentication
  • project-setup
  • google-services
  • web
  • android
  • ios

README badge

README badge for firebase/skills/firebase-basics

Provides foundational Firebase CLI setup, authentication, and project management for initializing Firebase environments. Use for checking the Firebase CLI version, logging in, setting active projects, and retrieving config files like google-services.json for Android or GoogleService-Info.plist for iOS.

Generated from the current SKILL.md.

Does this skill handle Firebase authentication setup?
Yes. It covers Firebase CLI authentication via `npx -y firebase-tools@latest login`, including the `--no-localhost` flag for environments without a browser.
What Firebase operations does this skill support?
It provides CLI-based workflows for checking Firebase CLI version, initializing Firebase environments, authenticating, managing active projects, and retrieving `google-services.json` and `GoogleService-Info.plist` config files for Android and iOS apps.
Can I use this skill to create a new Firebase project?
Yes. The skill includes the `npx -y firebase-tools@latest projects:create` command to create new projects with a globally unique project ID.
Does this skill work with Genkit?
The skill acknowledges Genkit usage and notes that the genkit-ai/skills package should be installed separately when using Genkit.

Generated from the current SKILL.md. These answers refresh after source changes.