Not in the top 1,000 by GitHub stars

firebase/agent-skills

Agent Skills for Firebase

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/extension-to-functions-codebase/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Instructions only

629709b2d119 → b76be96aaf5f

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 629709b2d119

No earlier version was observed for comparison.

Compare on GitHub

skills/firebase-ai-logic-basics/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

629709b2d119 → b76be96aaf5f

A local comparison is unavailable. You can inspect the recorded versions on GitHub.

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 629709b2d119

No earlier version was observed for comparison.

Compare on GitHub

skills/firebase-analytics/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → b76be96aaf5f

No earlier version was observed for comparison.

Compare on GitHub

skills/firebase-app-hosting-basics/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

629709b2d119 → b76be96aaf5f

A local comparison is unavailable. You can inspect the recorded versions on GitHub.

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 629709b2d119

No earlier version was observed for comparison.

Compare on GitHub

skills/firebase-auth-basics/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

629709b2d119 → b76be96aaf5f

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 629709b2d119

No earlier version was observed for comparison.

Compare on GitHub

skills/firebase-basics/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

629709b2d119 → b76be96aaf5f

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 629709b2d119

No earlier version was observed for comparison.

Compare on GitHub

skills/firebase-crashlytics/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

629709b2d119 → b76be96aaf5f

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 629709b2d119

No earlier version was observed for comparison.

Compare on GitHub

skills/firebase-data-connect-basics/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

629709b2d119 → b76be96aaf5f

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 629709b2d119

No earlier version was observed for comparison.

Compare on GitHub

skills/firebase-firestore/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

629709b2d119 → b76be96aaf5f

A local comparison is unavailable. You can inspect the recorded versions on GitHub.

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 629709b2d119

No earlier version was observed for comparison.

Compare on GitHub

skills/firebase-hosting-basics/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Instructions only

629709b2d119 → b76be96aaf5f

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 629709b2d119

No earlier version was observed for comparison.

Compare on GitHub

skills/firebase-remote-config-basics/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

629709b2d119 → b76be96aaf5f

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 629709b2d119

No earlier version was observed for comparison.

Compare on GitHub

skills/firebase-security-rules-auditor/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Instructions only

629709b2d119 → b76be96aaf5f

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 629709b2d119

No earlier version was observed for comparison.

Compare on GitHub

skills/firestore-rules-creation/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Instructions only

629709b2d119 → b76be96aaf5f

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 629709b2d119

No earlier version was observed for comparison.

Compare on GitHub

skills/xcode-project-setup/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Local scripts

629709b2d119 → b76be96aaf5f

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 629709b2d119

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit b76be96aaf5f152a5fb3112dde85c723c45539e7

git clone --filter=blob:none --no-checkout https://github.com/firebase/agent-skills.git .hotskills/firebase-agent-skills && git -C .hotskills/firebase-agent-skills checkout --detach b76be96aaf5f152a5fb3112dde85c723c45539e7 # Copy each selected skill directory from .hotskills/firebase-agent-skills into .claude/skills/<skill-name>/
git clone --filter=blob:none --no-checkout https://github.com/firebase/agent-skills.git .hotskills/firebase-agent-skills && git -C .hotskills/firebase-agent-skills checkout --detach b76be96aaf5f152a5fb3112dde85c723c45539e7 # Copy each selected skill directory from .hotskills/firebase-agent-skills into .gemini/skills/<skill-name>/
505GitHub stars
11stars in 7 days
14skills in this repository
14commits in 30 days

Heat

7.2
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 6, 2026505

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

extension-to-functions-codebase

When your agent uses it

Skill for converting an installed Firebase Extension (or extension source) into a standalone Cloud Functions for Firebase codebase or publishable npm package, including V1 to V2 trigger upgrades, lifecycle hooks, and declarative security

What it loads into context

Frontmatter

67 tokens

Always available to the agent

SKILL.md

1,104 tokens

When the skill is activated

Reference documents

3,359 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Overview
  2. Target Migration Workflows
  3. Core Rules & Constraints
  4. Step-by-Step Migration Execution

Files

  • ../../.claude-plugin/marketplace.jsonasset480 bytes
  • ../../.claude-plugin/plugin.jsonasset524 bytes
  • SKILL.mdcore4,552 bytes
  • SKILL.mdcore4,552 bytes
  • references/configuration-migration.mddoc6,553 bytes
  • references/destructuring-shim.mddoc4,466 bytes
  • references/signature-mapping.mddoc4,350 bytes
Read SKILL.md

# Extension to Functions Codebase & npm Package Migration

## Overview

Migrates a Firebase Extension into either:

1. **A local Cloud Functions codebase** (`functions/src/` for app integration).
1. **A publishable npm package** (reusable open-source package exporting V2
   functions).

Leverages native Cloud Functions features (declarative IAM, Parameterized
Config, SDK Lifecycle Hooks) and modernizes 1st Gen triggers to 2nd Gen using
the Destructuring Compatibility Shim.
View the complete source on GitHub

Skills included

  • extension-to-functions-codebase
  • firebase-ai-logic-basics
  • firebase-analytics
  • firebase-app-hosting-basics
  • firebase-auth-basics
  • firebase-basics
  • firebase-crashlytics
  • firebase-data-connect
  • firebase-firestore
  • firebase-hosting-basics
  • firebase-remote-config-basics
  • firebase-security-rules-auditor
  • firestore-rules-creation
  • xcode-project-setup

Repository facts

License
Apache-2.0
Created
Feb 10, 2026
Last pushed
Nov 4, 2026
Forks
114
Open issues
14
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 5, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 25 notes
  • skills/extension-to-functions-codebase/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/firebase-ai-logic-basics/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/firebase-ai-logic-basics/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/firebase-ai-logic-basics/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/firebase-ai-logic-basics/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/firebase-app-hosting-basics/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/firebase-app-hosting-basics/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/firebase-app-hosting-basics/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/firebase-auth-basics/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/firebase-basics/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/firebase-basics/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/firebase-basics/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/firebase-data-connect-basics/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/firebase-firestore/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/firebase-firestore/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/firebase-firestore/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/firebase-hosting-basics/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/firebase-remote-config-basics/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/firebase-remote-config-basics/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/firebase-remote-config-basics/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 309 signals by file

