Skip to content

add android skills#57

Open
VinayGuthal wants to merge 11 commits intofirebase:nextfrom
VinayGuthal:add_android_skills
Open

add android skills#57
VinayGuthal wants to merge 11 commits intofirebase:nextfrom
VinayGuthal:add_android_skills

Conversation

@VinayGuthal
Copy link
Copy Markdown

@VinayGuthal VinayGuthal commented Mar 30, 2026

🚀 PR Description: Porting Firebase Docs to Android & CLI Standardization

This PR unifies the Firebase onboarding experience for Android developers by porting generic web/general documentation snippets to Android (Kotlin) and standardizing the use of the Firebase CLI for service initialization.

📝 Key Changes

1. 📂 Porting Documentation to Android (Kotlin)

Ported various generic Firebase documentation snippets to platform-specific Android Kotlin examples. This provides developers with copy-pasteable, type-safe code for common Firebase use cases.


2. 📚 CLI Standardized Usage Patterns

Updated standard guides to include unified Firebase CLI instructions (npx -y firebase-tools@latest init [feature]) ensuring that server-side services (Auth, Firestore, etc.) are properly enabled before client-side gradle dependencies attempt to call them.

  • Authentication: client_sdk_android.md
  • Firestore: android_sdk_usage.md
  • AI Logic & Data Connect: usage_patterns_android.md

✅ Verification

  • Syntax and correctness inspections for newly ported Kotlin snippets.
  • Verification of standardized CLI command sequences.

joehan and others added 3 commits February 13, 2026 15:17
* Add firebase-data-connect-basics skill

* Add firebase dataconnect basic skills

---------

Co-authored-by: Muhammad Talha <muhammadtalhar@google.com>
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces comprehensive Android (Kotlin) SDK documentation and usage patterns across several Firebase services, including AI Logic, Authentication, and Cloud Firestore (both Standard and Enterprise Native Mode). It also adds a general Android setup guide. The review feedback identifies several instances where code snippets are missing necessary imports (specifically android.util.Log) and constant definitions (like TAG), which would lead to compilation errors. Additionally, a correction was suggested for an incorrect Gemini model name in the AI Logic documentation.


Pass bitmap data along with text prompts:

