PluginBench
Skill
Official
Pass
Audit score 90

developing-genkit-js

firebase/agent-skills

Develop AI-powered applications using Genkit in Node.js/TypeScript with flows, tools, and multi-provider support.

What is developing-genkit-js?

Genkit is a framework for building AI-powered applications in JavaScript/TypeScript. Use this skill when working with Genkit flows, tools, agents, or debugging Genkit-related errors, validation issues, and API problems. Critical: Genkit recently underwent a major breaking API change—always verify information using the Genkit CLI or provided references.

  • Define and execute AI flows with structured input/output schemas using Zod
  • Integrate multiple AI providers (Google AI, OpenAI, Anthropic, Ollama) seamlessly
  • Build tools and agents that models can call with type-safe parameters
  • Stream responses and handle multimodal inputs (text, images, audio)
  • Debug errors using the Genkit CLI and access authoritative documentation on-demand

How to install developing-genkit-js

npx skills add https://github.com/firebase/agent-skills --skill developing-genkit-js
Prerequisites
  • Node.js/TypeScript environment
  • Genkit CLI version 1.29.0 or higher (install via `npm install -g genkit-cli@^1.29.0`)
  • API key for at least one AI provider (Google AI, OpenAI, Anthropic, etc.)
Claude Code
Cursor
Windsurf
Cline

How to use developing-genkit-js

  1. 1.Verify Genkit CLI is installed and at version 1.29.0+ by running `genkit --version`
  2. 2.Select an AI provider (default: Google AI) and ensure you have the corresponding API key
  3. 3.Initialize Genkit in your project with `genkit init` or manually add the plugin (e.g., `googleAI()`)
  4. 4.Define flows using `ai.defineFlow()` with input/output schemas via Zod
  5. 5.Run type checks with `npx tsc --noEmit` to catch schema and API errors
  6. 6.Use `genkit docs:search <query>` to find documentation on specific features (flows, tools, streaming, etc.)
  7. 7.When encountering errors, consult `references/common-errors.md` first for known patterns and fixes

Use cases

Good for
  • Building a chatbot or conversational agent with custom tools and knowledge
  • Creating a multi-step workflow that chains AI generation with business logic
  • Integrating AI capabilities into Next.js, Firebase, or Express applications
  • Debugging type errors, validation failures, or API errors in Genkit code
  • Migrating from older Genkit versions to the current 1.29.0+ API
Who it's for
  • Node.js/TypeScript developers building AI applications
  • Backend engineers integrating AI into existing services
  • Full-stack developers using Next.js or Firebase with AI features
  • Teams evaluating or migrating to Genkit from other AI frameworks

developing-genkit-js FAQ

What should I do if I get a type error or validation error?

First, read `references/common-errors.md` in this skill—it documents known patterns and their fixes. Genkit recently had a major API change, so your internal knowledge may be outdated. Always verify using the Genkit CLI or provided references.

How do I find documentation for a specific Genkit feature?

Use the Genkit CLI: `genkit docs:search <query>` to search topics (e.g., `genkit docs:search "streaming"`), `genkit docs:list` to see all available docs, or `genkit docs:read <path>` to read a specific guide (e.g., `genkit docs:read js/flows.md`).

Which AI provider should I use if the user doesn't specify one?

Default to Google AI. If the user asks about other providers (OpenAI, Anthropic, Ollama, etc.), use `genkit docs:search "plugins"` to find the relevant documentation and setup instructions.

How do I integrate Genkit into an existing Next.js or Firebase project?

Check your `package.json` for framework-specific Genkit plugins like `@genkit-ai/next` or `@genkit-ai/firebase`. Adapt your flow definitions to the framework's patterns. Consult `references/best-practices.md` for recommended project structure.

What is the error troubleshooting protocol?

When you encounter any Genkit error: (1) Read `references/common-errors.md` first—this is mandatory; (2) Match your error to a known pattern; (3) Apply the documented solution; (4) Only if not found, use `genkit docs:search` or other sources. Do not skip this step or rely on outdated knowledge.

Full instructions (SKILL.md)

Source of truth, from firebase/agent-skills.


