developing-genkit-js

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.

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).

Skills relacionadas

bug-triage
apify
Trie os bugs abertos no apify/apify-mcp-server. Analise, rascunhe respostas, obtenha aprovação, publique.
official
imagegen
openai
Gere ou edite imagens via API da OpenAI com uma CLI integrada para execuções determinísticas e reproduzíveis. Suporta três fluxos de trabalho: gerar novas imagens, editar imagens existentes (inpaint, máscara, substituição de fundo, remoção de objetos) e execuções em lote com múltiplos prompts ou variantes. Padrão para gpt-image-1.5 e requer OPENAI_API_KEY para chamadas de API ao vivo; usa a CLI scripts/image_gen.py para todas as operações. Inclui uma árvore de decisão estruturada e um modelo de aumento de prompt para classificar...
official
architecture-blueprint-generator
github
Analyzes codebases to generate comprehensive architectural documentation with diagrams and implementation patterns. Auto-detects technology stacks (.NET, Java, React, Angular, Python, Node.js, Flutter) and architectural patterns (Clean Architecture, Microservices, Layered, MVVM, Hexagonal, Event-Driven, Serverless, Monolithic) Generates C4, UML, Flow, or Component diagrams at multiple abstraction levels showing subsystems, dependencies, and data flow Documents core components, layers, data...
official
tear-sheet
anthropic
Gere fichas técnicas profissionais de empresas usando dados da S&P Capital IQ por meio do servidor MCP da API Kensho LLM-ready. Use esta habilidade sempre que o usuário solicitar uma ficha técnica…
official
auditing-experiments-flags
posthog
Audit PostHog experiments and feature flags for configuration issues, staleness, and best-practice violations. Read when the user asks to audit, health-check,…
official
wp-playground
firecrawl
Use para fluxos de trabalho do WordPress Playground: instâncias WP descartáveis e rápidas no navegador ou localmente via @wp-playground/cli (server, run-blueprint, build-snapshot),…
official
launchdarkly-flag-cleanup
launchdarkly
Safely remove a feature flag from code while preserving production behavior. Use when the user wants to remove a flag from code, delete flag references, or…
official
azure-cosmos-db-py
microsoft
Construa serviços NoSQL do Azure Cosmos DB com Python/FastAPI seguindo padrões de nível de produção. Use ao implementar configuração de cliente de banco de dados com autenticação dupla…
official