npx skills add ...
npx skills add akillness/jeo-skills --skill genkit
Route Firebase AI feature work into either direct app/client Firebase AI Logic SDK integration or a server-owned Genkit workflow. Use when a web, mobile, backend, or full-stack feature needs model calls, typed outputs, reusable flows, tools, retrieval, prompt files, evals, observability, or deployment. Choose client-ai-logic, flow-foundation, tool-and-agent, retrieval-and-prompt, evaluation-and-observability, deployment-runtime, or comparison-or-fallback; route Firebase platform/operator work to `firebase-cli` and broad framework comparisons to `survey`.
npx skills add akillness/jeo-skills --skill genkit
Use this skill when the main question is "should this Firebase AI feature be a direct client SDK integration or a reusable server-owned Genkit workflow?"
The job is not to dump a long Genkit tutorial, CLI catalog, or Firebase product tour. Frame the current packet, choose one ownership boundary and operating mode, then keep Firebase platform operations and broad framework comparisons routed to adjacent skills.
Read references/intake-packets-and-fallbacks.md before handling mixed or ambiguous requests. Read references/modes-and-routing.md before choosing a primary mode. Read references/deployment-and-runtime-boundaries.md when runtime choice is the real open question. Read references/evals-and-observability.md when the workflow already exists and confidence is the bottleneck.
firebase-cliGenkit vs Vercel AI SDK vs other frameworks) → surveyRecord the smallest useful intake before recommending Genkit.
Capture:
Quick frame:
Use references/intake-packets-and-fallbacks.md.
Pick the packet the user actually has now:
Output this step as:
Rule: do not force a server-owned Genkit flow just because the app already uses Firebase.
Make the client-versus-server decision explicit before choosing a mode.
Choose client-ai-logic when the dominant need is:
Choose a server-owned Genkit mode when the dominant need is:
Do not force either layer when a plain provider SDK, ordinary route handler, or broader framework survey is the better fit.
State the decision in one line:
Pick one primary mode from references/modes-and-routing.md.
Primary modes:
client-ai-logicflow-foundationtool-and-agentretrieval-and-promptevaluation-and-observabilitydeployment-runtimecomparison-or-fallbackRule: one primary mode, optional secondary mode. Do not mix client SDK wiring, backend flow design, deployment ops, and architecture comparison into one blob.
For client-ai-logic, define:
For a server-owned Genkit mode, define:
Avoid mega-flows, exposing server secrets to clients, or adding tools/retrieval before one basic path works.
Use references/intake-packets-and-fallbacks.md.
Common route-outs:
firebase-clisurveyDo not jump to a giant system diagram. Return one slice:
Use references/evals-and-observability.md.
When the workflow already exists, prefer:
Input: “Build a Genkit backend flow for our support app: retrieve help articles, call one ticket tool, and expose one server endpoint the web app can reuse.”
Expected shape: tool-and-agent or retrieval-and-prompt, explicit server-owned flow boundary, and one tool/retrieval plan.
Input: “Add Gemini-powered summaries directly inside our Firebase web app with the Firebase SDK.”
Expected shape: client-ai-logic, with an app-owned SDK boundary, structured output or streaming contract, App Check/auth, and no unnecessary server flow.
Input: “Our Genkit flows work locally, but we need a practical eval and observability plan before deploying to Cloud Run.”
Expected shape: evaluation-and-observability, small evidence loop, and runtime specifics kept separate from Firebase CLI operations.
Input: “Should we use Genkit, Firebase AI Logic, Vercel AI SDK, or just direct SDK calls for this Firebase app?”
Expected shape: comparison-or-fallback, route broad framework selection to survey, then return here with either client-ai-logic or a server-owned Genkit mode.
../firebase-cli/SKILL.md../survey/SKILL.md../survey/SKILL.md## Layer Decision
- Ownership: client-ai-logic | server-genkit | plain-sdk-fallback | survey-first
- Why:# Firebase AI Implementation Brief
## Scope
- App shape:
- Ownership: client-ai-logic | server-genkit | fallback
- Intake packet:
- Primary mode:
- Confidence:
## Layer Decision
- Why this ownership fits:
## Feature Boundary
- Capability:
- Input / output or streaming contract:
- Client-visible / server-only responsibilities:
- Tools / retrieval / prompt-file needs:
- Auth, App Check, errors, and abuse boundaries:
## Smallest Next Slice
1. ...
2. ...
3. ...
## Route-outs / Fallbacks
- ...