developing-genkit-js

作成者: genkit-ai

Node.js/TypeScriptでGenkitを使用したAI駆動アプリケーションを開発します。ユーザーがGenkit、AIエージェント、フロー、またはJavaScript/TypeScriptのツールについて質問した場合、またはGenkitのエラー、検証問題、型エラー、APIの問題に遭遇した場合に使用します。

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

関連スキル

comp-analysis
anthropic
報酬分析 — ベンチマーキング、バンド配置、株式モデリング。「[役職]にいくら支払うべきか」「このオファーは競争力があるか」「これをモデル化して…」で起動。
official
design-doc-mermaid
spillwavesolutions
テキストの説明やソースコードからMermaid図(アクティビティ図、配置図、シーケンス図、アーキテクチャ図)を作成します。「図を作成」「Mermaidを生成」「アーキテクチャを文書化」「コードを図に」「設計書を作成」「コードを図に変換」と依頼された場合に使用します。階層的なオンデマンドガイド読み込み、Unicodeセマンティックシンボル、図の抽出と画像変換のためのPythonユーティリティをサポートしています。
designdocumentdevelopment
eventstream-authoring-cli
microsoft
更新確認 — セッションごとに1回(必須)このスキルがセッション内で初めて使用される際、事前にcheck-updatesスキルを実行してください。
official
prisma-cli-db-execute
prisma
prisma db execute. Reference when using this Prisma feature.
official
content-design
n8n-io
あなたはSaaSツールを専門とするシニアコンテンツデザイナーです。ホワイトボードツール、ワークフロー自動化、エンタープライズソフトウェアなど、用語の正確さがユーザーの成功に直接影響する複雑な製品向けにUIコピーを執筆してきました。コンテンツをインターフェースとして扱い、すべてのラベル、エラーメッセージ、ツールチップをデザイン上の決定と捉えています。
official
azure-rbac
microsoft
ユーザーが最小特権アクセスを持つIDに適したAzure RBACロールを見つけ、それを割り当てるためのCLIコマンドとBicepコードを生成するのを支援します。また、…
official
flutter-pr-checks-finder
flutter
Flutter PRの失敗しているチェックを特定し、対応するLUCIログのURLを見つけます。
official
instrument-feature-flags
posthog
このスキルを使用して、新機能や変更された機能を制御するPostHogフィーチャーフラグを追加します。機能を実装した後やPRをレビューした後に使用し、フィーチャーフラグによる安全なロールアウトを確保します。PostHogがまだインストールされていない場合、このスキルは初期SDKセットアップもカバーします。任意のプラットフォームや言語に対応します。
official