mcpField
C
create-assistant

create-assistant

github.com/vapiaiエージェントワークフロー671.1k 回インストール今日更新
リポジトリ

create-assistant について

Vapi音声アシスタントの要件整理、プロンプト作成、設定検証を行うスキルです。保存型と一時型を区別し、未設定の機能やデプロイ状況を誤って示さないようにします。

主な機能

  1. 01保存型または一時型を選択
  2. 02不足する業務要件を収集
  3. 03システムプロンプトとガードレールを作成
  4. 04機能を実際のツールに対応付け
  5. 05設定とAPI結果を検証

活用シーン

  1. 01再利用可能なVapiアシスタントの設計
  2. 02通話用インラインアシスタントの準備
  3. 03作成前に必要な連携を確認
  4. 04API作成後のアシスタント検証

MCP 対応

利用可能な場合、設定済みのVapiドキュメントMCPで最新の製品情報を参照します。このスキル自体はアシスタントの設計と設定を扱います。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/vapiai/skills --skill create-assistant

インストール後、Claude Code で/create-assistantを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
api-examples.md
hooks.md
prompt-design.md
providers.md

詳細

Vapi アシスタントの作成

設定を組み立てる前に、アシスタントの動作を設計します。永続化と実行は別々に判断してください。返された設定が保存済みアシスタントを表す場合もあれば、保存済みアシスタントを作成しても、それだけではデプロイされたり、電話番号が割り当てられたり、本番環境で利用できる状態だと証明されたりするわけではありません。

ソースと安全性に関するルール

  • 利用可能な場合は、最新の製品ガイダンスを得るために、設定済みの Vapi ドキュメント MCP を使用します。それ以外の場合は、同梱のリファレンスと、そこに記載されている公開 Vapi リンクを使用します。最終的なペイロードが現在の Create Assistant API スキーマに適合することを検証します。
  • API キー、プロバイダーのシークレット、認証情報の値、非公開 URL、実際の顧客データを表示したり、チャットで求めたり、埋め込んだりしないでください。
  • ID、宛先、インテグレーション、サーバー URL、モデル名、音声、文字起こしサービス、スキーマ、ビジネスポリシーを捏造しないでください。
  • 保存するアシスタントの name は 40 文字以内にします。
  • ユーザーから求められ、現在のドキュメントで正確な設定が裏付けられていない限り、有料機能、HIPAA、PCI、録音、データ保持、その他のコンプライアンス関連の動作を有効にしないでください。
  • プロンプトは動作に関する指示であり、機能やセキュリティ境界ではありません。スケジュール設定、検索、転送、メッセージ送信、認証などの操作には、実際のツールまたはサーバー側のサポートが必要です。

