firebase-ai-logic

Firebase AI Logic Integration

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "firebase-ai-logic" with this command: npx skills add akillness/skills-template/akillness-skills-template-firebase-ai-logic

Firebase AI Logic Integration

When to use this skill

  • Add AI features: integrate generative AI features into your app

  • Firebase projects: add AI to Firebase-based apps

  • Text generation: content generation, summarization, translation

  • Image analysis: image-based AI processing

Instructions

Step 1: Firebase Project Setup

Install Firebase CLI

npm install -g firebase-tools

Login

firebase login

Initialize project

firebase init

Step 2: Enable AI Logic

In Firebase Console:

  • Select Build > AI Logic

  • Click Get Started

  • Enable the Gemini API

Step 3: Install SDK

Web (JavaScript):

npm install firebase @anthropic-ai/sdk

Initialization code:

import { initializeApp } from 'firebase/app'; import { getAI, getGenerativeModel } from 'firebase/ai';

const firebaseConfig = { apiKey: "YOUR_API_KEY", authDomain: "YOUR_PROJECT.firebaseapp.com", projectId: "YOUR_PROJECT_ID", };

const app = initializeApp(firebaseConfig); const ai = getAI(app); const model = getGenerativeModel(ai, { model: "gemini-2.0-flash" });

Step 4: Implement AI Features

Text generation:

async function generateContent(prompt: string) { const result = await model.generateContent(prompt); return result.response.text(); }

// Example usage const response = await generateContent("Explain the key features of Firebase."); console.log(response);

Streaming response:

async function streamContent(prompt: string) { const result = await model.generateContentStream(prompt);

for await (const chunk of result.stream) { const text = chunk.text(); console.log(text); } }

Multimodal (image + text):

async function analyzeImage(imageUrl: string, prompt: string) { const imagePart = { inlineData: { data: await fetchImageAsBase64(imageUrl), mimeType: "image/jpeg" } };

const result = await model.generateContent([prompt, imagePart]); return result.response.text(); }

Step 5: Configure Security Rules

Firebase Security Rules:

rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { // Protect AI request logs match /ai_logs/{logId} { allow read: if request.auth != null && request.auth.uid == resource.data.userId; allow create: if request.auth != null; } } }

Output format

Project structure

project/ ├── src/ │ ├── ai/ │ │ ├── client.ts # Initialize AI client │ │ ├── prompts.ts # Prompt templates │ │ └── handlers.ts # AI handlers │ └── firebase/ │ └── config.ts # Firebase config ├── firebase.json └── .env.local # API key (gitignored)

Best practices

  • Prompt optimization: write clear, specific prompts

  • Error handling: implement a fallback when AI responses fail

  • Rate Limiting: limit usage and manage costs

  • Caching: cache responses for repeated requests

  • Security: manage API keys via environment variables

Constraints

Required Rules (MUST)

  • Do not hardcode API keys in code

  • Validate user input

  • Implement error handling

Prohibited (MUST NOT)

  • Do not send sensitive data to the AI

  • Do not allow unlimited API calls

References

  • Firebase AI Logic Docs

  • Gemini API

  • Firebase SDK

Metadata

  • Version: 1.0.0

  • Last updated: 2025-01-05

  • Supported platforms: Claude, ChatGPT, Gemini

Examples

Example 1: Basic usage

Example 2: Advanced usage

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

task-planning

No summary provided by upstream source.

Repository SourceNeeds Review
General

standup-meeting

No summary provided by upstream source.

Repository SourceNeeds Review
General

monitoring-observability

No summary provided by upstream source.

Repository SourceNeeds Review
General

database-schema-design

No summary provided by upstream source.

Repository SourceNeeds Review