Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Provides foundational setup, authentication, and project management workflows for Firebase using the Firebase CLI. Use when checking Firebase CLI version (must use 'npx -y firebase-tools@latest --version'), initializing a Firebase environment, authenticating, setting active projects, or setting up `google-services.json` or `GoogleService-Info.plist` files.
.claude/skills/kunanonj-cursor-plugin-firebase-firebase-basics/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 61% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 47% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 75% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 251% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 324% | 0% |
Complete these setup steps before proceeding:
can use Firebase tools:
npx -y firebase-tools@latest --version to check if the FirebaseCLI is installed.
tools.
below, you MUST read references/local-env-setup.md.
Firebase skill available to you, you must follow the reference for your agent environment to set up the full suite of Firebase skills:
references/setup/gemini_cli.md
references/setup/antigravity.md
references/setup/android_studio.md
references/setup/claude_code.md
references/setup/cursor.md
references/setup/github_copilot.md
references/setup/other_agents.md
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.
command to authenticate.
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.
npx -y firebase-tools@latest use.Active Project: <project-id>, confirm with the user if this is the intended project.bash npx -y firebase-tools@latest use <PROJECT_ID>
Run the following command to create it: bash 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.
Adhere to these principles:
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.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.google-services.json or GoogleService-Info.plist. Instead, use the Firebase CLI to fetch the config programmatically:npx -y firebase-tools@latest apps:sdkconfig ANDROID <APP_ID> --project <PROJECT_ID>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).
npx -y firebase-tools@latest login --no-localhost instead.
If using Genkit, install the skills: bash npx skills add genkit-ai/skills
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 1,802 | 2,089 | +16% | 1 | 1 | 0% | 374 | 1,983 | +430% | 0 | 0 | — |
case-02 | fail→pass | 8,420 | 6,466 | -23% | 1 | 1 | 0% | 1,869 | 3,015 | +61% | 0 | 0 | — |
case-03 | fail→pass | 10,060 | 5,242 | -48% | 1 | 1 | 0% | 1,849 | 2,720 | +47% | 0 | 0 | — |
case-04 | fail→pass | 5,609 | 2,612 | -53% | 1 | 1 | 0% | 1,298 | 2,266 | +75% | 0 | 0 | — |
case-05 | fail→pass | 3,325 | 3,174 | -5% | 1 | 1 | 0% | 667 | 2,343 | +251% | 0 | 0 | — |
case-06 | fail→pass | 2,339 | 1,538 | -34% | 1 | 1 | 0% | 463 | 1,963 | +324% | 0 | 0 | — |
case-07 | fail→pass | 8,452 | 2,282 | -73% | 1 | 1 | 0% | 1,581 | 2,020 | +28% | 0 | 0 | — |
case-08 | fail→pass | 8,368 | 1,441 | -83% | 1 | 1 | 0% | 1,672 | 1,883 | +13% | 0 | 0 | — |
case-09 | fail→pass | 11,294 | 2,425 | -79% | 1 | 1 | 0% | 2,054 | 2,141 | +4% | 0 | 0 | — |
case-10 | fail→pass | 9,045 | 2,201 | -76% | 1 | 1 | 0% | 1,568 | 1,960 | +25% | 0 | 0 | — |
case-11 | fail→pass | 8,169 | 3,159 | -61% | 1 | 1 | 0% | 1,505 | 2,307 | +53% | 0 | 0 | — |
case-12 | fail→pass | 24,073 | 1,863 | -92% | 1 | 1 | 0% | 2,476 | 2,032 | -18% | 0 | 0 | — |
case-13 | fail→pass | 7,486 | 1,381 | -82% | 1 | 1 | 0% | 1,196 | 1,899 | +59% | 0 | 0 | — |
case-14 | pass→pass | 5,078 | 2,332 | -54% | 1 | 1 | 0% | 1,056 | 2,112 | +100% | 0 | 0 | — |
case-15 | fail→pass | 14,497 | 1,646 | -89% | 1 | 1 | 0% | 1,517 | 1,991 | +31% | 0 | 0 | — |
case-16 | fail→pass | 5,935 | 1,527 | -74% | 1 | 1 | 0% | 1,248 | 1,952 | +56% | 0 | 0 | — |
case-17 | fail→pass | 2,712 | 1,435 | -47% | 1 | 1 | 0% | 537 | 1,923 | +258% | 0 | 0 | — |
case-18 | fail→pass | 9,947 | 1,667 | -83% | 1 | 1 | 0% | 1,881 | 1,887 | +0% | 0 | 0 | — |
case-19 | fail→pass | 5,671 | 969 | -83% | 1 | 1 | 0% | 1,028 | 1,809 | +76% | 0 | 0 | — |
case-20 | pass→pass | 5,671 | 5,200 | -8% | 1 | 1 | 0% | 1,204 | 2,746 | +128% | 0 | 0 | — |
case-21 | fail→pass | 3,369 | 2,954 | -12% | 1 | 1 | 0% | 742 | 2,272 | +206% | 0 | 0 | — |
case-22 | pass→pass | 2,738 | 2,070 | -24% | 1 | 1 | 0% | 554 | 2,063 | +272% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +82 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.