developing-genkit-js

Entwickeln Sie KI-gestützte Anwendungen mit Genkit in Node.js/TypeScript. Verwenden Sie dies, wenn der Benutzer nach Genkit, KI-Agenten, Flows oder Tools in JavaScript/TypeScript fragt oder wenn Genkit-Fehler, Validierungsprobleme, Typfehler oder API-Probleme auftreten.

npx skills add https://github.com/genkit-ai/skills --skill developing-genkit-js

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-flash-latest'),
    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).

Verwandte Skills

sentry-svelte-sdk
sentry
Full Sentry SDK setup for Svelte and SvelteKit. Use when asked to "add Sentry to Svelte", "add Sentry to SvelteKit", "install @sentry/sveltekit", or configure…
official
comment-code-generate-a-tutorial
github
Python-Skripte in anfängerfreundliche Projekte umwandeln, mit erklärenden Kommentaren und Markdown-Tutorials. Wendet PEP 8-Stilrichtlinien und bewährte Python-Praktiken zur Verbesserung der Codequalität an. Fügt im gesamten Code erklärende Kommentare hinzu, die Logik, Begründung und Bedeutung für Lernende erläutern. Erstellt ein vollständiges README.md-Tutorial mit Projektübersicht, Einrichtungsanweisungen, Code-Aufschlüsselung, Nutzungsbeispielen und Beispielausgabe. Benennt unklare Variablen und Funktionen zur besseren Verständlichkeit um...
official
math-olympiad
anthropic
Solve competition math problems (IMO, Putnam, USAMO, AIME) with adversarial
official
Plugin Structure
anthropic
Standardized directory structure and manifest configuration for Claude Code plugins with automatic component discovery. Follows conventional layout with .claude-plugin/plugin.json manifest, plus root-level commands/ , agents/ , skills/ , and hooks/ directories for auto-discovery Components load automatically: commands and agents as .md files, skills as subdirectories containing SKILL.md , hooks via JSON configuration Use ${CLAUDE_PLUGIN_ROOT} environment variable for all intra-plugin path...
official
test-driven-development
obra
Verwenden bei der Implementierung eines Features oder Bugfixes, bevor der Implementierungscode geschrieben wird.
developmenttestingcode-review
customer-escalation
anthropic
Erstelle eine Eskalation für Engineering, Produkt oder Führungsebene mit vollständigem Kontext. Verwende dies, wenn ein Bug über den normalen Support hinaus die Aufmerksamkeit des Engineerings erfordert, mehrere…
official
recipe-find-free-time
Google
Query Google Calendar free/busy status for multiple users to find a meeting slot.
graphic-overlays
heygen-com
Verpacke ein bestehendes Talking-Head-/Interview-/Podcast-Video, indem du zeitlich abgestimmte, gestaltete GRAFIK-OVERLAY-Karten auf das laufende Video legst – Titel, Einblendungen, Datenaufrufe, Zitate, Seitenleisten, Bild-im-Bild – synchron zum Transkript. Das Quellvideo läuft vollständig; der Agent entwirft und schreibt jede Karte als HTML im Gespräch und rendert sie dann über Hyperframes zu MP4. Verwende dies, wenn der Benutzer nach Grafik-Overlays, Bildschirmgrafiken / Einblendungen / Datenaufrufen / kinetischen Titeln auf einem Video fragt,...
creativevideodesign