bento について
bentoは、AIエージェントを通じたBentoの安全な利用を支援する統合スキルです。アプリ開発やアカウント操作向けに、MCP、CLI、ワークフロー、SDKを使い分け、フレームワーク標準の実装と安全対策を重視します。
主な機能
- 01タスクに応じてMCP・CLI・ワークフロー・SDKを選択
- 02複数言語のSDK統合リファレンス
- 03購読者の一括インポートと再試行
- 04認証情報の保護と書き込み確認を重視
- 05SDK検出・診断スクリプトを収録
活用シーン
- 01アプリケーションにBento APIを統合
- 02チャットからBentoアカウントを確認
- 03CSVインポートやCI操作を自動化
- 04購読者同期やメール送信を計画
MCP 対応
対応するアカウント確認や操作には、ホスト型リモートMCPエンドポイントまたはローカルの@bentonow/bento-mcpを利用できます。MCP、CLI、SDKの使い分けも案内します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ bentonow/ bento-skills --skill bentoインストール後、Claude Code で/bentoを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/cli.mddotnet.mddrupal.mdelixir.mdgo.mdlaravel.mdmcp.mdn8n.mdnode.mdphp.mdpython.mdruby.mdscripts/bento-sdk.mjs詳細
Bento
このスキルを使うと、AI エージェントを通じてお客様が Bento を安全に利用できるよう支援できます。構文的に有効な SDK 呼び出しを作るだけでなく、フレームワークにネイティブな Bento 統合を構築してください。ホストフレームワークの設定、依存性注入、キュー、ジョブ、ワークフロー、cron、認証情報の各システムを優先してください。
最新のお客様向けオンボーディングガイダンスについては、https://bentonow.com/agent_onboarding.md を参照してください。これはエージェント向けの Bento 設定と安全性に関する最新の情報源として扱い、SDK/ツール固有の実装詳細については、以下のローカルリファレンスファイルを使用してください。
ワークフロー
- ユーザーが必要としているのが、アカウントへのライブ操作、ターミナルの自動化、ノーコードのワークフロー作業、アプリケーションコードのいずれかを判断します。対応しているチャット経由のアカウント操作には Bento MCP を、ターミナル/CSV/CI 作業には CLI を、ワークフローには n8n を、アプリケーションコードには SDK リファレンスを使用してください。
- ユーザーの依頼またはプロジェクトファイルから、対象の SDK を特定します。不明な場合は、次を実行します。
node skills/bento/scripts/bento-sdk.mjs detect . - SDK が見つからない場合は、インストール手順を表示します。ユーザーから明示的に依頼されない限り、自動でインストールしないでください。
node skills/bento/scripts/bento-sdk.mjs install node node skills/bento/scripts/bento-sdk.mjs install laravel - 以下の表から、関連するリファレンスファイルのみを読み込みます。移行作業または複数の領域にまたがる作業の場合に限り、複数のファイルを読み込みます。
- まず、選択した製品にネイティブな抽象化を使って実装します。選択した SDK またはツールがエンドポイントを公開していない場合に限り、低レベルの HTTP に切り替えてください。
- 製品/フレームワークのローカルチェックで検証し、ペイロードの形式、バッチ処理、認証設定、失敗時の処理を対象とするテストを追加します。
AI アカウント操作
| 対象 | 以下の作業で参照 | リファレンス |
|---|---|---|
| Bento MCP | ホスト型リモート MCP(https://mcp.bentonow.com/mcp)またはローカルの @bentonow/bento-mcp を使用した、対応する AI アシスタントからの Bento アカウントのライブ確認またはアカウント操作 | references/mcp.md |
| Bento CLI | ターミナルの自動化、CSV のインポート、安全な一括操作 | references/cli.md |
SDK リファレンス
| SDK | 以下の作業で参照 | リファレンス |
|---|---|---|
| Node | Node.js、Bun、TypeScript、サーバーサイド JavaScript | references/node.md |
| Laravel | Laravel アプリ、ファサード、DTO、メールトランスポート、Artisan | references/laravel.md |
| PHP | プレーン PHP、Composer ライブラリ、Laravel 以外の PHP アプリ | references/php.md |
| Drupal | Drupal 10 モジュール、Webform、Commerce、Drupal メール | references/drupal.md |
| Go | context.Context と型付き構造体を使用する Go サービス | references/go.md |
| .NET | ASP.NET Core、DI、appsettings、型付きサービス | references/dotnet.md |
| Elixir | Mix アプリ、Phoenix、OTP ワーカー、タプル形式の結果 | references/elixir.md |
| Python | bento_api.BentoAPI を使用する Python サービス/スクリプト | references/python.md |
| Ruby | Rails アプリおよび bento-sdk を使用する Ruby サービス | references/ruby.md |
| n8n | n8n コミュニティノードのワークフロー | references/n8n.md |
統合ルール
- オーディエンスの同期/インポート処理では、一括登録用のサブスクライバー API を優先してください。SDK に
importSubscribers、ImportSubscribersAsync、Subscribers.import、batch_create_subscribers、または同等の一括処理メソッドがある場合、サブスクライバーを個別に作成するループは避けてください。 - 選択した SDK のリファレンスに明記されていない限り、サブスクライバーのインポートはアップサート形式のオーディエンス同期として扱ってください。冪等性を確保し、再試行できるように設計してください。
- 行動や自動化のトリガーにはイベントトラッキングを使用してください。プロフィールの状態を変更するには、フィールド/タグ/サブスクリプションのコマンドを使用してください。
- 3 つの論理的な Bento 認証情報、サイト UUID、公開可能キー、シークレットキーは、環境変数、暗号化されたフレームワーク設定、CLI プロファイルストア、n8n 認証情報、または MCP ホストの認証情報設定に保存してください。一部の SDK では公開可能キー/シークレットキーがユーザー名/パスワードとして命名されています。選択したリファレンスに従ってください。実際の認証情報をソースに直接記述しないでください。
- 利用可能な場合は、フレームワークのコンテナまたはモジュールシステムを通じて、再利用可能な Bento クライアント/サービスを一度だけ設定してください。
- ホストのフレームワークが対応している場合は、一括同期、トランザクションメール、再試行可能な API 呼び出しを、キュー、ジョブ、ワーカー、cron、または n8n ワークフローのバッチ処理に組み込んでください。
- 大きなバッチは、選択した SDK のドキュメントに記載されている上限に合わせて分割してください。失敗を確認できるようにし、失敗したチャンク/項目のみを再試行してください。
- シークレットキーを使う操作はサーバー側で実行してください。ブラウザー/クライアントのコードに Bento のシークレットキーを渡してはいけません。
- 削除を伴う操作や大量のメール/サブスクライバー操作では、選択した SDK/CLI またはアプリケーションのワークフローで可能な場合、ドライランまたはプレビューの手順を追加してください。
- 実際の顧客アカウントでは、まず読み取り専用の確認または計画から始めてください。削除、大量処理、メール送信の操作を行う前に、明示的な確認を求めてください。
API のガードレール
これらは現在の Rails /api/v1 の動作に基づいています。作成、更新、削除の操作よりも、一覧表示/読み取り用ツールを優先してください。
- コマンドは非同期です。
POST /fetch/commandsは、キューに追加されたコマンド数を含む{ results }を返します。更新後のサブスクライバーを同期的に返すものではありません。 - サブスクライバーのインポートと作成。 オーディエンスの同期/インポートには、自動化を実行しない
POST /batch/subscribers(最大 1000 件)を使用してください。自動化をトリガーする可能性のある単一のサブスクライバー作成には、POST /fetch/subscribersのみを使用してください。 - バッチサイズ。 イベント:1 リクエストあたり最大 1000 件。サブスクライバー:最大 1000 件。トランザクションメール:最大 60 件。
- 統計情報のキャッシュ。
/stats/*は、IP アドレスあたり約 1 時間に 30 リクエストまでに制限されています。アプリで統計情報をキャッシュしてください。ページを表示するたびにポーリングしないでください。 - Fetch/batch の送信頻度。
/fetch/*と/batch/*は、IP アドレスあたり約 1 分間に 60 リクエストまでに制限されています。 - タグ削除ルート。
DELETE /fetch/tags/:idと JSON ボディ{ "tag": { "name": "..." } }を使用してタグを削除してください。まずタグを一覧表示して ID を取得してください。 - シーケンス ID。
GET /fetch/sequences(または MCP のlist_sequences)が返すidを使用してください。sequence_abc123のような ID を作らないでください。 - ブラックリストの確認。 クエリパラメーター
domainおよび/またはipを指定して、GET /experimental/blacklistを呼び出してください。パラメーター名としてblacklist.jsonやip_addressを使用しないでください。 - ジオロケーションは無効です。
GET /experimental/geolocationは{}を返します。データ拡充の用途には推奨しないでください。 - ブロードキャストのデフォルト。
GET /fetch/broadcastsは、status=sentが省略されると、その値をデフォルトとして使用します。API で作成されたブロードキャストは下書きとして開始されます。送信前に確認してください。 - 書き込みの前に一覧表示。 重複の作成や誤ったレコードへの操作を避けるため、タグ、フィールド、シーケンス、ブロードキャスト、サブスクライバーを作成する前に一覧表示してください。
一般的なリクエストのルーティング
- 「すべてのユーザー/顧客/購読者を同期する」:選択した SDK の一括購読者インポート/アップサートの処理を、チャンク分割して再試行可能な形で使用します。
- 「この購読者を検索する/チャットから自分のタグを一覧表示する/ブロードキャストを表示する」:設定されている場合は Bento MCP を使用します。
- 「この CSV をインポートする/これを CI で実行する」:プレビューと JSON 出力を使用して Bento CLI を実行します。
- 「登録/購入/ページビュー/フォーム送信を記録する」:フィールドの更新ではなく、イベントトラッキングまたはイベントの一括インポートを使用します。
- 「タグやフィールドを追加/削除する」:ユーザーが自動化をトリガーするイベントを明示的に必要としている場合を除き、購読者コマンド/タグ/フィールドの API を使用します。
- 「注文確認/パスワードリセット/トランザクションメールを送信する」:検証済みの作成者、キュー/ジョブ、サーバー側のシークレット設定を使用して、SDK/フレームワークのトランザクションメール処理を使用します。
- 「ブロードキャストを作成/送信/一覧表示する」:明示的な対象者指定とバッチ処理/レートの設定が必要です。利用可能な場合はプレビュー/ドライランを使用します。
- 「メールアドレスを検証する/リスクを確認する」:SDK の検証/ブラックリスト/スパム API を使用します。フレームワークが対応している場合は、結果をキャッシュするか一括処理します。
ヘルパースクリプト
同梱のヘルパーは読み取り専用で、ガイダンスのみを出力します。
node skills/bento/scripts/bento-sdk.mjs list
node skills/bento/scripts/bento-sdk.mjs detect .
node skills/bento/scripts/bento-sdk.mjs install mcp
node skills/bento/scripts/bento-sdk.mjs install laravel
node skills/bento/scripts/bento-sdk.mjs doctor .
不慣れなプロジェクトを変更する前に doctor を使用してください。利用が見込まれる SDK、必要な認証情報、読み込むべきリファレンス、インストールコマンド、検証コマンドを特定します。