.claude-plugin/plugin.json

  • Network accessline 5
    "author": {     "name": "Firebase",     "url": "https://firebase.google.com/"
  • Network accessline 6
    "name": "Firebase",     "url": "https://firebase.google.com/"   },
  • Network accessline 7
    "url": "https://firebase.google.com/"
  • Network accessline 8
    },   "homepage": "https://github.com/firebase/firebase-tools",   "repository": "https://github.com/firebase/firebase-tools.git",
  • Network accessline 9
    "homepage": "https://github.com/firebase/firebase-tools",
  • Network accessline 10
    "repository": "https://github.com/firebase/firebase-tools.git",

skills/firebase-ai-logic-basics/SKILL.md

  • Network accessline 39
    - If their platform is unsupported, Direct the user to Firebase Docs to learn   how to set up AI Logic for their application (share this link with the user   https://firebase.google.com/docs/ai-logic/get-started)
  • Network accessline 40
    how to set up AI Logic for their application (share this link with the user   https://firebase.google.com/docs/ai-logic/get-started) - The Firebase CLI commands below run through `npx` on every platform, so they
  • Network accessline 41
    https://firebase.google.com/docs/ai-logic/get-started)
  • Dangerous shell operationline 46
    system packages yourself, for example with `sudo apt-get`, because that
  • Network accessline 103
    More info in [Firebase AI Logic Getting Started](https://firebase.google.com/docs/ai-logic/get-started.md.txt)
  • Network accessline 104
    [Firebase AI Logic Getting Started](https://firebase.google.com/docs/ai-logic/get-started.md.txt)
  • Network accessline 110
    > [!WARNING] **CRITICAL: Use current model names:** Always check the > [Firebase AI Logic Models documentation](https://firebase.google.com/docs/ai-logic/models.md.txt)
  • Network accessline 111
    > [Firebase AI Logic Models documentation](https://firebase.google.com/docs/ai-logic/models.md.txt)
  • Network accessline 167
    > [!WARNING] **Use current Image model names:** Always check the > [Firebase AI Logic Models documentation](https://firebase.google.com/docs/ai-logic/models.md.txt)
  • Network accessline 168
    > [Firebase AI Logic Models documentation](https://firebase.google.com/docs/ai-logic/models.md.txt)
  • Network accessline 191
    falls back to a cloud-hosted model otherwise (or vice versa). Availability and setup steps differ by platform, more info in the [hybrid and on-device documentation](https://firebase.google.com/docs/ai-logic/hybrid.md.txt),
  • Network accessline 192
    setup steps differ by platform, more info in the [hybrid and on-device documentation](https://firebase.google.com/docs/ai-logic/hybrid.md.txt), which links to each platform's guide.
  • Network accessline 193
    [hybrid and on-device documentation](https://firebase.google.com/docs/ai-logic/hybrid.md.txt),
  • Network accessline 206
    See [App Check for Firebase AI Logic](https://firebase.google.com/docs/ai-logic/app-check.md.txt)
  • Network accessline 207
    [App Check for Firebase AI Logic](https://firebase.google.com/docs/ai-logic/app-check.md.txt)
  • Network accessline 253
    version string). Use Firebase Remote Config to update model versions dynamically without deploying new client code. See [Changing model names remotely](https://firebase.google.com/docs/ai-logic/change-model-name-remotely.md.txt)
  • Network accessline 255
    [Changing model names remotely](https://firebase.google.com/docs/ai-logic/change-model-name-remotely.md.txt)
  • Network accessline 281
    > [!WARNING] **CRITICAL: Use current model names:** Always check the > [Firebase AI Logic Models documentation](https://firebase.google.com/docs/ai-logic/models.md.txt)
  • Network accessline 282
    > [Firebase AI Logic Models documentation](https://firebase.google.com/docs/ai-logic/models.md.txt)

skills/firebase-ai-logic-basics/references/flutter_setup.md

  • Network accessline 58
    > [!IMPORTANT] **Model Selection:** Refer to > [Firebase AI Logic Models](https://firebase.google.com/docs/ai-logic/models.md.txt)
  • Network accessline 59
    > [Firebase AI Logic Models](https://firebase.google.com/docs/ai-logic/models.md.txt)
  • Network accessline 82
    // [AGENT] Replace '<latest_supported_model>' with the latest model from https://firebase.google.com/docs/ai-logic/models.md.txt
  • Network accessline 125
    Release builds must activate the production providers (Play Integrity, App   Attest or DeviceCheck, and reCAPTCHA Enterprise) instead; see   [App Check for Firebase AI Logic](https://firebase.google.com/docs/ai-logic/app-check.md.txt).
  • Network accessline 126
    Attest or DeviceCheck, and reCAPTCHA Enterprise) instead; see   [App Check for Firebase AI Logic](https://firebase.google.com/docs/ai-logic/app-check.md.txt). - **CI/CD**: Pass the pre-provisioned token to all three debug providers, e.g.
  • Network accessline 127
    [App Check for Firebase AI Logic](https://firebase.google.com/docs/ai-logic/app-check.md.txt).

skills/firebase-ai-logic-basics/references/ios_setup.md

  • Network accessline 19
    // [AGENT] Replace "<latest_supported_model>" with the latest model from https://firebase.google.com/docs/ai-logic/models.md.txt (do NOT use Gemini 1.x or 2.x models)
  • Network accessline 62
    @Observable final class AIViewModel {     // [AGENT] Replace with the latest model from https://firebase.google.com/docs/ai-logic/models.md.txt
  • Network accessline 63
    final class AIViewModel {     // [AGENT] Replace with the latest model from https://firebase.google.com/docs/ai-logic/models.md.txt     private lazy var model = FirebaseAI.firebaseAI(
  • Network accessline 64
    // [AGENT] Replace with the latest model from https://firebase.google.com/docs/ai-logic/models.md.txt
  • Network accessline 127
    let model = FirebaseAI.firebaseAI().generativeModel(   modelName: "<latest_supported_model>", // [AGENT] Replace with the latest model from https://firebase.google.com/docs/ai-logic/models.md.txt
  • Network accessline 128
    modelName: "<latest_supported_model>", // [AGENT] Replace with the latest model from https://firebase.google.com/docs/ai-logic/models.md.txt
  • Access to secretsline 174
    [Credential-related source omitted]
  • Network accessline 237
    let model = FirebaseAI.firebaseAI().generativeModel(   modelName: "<latest_supported_model>", // [AGENT] Replace with the latest model from https://firebase.google.com/docs/ai-logic/models.md.txt
  • Network accessline 238
    modelName: "<latest_supported_model>", // [AGENT] Replace with the latest model from https://firebase.google.com/docs/ai-logic/models.md.txt

skills/firebase-ai-logic-basics/references/tts_generation.md

  • Network accessline 19
    > [!WARNING] Always verify currently supported model availability in the > [Firebase AI Logic Models documentation](https://firebase.google.com/docs/ai-logic/models.md.txt).
  • Network accessline 20
    > [Firebase AI Logic Models documentation](https://firebase.google.com/docs/ai-logic/models.md.txt).
  • Possible obfuscationline 609
    const binaryString = window.atob(base64);

skills/firebase-ai-logic-basics/references/usage_patterns_android.md

  • Network accessline 24
    dependencies {     // [AGENT] Fetch the latest available BoM version from https://firebase.google.com/support/release-notes/android before adding this
  • Network accessline 25
    // [AGENT] Fetch the latest available BoM version from https://firebase.google.com/support/release-notes/android before adding this
  • Network accessline 57
    // [AGENT] Replace "<latest_supported_model>" with the latest model from https://firebase.google.com/docs/ai-logic/models.md.txt (do NOT use Gemini 1.x or 2.x models)
  • Network accessline 114
    super.onCreate(savedInstanceState)         val ai = Firebase.ai         // [AGENT] Replace with the latest model from https://firebase.google.com/docs/ai-logic/models.md.txt
  • Network accessline 115
    val ai = Firebase.ai         // [AGENT] Replace with the latest model from https://firebase.google.com/docs/ai-logic/models.md.txt         val model = ai.generativeModel("<latest_supported_model>")
  • Network accessline 116
    // [AGENT] Replace with the latest model from https://firebase.google.com/docs/ai-logic/models.md.txt
  • Access to secretsline 229
    [Credential-related source omitted]

skills/firebase-ai-logic-basics/references/usage_patterns_web.md

  • Network accessline 45
    // Specify the config as part of creating the `GenerativeModel` instance // [AGENT] Replace "<latest_supported_model>" with the latest model from https://firebase.google.com/docs/ai-logic/models.md.txt (do NOT use Gemini 1.x or 2.x models l
  • Network accessline 46
    // [AGENT] Replace "<latest_supported_model>" with the latest model from https://firebase.google.com/docs/ai-logic/models.md.txt (do NOT use Gemini 1.x or 2.x models like gemini-1.5-flash, gemini-2.0-flash, or gemini-2.5-flash)
  • Network accessline 166
    // Create a `GenerativeModel` instance with a model that supports your use case const model = getGenerativeModel(ai, {   model: "<latest_supported_image_model>", // [AGENT] Replace with the latest image model from https://firebase.google.co
  • Network accessline 167
    const model = getGenerativeModel(ai, {   model: "<latest_supported_image_model>", // [AGENT] Replace with the latest image model from https://firebase.google.com/docs/ai-logic/models.md.txt   // Configure the model to respond with text and 
  • Network accessline 168
    model: "<latest_supported_image_model>", // [AGENT] Replace with the latest image model from https://firebase.google.com/docs/ai-logic/models.md.txt
  • Network accessline 198
    import { getGenerativeModel, Schema } from "firebase/ai"; const jsonModel = getGenerativeModel(ai, {     model: "<latest_supported_model>", // [AGENT] Replace with the latest model from https://firebase.google.com/docs/ai-logic/models.md.tx
  • Network accessline 199
    const jsonModel = getGenerativeModel(ai, {     model: "<latest_supported_model>", // [AGENT] Replace with the latest model from https://firebase.google.com/docs/ai-logic/models.md.txt     generationConfig: {
  • Network accessline 200
    model: "<latest_supported_model>", // [AGENT] Replace with the latest model from https://firebase.google.com/docs/ai-logic/models.md.txt
  • Network accessline 219
    This requires specific steps to enable model usage in the Chrome browser, more info in the [hybrid inference documentation for Web](https://firebase.google.com/docs/ai-logic/hybrid/web/get-started.md.txt).
  • Network accessline 221
    [hybrid inference documentation for Web](https://firebase.google.com/docs/ai-logic/hybrid/web/get-started.md.txt).
  • Network accessline 231
    See [App Check with reCAPTCHA Enterprise](https://firebase.google.com/docs/app-check/web/recaptcha-enterprise-provider.md.txt)
  • Network accessline 232
    [App Check with reCAPTCHA Enterprise](https://firebase.google.com/docs/app-check/web/recaptcha-enterprise-provider.md.txt)
  • Access to secretsline 241
    [Credential-related source omitted]
  • Access to secretsline 262
    [Credential-related source omitted]
  • Access to secretsline 266
    [Credential-related source omitted]

skills/firebase-analytics/SKILL.md

  • Network accessline 28
    An active Firebase project [linked to a Google Analytics property](https://support.google.com/analytics/answer/9289234).
  • Network accessline 29
    [linked to a Google Analytics property](https://support.google.com/analytics/answer/9289234).
  • Network accessline 47
    *   [Log events (custom or recommended)](https://firebase.google.com/docs/analytics/events)
  • Network accessline 48
    *   [Set user properties](https://firebase.google.com/docs/analytics/user-properties)
  • Network accessline 51
    [android_screen_views.md](references/android_screen_views.md)     *   **iOS**: [ios_screen_views.md](references/ios_screen_views.md) *   [Configure data collection and consent mode](https://firebase.google.com/docs/analytics/configure-data-
  • Network accessline 53
    *   [Configure data collection and consent mode](https://firebase.google.com/docs/analytics/configure-data-collection)
  • Network accessline 58
    *   **Android**:     [Get started with Google Analytics for Android](https://firebase.google.com/docs/analytics/android/get-started)
  • Network accessline 59
    [Get started with Google Analytics for Android](https://firebase.google.com/docs/analytics/android/get-started)
  • Network accessline 61
    [Get started with Google Analytics for iOS+](https://firebase.google.com/docs/analytics/ios/get-started)

skills/firebase-analytics/references/android_screen_views.md

  • Network accessline 65
    // Log a screen view event // https://firebase.google.com/docs/analytics/screenviews#kotlin
  • Network accessline 66
    // https://firebase.google.com/docs/analytics/screenviews#kotlin
  • Network accessline 95
    // 2. Setup the listener using DisposableEffect // https://firebase.google.com/docs/analytics/screenviews#kotlin
  • Network accessline 96
    // https://firebase.google.com/docs/analytics/screenviews#kotlin
  • Network accessline 133
    // https://firebase.google.com/docs/analytics/screenviews#kotlin
  • Network accessline 159
    // https://firebase.google.com/docs/analytics/screenviews#kotlin
  • Network accessline 187
    // 1. Standard Voyager Navigator // https://firebase.google.com/docs/analytics/screenviews#kotlin
  • Network accessline 188
    // https://firebase.google.com/docs/analytics/screenviews#kotlin
  • Network accessline 199
    // 2. Voyager TabNavigator // https://firebase.google.com/docs/analytics/screenviews#kotlin
  • Network accessline 200
    // https://firebase.google.com/docs/analytics/screenviews#kotlin
  • Network accessline 324
    Firebase `PROJECT_ID` (and `PACKAGE_NAME` if available) from             `google-services.json` or `build.gradle(.kts)`:             `https://console.firebase.google.com/u/0/project/PROJECT_ID/analytics/debugview`
  • Network accessline 325
    `google-services.json` or `build.gradle(.kts)`:             `https://console.firebase.google.com/u/0/project/PROJECT_ID/analytics/debugview`             (or
  • Network accessline 326
    `https://console.firebase.google.com/u/0/project/PROJECT_ID/analytics/debugview`
  • Network accessline 327
    (or             `https://console.firebase.google.com/u/0/project/PROJECT_ID/analytics/app/android:PACKAGE_NAME/debugview`;             if `PROJECT_ID` is not available, use
  • Network accessline 328
    `https://console.firebase.google.com/u/0/project/PROJECT_ID/analytics/app/android:PACKAGE_NAME/debugview`;
  • Network accessline 330
    `https://console.firebase.google.com/u/0/project/_/analytics/debugview`).
  • Network accessline 338
    // Log a screen view event // https://firebase.google.com/docs/analytics/screenviews#kotlin
  • Network accessline 339
    // https://firebase.google.com/docs/analytics/screenviews#kotlin
  • Network accessline 352
    Method                                | Action                  | Doc URLs :------------------------------------ | :---------------------- | :------- `FirebaseAnalytics.Event.SCREEN_VIEW` | Log a screen view event | <https://firebase.google
  • Network accessline 354
    `FirebaseAnalytics.Event.SCREEN_VIEW` | Log a screen view event | <https://firebase.google.com/docs/analytics/screenviews#kotlin>

skills/firebase-analytics/references/android_setup.md

  • Network accessline 32
    alongside external attribution solutions. It provides distinct, native         value by serving as the essential engine for         [Google Ads App Attribution Partner integrations](https://support.google.com/google-ads/answer/12961402)
  • Network accessline 33
    value by serving as the essential engine for         [Google Ads App Attribution Partner integrations](https://support.google.com/google-ads/answer/12961402)         (enabling advanced automated bidding optimization and precise conversion
  • Network accessline 34
    [Google Ads App Attribution Partner integrations](https://support.google.com/google-ads/answer/12961402)
  • Network accessline 56
    1.  **Firebase Project:** An active Firebase project     [linked to a Google Analytics property](https://support.google.com/analytics/answer/9289234).
  • Network accessline 57
    [linked to a Google Analytics property](https://support.google.com/analytics/answer/9289234).
  • Network accessline 74
    "Settings" > "Integrations" page of the Firebase console. Use the         Firebase `PROJECT_ID` from the Firebase config file:         `https://console.firebase.google.com/u/0/project/PROJECT_ID/settings/integrations`
  • Network accessline 76
    `https://console.firebase.google.com/u/0/project/PROJECT_ID/settings/integrations`
  • Network accessline 101
    ```bash     curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml
  • Network accessline 102
    curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml
  • Network accessline 108
    ```bash     curl -s https://dl.google.com/dl/android/maven2/com/google/gms/google-services/maven-metadata.xml
  • Network accessline 109
    curl -s https://dl.google.com/dl/android/maven2/com/google/gms/google-services/maven-metadata.xml
  • Network accessline 358
    // Log the debug-only gaac_app_open event to verify changes (remove after verification)         // https://firebase.google.com/docs/analytics/events
  • Network accessline 359
    // https://firebase.google.com/docs/analytics/events
  • Network accessline 460
    `PACKAGE_NAME` if available) from `google-services.json` or     `build.gradle(.kts)`:     `https://console.firebase.google.com/u/0/project/PROJECT_ID/analytics/debugview`
  • Network accessline 461
    `build.gradle(.kts)`:     `https://console.firebase.google.com/u/0/project/PROJECT_ID/analytics/debugview`     (or
  • Network accessline 462
    `https://console.firebase.google.com/u/0/project/PROJECT_ID/analytics/debugview`
  • Network accessline 463
    (or     `https://console.firebase.google.com/u/0/project/PROJECT_ID/analytics/app/android:PACKAGE_NAME/debugview`;     if `PROJECT_ID` is not available, use
  • Network accessline 464
    `https://console.firebase.google.com/u/0/project/PROJECT_ID/analytics/app/android:PACKAGE_NAME/debugview`;
  • Network accessline 465
    if `PROJECT_ID` is not available, use     `https://console.firebase.google.com/u/0/project/_/analytics/debugview`). *   [AGENT] Tell the human user that they can view real-time events streamed
  • Network accessline 466
    `https://console.firebase.google.com/u/0/project/_/analytics/debugview`).

skills/firebase-analytics/references/ios_screen_views.md

  • Network accessline 76
    // Log a screen view event // https://firebase.google.com/docs/analytics/screenviews
  • Network accessline 77
    // https://firebase.google.com/docs/analytics/screenviews
  • Network accessline 96
    // Log a screen view event         // https://firebase.google.com/docs/analytics/screenviews
  • Network accessline 97
    // https://firebase.google.com/docs/analytics/screenviews
  • Network accessline 118
    // Log a screen view event     // https://firebase.google.com/docs/analytics/screenviews
  • Network accessline 119
    // https://firebase.google.com/docs/analytics/screenviews
  • Network accessline 147
    .onAppear {             // Log a screen view event             // https://firebase.google.com/docs/analytics/screenviews
  • Network accessline 148
    // Log a screen view event             // https://firebase.google.com/docs/analytics/screenviews             Analytics.logEvent(AnalyticsEventScreenView, parameters: [
  • Network accessline 149
    // https://firebase.google.com/docs/analytics/screenviews
  • Network accessline 260
    Firebase `PROJECT_ID` (and `BUNDLE_ID` if available) from             `GoogleService-Info.plist`:             `https://console.firebase.google.com/u/0/project/PROJECT_ID/analytics/debugview`
  • Network accessline 261
    `GoogleService-Info.plist`:             `https://console.firebase.google.com/u/0/project/PROJECT_ID/analytics/debugview`             (or
  • Network accessline 262
    `https://console.firebase.google.com/u/0/project/PROJECT_ID/analytics/debugview`
  • Network accessline 263
    (or             `https://console.firebase.google.com/u/0/project/PROJECT_ID/analytics/app/ios:BUNDLE_ID/debugview`;             if `PROJECT_ID` is not available, use
  • Network accessline 264
    `https://console.firebase.google.com/u/0/project/PROJECT_ID/analytics/app/ios:BUNDLE_ID/debugview`;
  • Network accessline 266
    `https://console.firebase.google.com/u/0/project/_/analytics/debugview`).
  • Network accessline 274
    // Log a screen view event // https://firebase.google.com/docs/analytics/screenviews
  • Network accessline 275
    // https://firebase.google.com/docs/analytics/screenviews
  • Network accessline 287
    Method | Action | Doc URLs :--- | :--- | :--- `AnalyticsEventScreenView` (Swift) / `kFIREventScreenView` (ObjC) | Log a screen view event | <https://firebase.google.com/docs/analytics/screenviews>
  • Network accessline 289
    `AnalyticsEventScreenView` (Swift) / `kFIREventScreenView` (ObjC) | Log a screen view event | <https://firebase.google.com/docs/analytics/screenviews>

skills/firebase-analytics/references/ios_setup.md

  • Network accessline 33
    alongside external attribution solutions. It provides distinct, native         value by serving as the essential engine for         [Google Ads App Attribution Partner integrations](https://support.google.com/google-ads/answer/12961402)
  • Network accessline 34
    value by serving as the essential engine for         [Google Ads App Attribution Partner integrations](https://support.google.com/google-ads/answer/12961402)         (enabling advanced automated bidding optimization and precise conversion
  • Network accessline 35
    [Google Ads App Attribution Partner integrations](https://support.google.com/google-ads/answer/12961402)
  • Network accessline 57
    1.  **Firebase Project:** An active Firebase project     [linked to a Google Analytics property](https://support.google.com/analytics/answer/9289234).
  • Network accessline 58
    [linked to a Google Analytics property](https://support.google.com/analytics/answer/9289234).
  • Network accessline 73
    "Settings" > "Integrations" page of the Firebase console. Use the         Firebase `PROJECT_ID` from the Firebase config file:         `https://console.firebase.google.com/u/0/project/PROJECT_ID/settings/integrations`
  • Network accessline 75
    `https://console.firebase.google.com/u/0/project/PROJECT_ID/settings/integrations`
  • Network accessline 98
    ```bash     curl -s https://api.github.com/repos/firebase/firebase-ios-sdk/releases/latest | grep tag_name
  • Network accessline 99
    curl -s https://api.github.com/repos/firebase/firebase-ios-sdk/releases/latest | grep tag_name
  • Network accessline 124
    ```text     https://github.com/firebase/firebase-ios-sdk.git
  • Network accessline 125
    https://github.com/firebase/firebase-ios-sdk.git
  • Network accessline 401
    "DebugView" page of the Firebase console. Use the Firebase `PROJECT_ID` (and     `BUNDLE_ID` if available) from `GoogleService-Info.plist`:     `https://console.firebase.google.com/u/0/project/PROJECT_ID/analytics/debugview`
  • Network accessline 402
    `BUNDLE_ID` if available) from `GoogleService-Info.plist`:     `https://console.firebase.google.com/u/0/project/PROJECT_ID/analytics/debugview`     (or
  • Network accessline 403
    `https://console.firebase.google.com/u/0/project/PROJECT_ID/analytics/debugview`
  • Network accessline 404
    (or     `https://console.firebase.google.com/u/0/project/PROJECT_ID/analytics/app/ios:BUNDLE_ID/debugview`;     if `PROJECT_ID` is not available, use
  • Network accessline 405
    `https://console.firebase.google.com/u/0/project/PROJECT_ID/analytics/app/ios:BUNDLE_ID/debugview`;
  • Network accessline 406
    if `PROJECT_ID` is not available, use     `https://console.firebase.google.com/u/0/project/_/analytics/debugview`). *   [AGENT] Tell the human user to select their active Simulator or test device
  • Network accessline 407
    `https://console.firebase.google.com/u/0/project/_/analytics/debugview`).

skills/firebase-app-hosting-basics/SKILL.md

  • Network accessline 17
    **Important**: In order to use App Hosting, your Firebase project must be on the Blaze pricing plan. Direct the user to https://console.firebase.google.com/project/_/overview?purchaseBillingPlan=metered
  • Network accessline 18
    Blaze pricing plan. Direct the user to https://console.firebase.google.com/project/_/overview?purchaseBillingPlan=metered to upgrade their plan.
  • Network accessline 19
    https://console.firebase.google.com/project/_/overview?purchaseBillingPlan=metered

skills/firebase-app-hosting-basics/references/configuration.md

  • Access to secretsline 27
    [Credential-related source omitted]

skills/firebase-app-hosting-basics/references/emulation.md

  • Access to secretsline 21
    [Credential-related source omitted]

skills/firebase-auth-basics/SKILL.md

  • Network accessline 75
    "supportEmail": "support@example.com",         "authorizedRedirectUris": [           "https://my-project-id.firebaseapp.com/__/auth/handler",
  • Network accessline 76
    "authorizedRedirectUris": [           "https://my-project-id.firebaseapp.com/__/auth/handler",           "http://localhost"
  • Network accessline 77
    "https://my-project-id.firebaseapp.com/__/auth/handler",
  • Network accessline 78
    "http://localhost"
  • Network accessline 86
    > [!NOTE] If the Google Sign-In popup opens and immediately closes with the > error `[firebase_auth/unauthorized-domain]`, it means the domain is not > authorized. For local development, add `http://localhost` to
  • Network accessline 87
    > error `[firebase_auth/unauthorized-domain]`, it means the domain is not > authorized. For local development, add `http://localhost` to > `authorizedRedirectUris` in `firebase.json` (or ensure `localhost` is included
  • Network accessline 88
    > authorized. For local development, add `http://localhost` to
  • Network accessline 90
    > in the **Authorized Domains** list in the Firebase Console under > Authentication > Settings > Authorized domains). **CRITICAL**: Do NOT include > the port number in `authorizedRedirectUris` (e.g., use `http://localhost`, NOT
  • Network accessline 91
    > Authentication > Settings > Authorized domains). **CRITICAL**: Do NOT include > the port number in `authorizedRedirectUris` (e.g., use `http://localhost`, NOT > `http://localhost:9090` or `http://localhost:4000`), and do NOT include the
  • Network accessline 92
    > the port number in `authorizedRedirectUris` (e.g., use `http://localhost`, NOT
  • Network accessline 93
    > `http://localhost:9090` or `http://localhost:4000`), and do NOT include the
  • Network accessline 111
    1. Go to the    https://console.firebase.google.com/project/_/authentication/providers
  • Network accessline 112
    https://console.firebase.google.com/project/_/authentication/providers

skills/firebase-auth-basics/references/client_sdk_android.md

  • Network accessline 38
    > ```bash > # Find the latest Firebase Android BoM version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 39
    > # Find the latest Firebase Android BoM version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2 >
  • Network accessline 40
    > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 41
    > > # Find the latest firebase-auth version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-auth/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 42
    > # Find the latest firebase-auth version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-auth/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2 > ```
  • Network accessline 43
    > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-auth/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2

skills/firebase-auth-basics/references/client_sdk_web.md

  • Network accessline 25
    // Connect to emulator if running locally if (location.hostname === "localhost") {   connectAuthEmulator(auth, "http://localhost:9099");
  • Network accessline 26
    if (location.hostname === "localhost") {   connectAuthEmulator(auth, "http://localhost:9099"); }
  • Network accessline 27
    connectAuthEmulator(auth, "http://localhost:9099");
  • Network accessline 81
    >   Authorized domains). > - **CRITICAL**: Do NOT include the protocol or port number when adding the >   domain (e.g., use `localhost`, NOT `http://localhost:9090`).
  • Network accessline 83
    >   domain (e.g., use `localhost`, NOT `http://localhost:9090`).
  • Network accessline 228
    const actionCodeSettings = {   // URL you want to redirect back to. The domain must be in the authorized domains list in Firebase Console.   url: 'https://www.example.com/finishSignUp?cartId=1234',
  • Network accessline 229
    // URL you want to redirect back to. The domain must be in the authorized domains list in Firebase Console.   url: 'https://www.example.com/finishSignUp?cartId=1234',   handleCodeInApp: true,
  • Network accessline 230
    url: 'https://www.example.com/finishSignUp?cartId=1234',
  • Network accessline 278
    if (user) {     // User is signed in, see docs for a list of available properties     // https://firebase.google.com/docs/reference/js/firebase.User
  • Network accessline 279
    // User is signed in, see docs for a list of available properties     // https://firebase.google.com/docs/reference/js/firebase.User     const uid = user.uid;
  • Network accessline 280
    // https://firebase.google.com/docs/reference/js/firebase.User

skills/firebase-auth-basics/references/flutter_setup.md

  • Network accessline 147
    Console (Authentication > Settings > Authorized domains). - **CRITICAL**: Do NOT include the protocol or port number when adding the   domain (e.g., use `localhost`, NOT `http://localhost:9090`). Flutter Web often
  • Network accessline 148
    - **CRITICAL**: Do NOT include the protocol or port number when adding the   domain (e.g., use `localhost`, NOT `http://localhost:9090`). Flutter Web often   runs on random ports or specific ports, but Firebase Auth only cares about the
  • Network accessline 149
    domain (e.g., use `localhost`, NOT `http://localhost:9090`). Flutter Web often

skills/firebase-basics/references/android_setup.md

  • Network accessline 136
    > ```bash > # Find the latest Google services Gradle plugin version > curl -s https://dl.google.com/dl/android/maven2/com/google/gms/google-services/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 137
    > # Find the latest Google services Gradle plugin version > curl -s https://dl.google.com/dl/android/maven2/com/google/gms/google-services/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2 > ```
  • Network accessline 138
    > curl -s https://dl.google.com/dl/android/maven2/com/google/gms/google-services/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Access to secretsline 208
    [Credential-related source omitted]

skills/firebase-basics/references/flutter_setup.md

  • Network accessline 13
    Silicon (`arm64`) using `uname -m`.    1. **Download SDK**: Fetch the latest stable SDK from the       [Flutter Archive](https://docs.flutter.dev/install/archive?tab=macos).
  • Network accessline 14
    1. **Download SDK**: Fetch the latest stable SDK from the       [Flutter Archive](https://docs.flutter.dev/install/archive?tab=macos).    1. **Extract**: Unzip the SDK to a permanent directory (e.g.,
  • Network accessline 15
    [Flutter Archive](https://docs.flutter.dev/install/archive?tab=macos).

skills/firebase-basics/references/ios_setup.md

  • Network accessline 59
    > features and security fixes, always check for the most recent version of the > Firebase iOS SDK at > [https://github.com/firebase/firebase-ios-sdk/releases](https://github.com/firebase/firebase-ios-sdk/releases)
  • Network accessline 60
    > Firebase iOS SDK at > [https://github.com/firebase/firebase-ios-sdk/releases](https://github.com/firebase/firebase-ios-sdk/releases) > and use that version when adding the SPM dependency.
  • Network accessline 61
    > [https://github.com/firebase/firebase-ios-sdk/releases](https://github.com/firebase/firebase-ios-sdk/releases)

skills/firebase-basics/references/local-env-setup.md

  • Network accessline 19
    1. Guide the user to the      [official nvm repository](https://github.com/nvm-sh/nvm#installing-and-updating).
  • Network accessline 20
    [official nvm repository](https://github.com/nvm-sh/nvm#installing-and-updating).
  • Network accessline 42
    1. Guide the user to download and install      [nvm-windows](https://github.com/coreybutler/nvm-windows/releases).
  • Network accessline 43
    [nvm-windows](https://github.com/coreybutler/nvm-windows/releases).
  • Network accessline 53
    1. Guide the user to download and install the LTS version from      [nodejs.org](https://nodejs.org/en/download).
  • Network accessline 54
    [nodejs.org](https://nodejs.org/en/download).

skills/firebase-basics/references/refresh/other-agents.md

  • Network accessline 9
    Replace `<AGENT_NAME>` with the actual agent name, which can be found in the [skills repository README](https://github.com/vercel-labs/skills/blob/main/README.md).
  • Network accessline 10
    [skills repository README](https://github.com/vercel-labs/skills/blob/main/README.md).

skills/firebase-basics/references/setup/gemini_cli.md

  • Network accessline 20
    gemini extensions install https://github.com/firebase/agent-skills

skills/firebase-basics/references/setup/other_agents.md

  • Network accessline 16
    output includes `firebase-basics`, the skills are already installed locally.    Replace `<agent-name>` with the actual agent name, which can be found    [here](https://github.com/vercel-labs/skills/blob/main/README.md).
  • Network accessline 17
    Replace `<agent-name>` with the actual agent name, which can be found    [here](https://github.com/vercel-labs/skills/blob/main/README.md). 1. **Check Global skills**: If not found locally, check the global installation
  • Network accessline 18
    [here](https://github.com/vercel-labs/skills/blob/main/README.md).

skills/firebase-basics/references/web_setup.md

  • Access to secretsline 45
    [Credential-related source omitted]
  • Access to secretsline 117
    [Credential-related source omitted]
  • Access to secretsline 121
    [Credential-related source omitted]

skills/firebase-crashlytics/SKILL.md

  • Network accessline 42
    - **Android**:   [Customize Crash Reports for Android](https://firebase.google.com/docs/crashlytics/android/customize-crash-reports.md)
  • Network accessline 43
    [Customize Crash Reports for Android](https://firebase.google.com/docs/crashlytics/android/customize-crash-reports.md)
  • Network accessline 45
    [Customize Crash Reports for Apple Platforms](https://firebase.google.com/docs/crashlytics/ios/customize-crash-reports.md)

skills/firebase-crashlytics/references/android_setup.md

  • Network accessline 27
    > ```bash > # Find the latest Firebase Android BoM version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 28
    > # Find the latest Firebase Android BoM version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2 >
  • Network accessline 29
    > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 30
    > > # Find the latest Crashlytics Gradle plugin version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-crashlytics-gradle/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 31
    > # Find the latest Crashlytics Gradle plugin version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-crashlytics-gradle/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2 >
  • Network accessline 32
    > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-crashlytics-gradle/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 33
    > > # Find the latest firebase-crashlytics version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-crashlytics/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 34
    > # Find the latest firebase-crashlytics version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-crashlytics/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2 >
  • Network accessline 35
    > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-crashlytics/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 36
    > > # Find the latest firebase-crashlytics-ndk version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-crashlytics-ndk/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 37
    > # Find the latest firebase-crashlytics-ndk version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-crashlytics-ndk/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2 > ```
  • Network accessline 38
    > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-crashlytics-ndk/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 167
    with a constructed Firebase console URL using the Firebase PROJECT_ID and      the PACKAGE_NAME:      `https://console.firebase.google.com/u/0/project/PROJECT_ID/crashlytics/app/android:PACKAGE_NAME/issues`
  • Network accessline 169
    `https://console.firebase.google.com/u/0/project/PROJECT_ID/crashlytics/app/android:PACKAGE_NAME/issues`
  • Network accessline 181
    Customize reports to help better understand what's happening in the app and the circumstances around events reported to Crashlytics. See https://firebase.google.com/docs/crashlytics/android/customize-crash-reports.md.txt.
  • Network accessline 183
    https://firebase.google.com/docs/crashlytics/android/customize-crash-reports.md.txt.

skills/firebase-crashlytics/references/ios_setup.md

  • Network accessline 28
    Install the `FirebaseCrashlytics` package from the `https://github.com/firebase/firebase-ios-sdk.git` repository.
  • Network accessline 29
    `https://github.com/firebase/firebase-ios-sdk.git` repository.
  • Network accessline 113
    Customize reports to help you better understand what's happening in your app and the circumstances around events reported to Crashlytics. See [Customize Crash Reports for Apple Platforms](https://firebase.google.com/docs/crashlytics/ios/cus
  • Network accessline 115
    [Customize Crash Reports for Apple Platforms](https://firebase.google.com/docs/crashlytics/ios/customize-crash-reports.md).

skills/firebase-data-connect-basics/examples.md

  • Network accessline 560
    movie AS (         INSERT INTO movie (id, title, poster_url, release_year, genre)         VALUES ($1, 'Auto-Generated Movie', 'https://placeholder.com', 2025, 'Sci-Fi')
  • Network accessline 561
    INSERT INTO movie (id, title, poster_url, release_year, genre)         VALUES ($1, 'Auto-Generated Movie', 'https://placeholder.com', 2025, 'Sci-Fi')         ON CONFLICT (id) DO NOTHING
  • Network accessline 562
    VALUES ($1, 'Auto-Generated Movie', 'https://placeholder.com', 2025, 'Sci-Fi')

skills/firebase-data-connect-basics/reference/sdk_android.md

  • Network accessline 42
    > ```bash > # Find the latest Firebase Android BoM version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 43
    > # Find the latest Firebase Android BoM version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2 >
  • Network accessline 44
    > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 45
    > > # Find the latest firebase-dataconnect version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-dataconnect/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 46
    > # Find the latest firebase-dataconnect version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-dataconnect/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2 > ```
  • Network accessline 47
    > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-dataconnect/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2

skills/firebase-firestore/references/enterprise/android_sdk_usage.md

  • Network accessline 41
    > ```bash > # Find the latest Firebase Android BoM version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 42
    > # Find the latest Firebase Android BoM version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2 >
  • Network accessline 43
    > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 44
    > > # Find the latest firebase-firestore version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-firestore/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 45
    > # Find the latest firebase-firestore version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-firestore/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2 > ```
  • Network accessline 46
    > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-firestore/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2

skills/firebase-firestore/references/enterprise/provisioning.md

  • Network accessline 117
    This starts the Firestore emulator, typically on port 8080. You can interact with it using the Emulator UI (usually at http://localhost:4000/firestore).
  • Network accessline 118
    with it using the Emulator UI (usually at http://localhost:4000/firestore).

skills/firebase-firestore/references/standard/android_sdk_usage.md

  • Network accessline 41
    > ```bash > # Find the latest Firebase Android BoM version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 42
    > # Find the latest Firebase Android BoM version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2 >
  • Network accessline 43
    > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 44
    > > # Find the latest firebase-firestore version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-firestore/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 45
    > # Find the latest firebase-firestore version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-firestore/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2 > ```
  • Network accessline 46
    > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-firestore/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2

skills/firebase-firestore/references/standard/indexes.md

  • Network accessline 39
    > "The query requires an index. You can create it here: > https://console.firebase.google.com/project/..."
  • Network accessline 40
    > https://console.firebase.google.com/project/..."

skills/firebase-firestore/references/standard/provisioning.md

  • Network accessline 109
    This starts the Firestore emulator, typically on port 8080. You can interact with it using the Emulator UI (usually at http://localhost:4000/firestore).
  • Network accessline 110
    with it using the Emulator UI (usually at http://localhost:4000/firestore).

skills/firebase-hosting-basics/SKILL.md

  • Network accessline 68
    This serves your app at `http://localhost:5000` by default.

skills/firebase-remote-config-basics/SKILL.md

  • Network accessline 60
    To optimize app performance and user experience, follow these recommended patterns (see [Loading Strategies](https://firebase.google.com/docs/remote-config/loading)):
  • Network accessline 62
    [Loading Strategies](https://firebase.google.com/docs/remote-config/loading)):

skills/firebase-remote-config-basics/references/android_setup.md

  • Network accessline 24
    > ```bash > # Find the latest Firebase Android BoM version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 25
    > # Find the latest Firebase Android BoM version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2 >
  • Network accessline 26
    > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 27
    > > # Find the latest firebase-config version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-config/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 28
    > # Find the latest firebase-config version > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-config/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2 > ```
  • Network accessline 29
    > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-config/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
  • Network accessline 42
    targeting based on user properties and audiences. Additional manual setup for Google Analytics is required (see "Before you begin" in https://firebase.google.com/docs/analytics/android/get-started.md.txt)
  • Network accessline 44
    https://firebase.google.com/docs/analytics/android/get-started.md.txt)

skills/firebase-remote-config-basics/references/ios_setup.md

  • Network accessline 27
    Install the `FirebaseRemoteConfig` and `FirebaseAnalytics` packages from the [https://github.com/firebase/firebase-ios-sdk.git](https://github.com/firebase/firebase-ios-sdk.git)
  • Network accessline 28
    [https://github.com/firebase/firebase-ios-sdk.git](https://github.com/firebase/firebase-ios-sdk.git)
  • Network accessline 47
    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  • Network accessline 48
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

skills/firestore-rules-creation/SKILL.md

  • Network accessline 157
    } // // Validate URL format (must start with https:// or http://)
  • Network accessline 158
    // // Validate URL format (must start with https:// or http://) function isValidUrl(url) {
  • Network accessline 159
    // Validate URL format (must start with https:// or http://)
  • Network accessline 160
    function isValidUrl(url) {    return url is string &&      (url.matches("^https://.*") || url.matches("^http://.*"));
  • Network accessline 161
    return url is string &&      (url.matches("^https://.*") || url.matches("^http://.*")); }
  • Network accessline 162
    (url.matches("^https://.*") || url.matches("^http://.*"));

skills/xcode-project-setup/SKILL.md

  • Network accessline 91
    To ensure access to the latest features and security fixes, always use the most recent version of the Firebase iOS SDK. Check for the latest release version at [https://github.com/firebase/firebase-ios-sdk/releases](https://github.com/fireb
  • Network accessline 93
    [https://github.com/firebase/firebase-ios-sdk/releases](https://github.com/firebase/firebase-ios-sdk/releases).
  • Network accessline 102
    1. Adding the package repository dependency (e.g.,    `https://github.com/Alamofire/Alamofire`).
  • Network accessline 103
    `https://github.com/Alamofire/Alamofire`).
  • Network accessline 128
    swift run --package-path /Users/foo/.agents/skills/xcode-project-setup/scripts/xcode_spm_setup xcode_spm_setup MyApp.xcodeproj https://github.com/Alamofire/Alamofire 5.8.1 Alamofire
  • Network accessline 134
    build phase automatically. *Note: Replace `11.0.0` with the actual latest version from [the releases page](https://github.com/firebase/firebase-ios-sdk/releases).*
  • Network accessline 136
    [the releases page](https://github.com/firebase/firebase-ios-sdk/releases).*
  • Network accessline 139
    swift run --package-path /Users/foo/.agents/skills/xcode-project-setup/scripts/xcode_spm_setup xcode_spm_setup MyApp.xcodeproj https://github.com/firebase/firebase-ios-sdk 11.0.0 --plist MyApp/GoogleService-Info.plist FirebaseCore FirebaseA

skills/xcode-project-setup/scripts/xcode_spm_setup/.gitignore

  • Executable scriptline 1
    Executable file

skills/xcode-project-setup/scripts/xcode_spm_setup/Package.resolved

  • Network accessline 4
    "identity" : "aexml",       "kind" : "remoteSourceControl",       "location" : "https://github.com/tadija/AEXML.git",
  • Network accessline 5
    "kind" : "remoteSourceControl",       "location" : "https://github.com/tadija/AEXML.git",       "state" : {
  • Network accessline 6
    "location" : "https://github.com/tadija/AEXML.git",
  • Network accessline 13
    "identity" : "pathkit",       "kind" : "remoteSourceControl",       "location" : "https://github.com/kylef/PathKit.git",
  • Network accessline 14
    "kind" : "remoteSourceControl",       "location" : "https://github.com/kylef/PathKit.git",       "state" : {
  • Network accessline 15
    "location" : "https://github.com/kylef/PathKit.git",
  • Network accessline 22
    "identity" : "spectre",       "kind" : "remoteSourceControl",       "location" : "https://github.com/kylef/Spectre.git",
  • Network accessline 23
    "kind" : "remoteSourceControl",       "location" : "https://github.com/kylef/Spectre.git",       "state" : {
  • Network accessline 24
    "location" : "https://github.com/kylef/Spectre.git",
  • Network accessline 31
    "identity" : "xcodeproj",       "kind" : "remoteSourceControl",       "location" : "https://github.com/tuist/XcodeProj.git",
  • Network accessline 32
    "kind" : "remoteSourceControl",       "location" : "https://github.com/tuist/XcodeProj.git",       "state" : {
  • Network accessline 33
    "location" : "https://github.com/tuist/XcodeProj.git",

skills/xcode-project-setup/scripts/xcode_spm_setup/Package.swift

  • Network accessline 6
    platforms: [.macOS(.v13)],     dependencies: [         .package(url: "https://github.com/tuist/XcodeProj.git", .upToNextMajor(from: "8.27.7")),
  • Network accessline 7
    dependencies: [         .package(url: "https://github.com/tuist/XcodeProj.git", .upToNextMajor(from: "8.27.7")),     ],
  • Network accessline 8
    .package(url: "https://github.com/tuist/XcodeProj.git", .upToNextMajor(from: "8.27.7")),

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 288 facts

and 238 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md skills/extension-to-functions-codebase/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/extension-to-functions-codebase/SKILL.md.cursor/skills/<skill-name>/
Gemini CLINativeManifest gemini-extension.json.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/extension-to-functions-codebase/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/extension-to-functions-codebase/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.