手順

  1. アシスタントのアーキテクチャと、求められている操作を決めます。

    • 再利用可能で、共有、ID による割り当て、または継続的な管理が必要なエージェントには、保存済みアシスタントを優先します。単にエージェントの作成や構築を求められた場合は、依頼で別の方法が示されていない限り、この形式を使用します。
    • 一時的なアシスタントを使用するのは、インラインまたは通話単位の設定が求められた場合、あるいはユースケースで通話ごとの設定、短期間のテスト、assistant-request レスポンスが特に必要な場合に限ります。通話の assistant フィールドに設定し、POST /assistant には送信しないでください。
    • JSON、例、ドラフト、またはアカウントを変更しない実装を求められた場合は、API を呼び出さず、適切な設定を返します。
    • Vapi でのアシスタントの作成または保存を求められ、VAPI_API_KEY が利用可能な場合は、POST /assistant で保存済みアシスタントを作成します。明確な作成依頼の後に、重複する確認を求めないでください。
    • 作成を求められているものの認証情報が利用できない場合は、保存可能な設定とコマンドを返し、アシスタントが保存されていないことを明確に伝えます。一時的なアシスタントとして扱わないでください。
  2. 要点を絞って要件を確認します。

    • 依頼から明らかな内容を推測し、設計に実質的な影響を与える不足情報だけを確認します。たとえば、事業内容と対象者、発信・着信の別、主な目的と成功基準、ワークフロー、信頼できる業務情報、実際のツールやインテグレーション、エスカレーションの境界、収集または回避すべき情報、対応言語、ブランドの口調などです。
    • 信頼できるエージェントを作るために複数の業務情報が必要な場合は、要点を絞った質問をまとめて行います。エージェントの準備ができていると伝える前に、事業について十分に把握してください。
    • 1 つのアシスタントでワークフローを確実に担えるか判断します。専門分野の異なるエージェント、ルーティング、引き継ぎが設計の中心となる場合は、create-squad スキルを使用します。
    • ユーザーが希望を示した場合、またはユースケースで言語、レイテンシ、コンプライアンス、認証情報に関する実質的な制約が生じる場合を除き、インフラプロバイダーの選択をユーザーに求めないでください。
  3. 本番品質のシステムプロンプトを設計します。

    • 利用可能な場合は、新しいアシスタントの作成や大幅なプロンプトの書き換えごとに、vapi-prompt-builder スキルを使用します。利用できない場合は、単独で利用できる代替手段として Prompt Design を読みます。
    • プロバイダーやペイロードを組み立てる前に、プロンプトを最後まで作成します。アイデンティティと性格、応答ガイドライン、ガードレール、コンテキスト、ワークフローまたはユースケース、簡潔な例を含めます。
    • 音声での応答は簡潔にし、一度に一つの質問をするようにします。不確実な場合や問題からの復旧に関する動作を定義し、重要な値は音声で伝えやすい形にします。
    • firstMessage と firstMessageMode を、通話の方向とプロンプトに合わせます。ビジネス上の要件、開示義務、または発信の目的に合わせた内容が必要な場合、汎用的な挨拶は使用しません。
  4. すべての機能を実際の設定に基づかせます。

    • 提供を約束する各アクションを、既存のツール、ナレッジソース、ランタイム変数、または文書化されたバックエンド契約に対応付けます。不足している依存関係は Configuration needed として列挙し、プロンプトに隠しません。
    • 保存済みの正確なツール ID を model.toolIds で再利用します。文書化されたインラインツールは model.tools に配置します。再利用可能なツールや外部サーバーの実装が必要な場合は、create-tool スキルを使用します。
    • 新しく作成するすべてのアシスタントにネイティブの endCall ツールを付与し、許可される通話終了条件をプロンプトで定義します。利用可能な場合は、検証済みの保存済みツール ID を再利用します。そうでない場合は、現行の文書化されたネイティブツールの形式を使用します。
    • 発信時の留守番電話への動作では、ネイティブの voicemail ツールを付与し、そのメッセージとアシスタントのプロンプトを一致させます。voicemailDetectionPlan、voicemailDetection、その他のアシスタントレベルの自動留守番電話検出キーは追加しません。
    • 決定論的なイベントトリガー動作が必要な場合に限り、Assistant Hooks を読みます。バックエンドへの通知にはサーバーイベントを、モデルが判断するアクションにはアシスタントツールを使用します。
  5. 互換性のあるプロバイダーと設定を選択します。

    • コンポーネントを選ぶとき、プロバイダーの指定に従うとき、デフォルトを固定するとき、または複数言語に対応するときは、事前に Provider Policy を読みます。
    • Create Assistant API でデフォルト値が文書化されている場合に限り、任意のプロバイダーコンポーネントを省略します。ユースケースや再現性のために必要な場合は、コンポーネントを明示的に固定します。
    • 明示的に指定する各モデル、音声、トランスクライバー、言語の値が、現在の API ドキュメントに記載されていることを確認します。音声が約束するすべての言語を発話でき、トランスクライバーが認識できることを確認します。
  6. 設定を組み立て、検証します。

    • ユースケースに適した name、適切な初回メッセージの動作、および完全なシステムプロンプトを含む model を設定します。
    • 音声、トランスクライバー、ツール、フック、分析、コンプライアンス、トランスポート、その他のフィールドは、意図がある場合にのみ追加します。省略した任意のフィールドには Vapi のデフォルト値が使用される場合があります。ペイロードを完全に見せるだけの目的でフィールドを追加しないでください。
    • プレースホルダー、未サポートまたは古い値、漏えいしたシークレット、言語の不一致、捏造したビジネス情報、利用できない機能、プロンプトと設定の矛盾がないか確認します。
    • 前提条件と未解決の依存関係は、作成可能な JSON と分けます。作成可能として提示するペイロードに、偽の ID、URL、電話番号、認証情報を決して含めません。
  7. 要求された場合は作成して検証します。

    • 保存済みアシスタントに対して POST /assistant を 1 回送信し、201 レスポンスを求めます。返された id、名前、システムプロンプト、アタッチされたツール、および明示的に設定されたプロバイダーがあれば、それらを検証します。
    • API で作成されたアシスタントはすぐに保存されます。別途 API で公開する手順はありません。別途必要な操作が完了していない限り、アシスタントがデプロイ済み、電話番号にルーティング済み、テスト済み、または本番環境で使用可能であると述べないでください。
    • 400 の場合は、文書化された検証上の問題を 1 つ修正し、修正内容が明確な場合に限り、最大 1 回再試行します。変更していないリクエストを繰り返さないでください。401 または 403 の場合は停止し、認証または権限のエラーを報告します。404 の場合は、依存関係が見つからないことを報告します。5xx の場合は、サービスの障害を報告します。
    • 現実的な成功、境界、失敗のテストシナリオを提示します。Web 通話または代表的な Eval/テストセットを推奨し、実際の結果に基づいて反復します。通話が 1 回成功しただけでは、本番品質の根拠として不十分です。

API の実装例

ユーザーが実装コードを求めている場合は、アシスタント API の例を参照します。該当言語のバックエンドプロジェクトでは、公式の TypeScript または Python Server SDK を使用します。REST の直接的な例やシェルベースの検証には cURL を使用します。作成に成功したら、保存されたアシスタント ID を返し、検証済みの設定を要約し、未設定の項目を明示して、テストシナリオを提示します。生成されたペイロードは保存済みアシスタントではなく、保存済みアシスタントも自動的にはデプロイされません。

出力の要件

リクエストに関連するセクションのみを返します。

  • アーキテクチャ:保存済みか一時的か。明示されていない場合は、その理由も記載します。
  • 前提条件または作業を妨げる確認事項
  • 最終的なアシスタント設定(システムプロンプト全文を含む)
  • まだ実現していない機能に必要な設定
  • 作成結果とアシスタント ID(API 呼び出しに成功した場合)
  • 外部テストシナリオと推奨する次の改善

公開情報源

コメント