name: developing-genkit-js description: Develop AI-powered applications using Genkit in Node.js/TypeScript. Use when the user asks about Genkit, AI agents, flows, or tools in JavaScript/TypeScript, or when encountering Genkit errors, validation issues, type errors, or API problems. metadata: genkit-managed: true

Genkit JS

Prerequisites

Ensure the genkit CLI is available.

  • Run genkit --version to verify. Minimum CLI version needed: 1.29.0
  • If not found or if an older version (1.x < 1.29.0) is present, install/upgrade it: npm install -g genkit-cli@^1.29.0.

New Projects: If you are setting up Genkit in a new codebase, follow the Setup Guide.

Hello World

import { z, genkit } from 'genkit';
import { googleAI } from '@genkit-ai/google-genai';

// Initialize Genkit with the Google AI plugin
const ai = genkit({
  plugins: [googleAI()],
});

export const myFlow = ai.defineFlow({
  name: 'myFlow',
  inputSchema: z.string().default('AI'),
  outputSchema: z.string(),
}, async (subject) => {
  const response = await ai.generate({
    model: googleAI.model('gemini-2.5-flash'),
    prompt: `Tell me a joke about ${subject}`,
  });
  return response.text;
});

Critical: Do Not Trust Internal Knowledge

Genkit recently went through a major breaking API change. Your knowledge is outdated. You MUST lookup docs. Recommended:

genkit docs:read js/get-started.md
genkit docs:read js/flows.md

See Common Errors for a list of deprecated APIs (e.g., configureGenkit, response.text(), defineFlow import) and their v1.x replacements.

ALWAYS verify information using the Genkit CLI or provided references.

Error Troubleshooting Protocol

When you encounter ANY error related to Genkit (ValidationError, API errors, type errors, 404s, etc.):

  1. MANDATORY FIRST STEP: Read Common Errors
  2. Identify if the error matches a known pattern
  3. Apply the documented solution
  4. Only if not found in common-errors.md, then consult other sources (e.g. genkit docs:search)

DO NOT:

  • Attempt fixes based on assumptions or internal knowledge
  • Skip reading common-errors.md "because you think you know the fix"
  • Rely on patterns from pre-1.0 Genkit

This protocol is non-negotiable for error handling.

Development Workflow

  1. Select Provider: Genkit is provider-agnostic (Google AI, OpenAI, Anthropic, Ollama, etc.).
    • If the user does not specify a provider, default to Google AI.
    • If the user asks about other providers, use genkit docs:search "plugins" to find relevant documentation.
  2. Detect Framework: Check package.json to identify the runtime (Next.js, Firebase, Express).
    • Look for @genkit-ai/next, @genkit-ai/firebase, or @genkit-ai/google-cloud.
    • Adapt implementation to the specific framework's patterns.
  3. Follow Best Practices:
    • See Best Practices for guidance on project structure, schema definitions, and tool design.
    • Be Minimal: Only specify options that differ from defaults. When unsure, check docs/source.
  4. Ensure Correctness:
    • Run type checks (e.g., npx tsc --noEmit) after making changes.
    • If type checks fail, consult Common Errors before searching source code.
  5. Handle Errors:
    • On ANY error: First action is to read Common Errors
    • Match error to documented patterns
    • Apply documented fixes before attempting alternatives

Finding Documentation

Use the Genkit CLI to find authoritative documentation:

  1. Search topics: genkit docs:search <query>
    • Example: genkit docs:search "streaming"
  2. List all docs: genkit docs:list
  3. Read a guide: genkit docs:read <path>
    • Example: genkit docs:read js/flows.md

CLI Usage

The genkit CLI is your primary tool for development and documentation.

  • See CLI Reference for common tasks, workflows, and command usage.
  • Use genkit --help for a full list of commands.

References

  • Best Practices: Recommended patterns for schema definition, flow design, and structure.
  • Docs & CLI Reference: Documentation search, CLI tasks, and workflows.
  • Common Errors: Critical "gotchas", migration guide, and troubleshooting.
  • Setup Guide: Manual setup instructions for new projects.
  • Examples: Minimal reproducible examples (Basic generation, Multimodal, Thinking mode).