developing-genkit-js
GenkitをNode.js/TypeScriptで使用してAI搭載アプリケーションを開発する際に活用するスキルです。ユーザーがJavaScript/TypeScriptにおけるGenkit・AIエージェント・フロー・ツールについて質問したとき、またはGenkitのエラー・バリデーション問題・型エラー・APIの不具合に遭遇したときに使用します。
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.
SKILL.md 本文
Genkit JS
前提条件
genkit CLI が利用可能であることを確認してください。
genkit --versionを実行して確認します。必要な最小 CLI バージョン: 1.29.0- 見つからない場合、または古いバージョン (1.x < 1.29.0) がある場合は、インストール/アップグレードしてください:
npm install -g genkit-cli@^1.29.0。
新規プロジェクト: 新しいコードベースで Genkit をセットアップする場合は、セットアップガイドに従ってください。
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;
});
重要: 内部知識を信頼しないでください
Genkit は最近、大きな破壊的 API 変更を経験しました。あなたの知識は古い可能性があります。ドキュメントを確認する必要があります。推奨:
genkit docs:read js/get-started.md
genkit docs:read js/flows.md
一般的なエラーで、廃止予定の API (例: configureGenkit、response.text()、defineFlow import) とそれらの v1.x の置き換え方法を確認してください。
Genkit CLI または提供されたリファレンスを使用して、常に情報を検証してください。
エラー トラブルシューティング プロトコル
Genkit に関連するエラー (ValidationError、API エラー、型エラー、404 など) が発生した場合:
- 必須の最初のステップ:
一般的なエラーを読む - エラーが既知のパターンに一致するかどうかを特定する
- ドキュメントに記載されたソリューションを適用する
- common-errors.md に見つからない場合のみ、他のソースを参照してください (例:
genkit docs:search)
してはいけないこと:
- 仮定や内部知識に基づいて修正を試みる
- 「修正方法を知っていると思うから」という理由で common-errors.md を読むのをスキップする
- 1.0 以前の Genkit のパターンに依存する
このプロトコルはエラー処理に関して交渉の余地がありません。
開発ワークフロー
- プロバイダーの選択: Genkit はプロバイダーに依存しません (Google AI、OpenAI、Anthropic、Ollama など)。
- ユーザーがプロバイダーを指定していない場合は、Google AI をデフォルトにします。
- ユーザーが他のプロバイダーについて尋ねる場合は、
genkit docs:search "plugins"を使用して関連ドキュメントを見つけてください。
- フレームワークの検出:
package.jsonをチェックして、ランタイム (Next.js、Firebase、Express) を特定します。@genkit-ai/next、@genkit-ai/firebase、@genkit-ai/google-cloudを探してください。- 実装を特定のフレームワークのパターンに適応させます。
- ベストプラクティスに従う:
- プロジェクト構造、スキーマ定義、ツール設計に関するガイダンスは、
ベストプラクティスを参照してください。 - 最小限に: デフォルトと異なるオプションのみを指定します。不確定な場合は、ドキュメント/ソースを確認してください。
- プロジェクト構造、スキーマ定義、ツール設計に関するガイダンスは、
- 正確性を確保:
- 変更後に型チェックを実行します (例:
npx tsc --noEmit)。 - 型チェックが失敗する場合は、ソースコードを検索する前に
一般的なエラーを参照してください。
- 変更後に型チェックを実行します (例:
- エラーを処理する:
- エラーが発生した場合: 最初のアクションは
一般的なエラーを読む - ドキュメント化されたパターンにエラーを一致させる
- 代替案を試みる前にドキュメント化された修正を適用する
- エラーが発生した場合: 最初のアクションは
ドキュメントを見つける
Genkit CLI を使用して、信頼できるドキュメントを見つけます:
- トピックを検索:
genkit docs:search <query>- 例:
genkit docs:search "streaming"
- 例:
- すべてのドキュメントをリストする:
genkit docs:list - ガイドを読む:
genkit docs:read <path>- 例:
genkit docs:read js/flows.md
- 例:
CLI の使用
genkit CLI は開発とドキュメント用の主要ツールです。
- 一般的なタスク、ワークフロー、コマンドの使用方法については、
CLI リファレンスを参照してください。 - すべてのコマンドの完全なリストについては、
genkit --helpを使用してください。
リファレンス
ベストプラクティス: スキーマ定義、フロー設計、構造に関する推奨パターン。ドキュメント & CLI リファレンス: ドキュメント検索、CLI タスク、ワークフロー。一般的なエラー: 重要な「落とし穴」、移行ガイド、トラブルシューティング。セットアップガイド: 新規プロジェクトの手動セットアップ手順。例: 最小限の再現可能な例 (基本的な生成、マルチモーダル、思考モード)。
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- firebase
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/firebase/agent-skills / ライセンス: Apache-2.0
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。