```kotlin
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does it need any information about suspend functions here?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

using lifecycleScopy adds enough context


```kotlin
dependencies {
// [AGENT] Fetch the latest available BoM version from Maven Central / Web before adding this
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The agent can find the latest BoM version here: https://firebase.google.com/support/release-notes/android

Same comment for throughout.

Comment on lines +15 to +19
### 1. Enable Authentication in the Firebase Console

Before you begin, make sure you have enabled the sign-in providers you want to use in the Firebase Console:
1. Go to **Build > Authentication > Sign-in method**.
2. Enable **Email/Password** or **Google** (or any other provider you plan to use).
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmmm... The agent should use the Firebase CLI to do this, right? The dev / agent shouldn't need to touch the Firebase console (except to set up non-CLI-supported auth providers).

If you haven't already created a project, create a new cloud project with a unique ID:
` firebase projects:create <UNIQUE_PROJECT_ID> --display-name '<DISPLAY_NAME>'`
*Example:*
` firebase projects:create my-cool-app-vguthal-20260330 --display-name 'MyCoolApp'`
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's not put vguthal into this example project ID :-)

` firebase apps:create ANDROID '<APP_DISPLAY_NAME>' --package-name '<PACKAGE_NAME>' --project <PROJECT_ID>`
*Example:*
` firebase apps:create ANDROID 'MyApplication' --package-name 'com.example.myapplication' --project my-cool-app-vguthal-2b`
### 3. Download `google-services.json`
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file is missing the instructions for adding the google-services plugin to the app's codebase.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It automatically downloads it into the correct location bcz of the instruction below but I can add it here as well.

Comment on lines +32 to +47
## 🤖 AI Automation Workflow

If you are working with an AI agent (like Antigravity), you can ask it to automate these steps for you!

**Usage:** Ask the agent to create the app and pass the display name.

**Example Prompt:**
"Create a Firebase app for this project. Use your own unique project ID and ask me for the display name."

The agent will:
1. Generate a unique project ID.
2. Ask you for the app display name.
3. Automatically run the CLI commands to:
- Create the project.
- Register the app.
- Download `google-services.json` to the correct location. No newline at end of file
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've not seen this in other Agent Skill files. Is this something that was auto-generated / scaffolded by the skill creator tool?

An Agent Skill is for the agent to read, not for the developer.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added this to automate the process of setup.. It should automatically do everything. I can update the wording to more agent friendly.

Before adding dependencies in your app, make sure you enable the Firestore service in your Firebase Project using the Firebase CLI:

```bash
npx -y firebase-tools@latest init firestore
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this is the Enterprise skill, doesn't this need to include the edition option in this command?

* Explanding out contributor guidelines (firebase#3)

* update claude plugin marketplace command to use the new repo (firebase#2)

* add kiro power (firebase#4)

* update license (firebase#8)

* Adding a token counting script (firebase#11)

* Next -> Main (firebase#16)

* Add firebase-data-connect-basics skill (firebase#7)

* Add firebase-data-connect-basics skill

* Add firebase dataconnect basic skills

---------

Co-authored-by: Muhammad Talha <muhammadtalhar@google.com>

* [Dataconnect] Restructure SKILL.md into a development workflow guide

---------

Co-authored-by: Muhammad Talha <muhammadtalhar@google.com>
Co-authored-by: Muhammad Talha <126821605+mtr002@users.noreply.github.com>

* Adding a Cursor plugin (firebase#13)

* Add Cursor plugin configuration

* Add logo to cursor plugin config

* Move logo to assets directory

* Restructure Cursor plugin to multi-plugin format

* Clean up language

* Use a symlink instead

* Add theme to GCLI extension (firebase#17)

* Remove curl|bash (firebase#18)

* Update SKILL.md to remove references to 2.5 and instead use `latest`. (firebase#19)

* feat: Add sync job for genkit-ai/skills (firebase#23)

* Change to use `npx` to invoke Firebase CLI (firebase#26)

Change all `firebase` shell command mentioned in the skills to use
`npx -y firebase-tools@latest` instead to ensure freshness and reduce
frictions to the agents.

* use pat for cla reasons (firebase#29)

* fix: update workflow title and committer details (firebase#33)

* Move the local environment setup to a new skill + MCP setup (firebase#31)

- Move all one-time-only local environment setup from `firebase-basic` to `firebase-local-env-setup` skill
- Add description about how to install skills and MCP server.

* fix: Add reviewers to sync-genkit-skills workflow (firebase#35)

Based on https://github.com/peter-evans/create-pull-request?tab=readme-ov-file#action-inputs

* chore: sync updated skills (firebase#34)

Co-authored-by: ssbushi <66321939+ssbushi@users.noreply.github.com>

* Update skill names in security rules documentation (firebase#37)

* Support Agent Skills for Firestore Enterprise with Native Mode (firebase#27)

* Add agent skills for firestore enterprise with native mode

* Amend SKILL.md

* Format SKILL

* Address comments and rename standard edition

* Remove files & update frontmatter

* Updated to use "npx firebase-tools@latest"

---------

Co-authored-by: Sichen Liu <sichenliu@google.com>
Co-authored-by: Joe Hanley <joehanley@google.com>

* update the skill verification instruction (firebase#38)

* chore: sync updated skills (firebase#39)

* gemini-3-pro-preview --> gemini-3.1-pro-preview (firebase#40)

* Refine `firebase-local-env-setup` instructions for agents (firebase#41)

Updated the installation reference guides for all supported agents (Antigravity, Claude Code, Cursor, Gemini CLI, GitHub Copilot, and others) in the `firebase-local-env-setup` skill.
- Added detailed steps to locate, verify, and safely merge MCP configurations (`mcp.json`, `claude_desktop_config.json`, etc.) without overwriting existing entries.
- Added explicit instructions to check for existing skill installations using `npx skills list` before installing.
- Enforced "stop and wait" instructions for user restarts to ensure the agent correctly verifies the MCP server connection securely.

* Update `firebase-basics` skills (firebase#42)

* Update `firebase-basics` skills

- Optimize description so that it is more likely to be loaded
- Clearly state the prerequisites, how to validate them and how to meet them.
- Add principles about how to optimize agent ability to help with Firebase related task
- Indexing other knowledges for progressive disclosure.

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Update `firebase-basics` skill and `firebase-local-env-setup` skill (firebase#43)

- Update their description so that firebase-basics can be picked up more consistently
- Update instructions about how to refresh skills for Antigravity and other agents.

* Split out python sdk content (firebase#45)

* Fixing up Cursor plugin format (firebase#46)

* docs: Improve local installation instructions (firebase#47)

* docs: improve local installation instructions

* docs: address reviewer feedback on local installation instructions

* adjusting cursor plugin to reflect skills and mcp setup path correctly (firebase#52)

* adjusting cursor plugin to reflect skills and mcp setup path correctly

* Apply suggestion from @gemini-code-assist[bot]

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* update mcp path to ensure it can find it

* correct the path

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Add new skills logo (firebase#51)

* re-organize claude plugins (firebase#54)

* Moving battlehardened AI studio prompt into skills (firebase#53)

* Moving battlehardened AI studio prompt into skills

* PR fixes

* Address PR feedback: add isRecent, isAdmin, fix regex escaping and numbering

* PR fixes

* PR fixes

* Merge `firebase-local-env-setup` skills into `firebase-basics` (firebase#56)

* Change all `firebase` CLI reference to use `npx firebase-tools` (firebase#61)

---------

Co-authored-by: Charlotte Liang <chliang@google.com>
Co-authored-by: Muhammad Talha <muhammadtalhar@google.com>
Co-authored-by: Muhammad Talha <126821605+mtr002@users.noreply.github.com>
Co-authored-by: christhompsongoogle <106194718+christhompsongoogle@users.noreply.github.com>
Co-authored-by: Samuel Bushi <66321939+ssbushi@users.noreply.github.com>
Co-authored-by: chkuang-g <31869252+chkuang-g@users.noreply.github.com>
Co-authored-by: Morgan Chen <morganchen12@gmail.com>
Co-authored-by: Google Open Source Bot <firebase-oss-bot@google.com>
Co-authored-by: cmoiccool <cmoiccool@users.noreply.github.com>
Co-authored-by: Sichen Liu <lscmirror@gmail.com>
Co-authored-by: Sichen Liu <sichenliu@google.com>
Co-authored-by: Rosário P. Fernandes <rosariofernandes51@gmail.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Peter Friese <peter@peterfriese.de>
@joehan joehan changed the base branch from main to next April 2, 2026 17:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants