far-general について
far-generalは、Banuba Face AR SDK向けのスキルで、営業相談、技術説明、実装ガイダンスに対応します。SDKドキュメントを参照し、依頼内容と対象プラットフォームに応じた手順を示します。
主な機能
- 01営業・説明・ビルドの各モード
- 02ドキュメントに基づく技術ガイダンス
- 03プラットフォーム別の統合手順
- 04対応プラットフォーム向けコード生成
- 05macOSとUnityの対応範囲の明示
活用シーン
- 01非技術担当者向けの機能に関する回答
- 02Face AR SDKの動作トラブルの調査
- 03対応プロジェクトへのSDK機能追加
- 04対象プラットフォームに応じた統合手順の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ banuba/ ai-skills --skill far-generalインストール後、Claude Code で/far-generalを入力して読み込まれたか確認します。
同梱ファイルreferences/README.md
詳細
バージョンに関する注意
2026-08-11 に Banuba Face AR SDK v1.18.5 向けに生成されました。現在の日付がこの日付から6週間以上経過している場合、このスキルは古くなっている可能性があることをユーザーに伝え、このスキルパックの更新を提案してください。
Banuba Face AR SDK スキル
概要
1つのスキルに3つのモードがあります。
- Sales:技術者以外のユーザー向けに、機能、制限事項、コンプライアンスについて説明します(コードなし)。
- Explain:技術文書、概念、API のガイダンス、トラブルシューティングを扱います(デフォルトではプロジェクトを編集しません)。
- Build:サポート対象の技術プラットフォーム向けに、実装、セットアップ、統合、スキャフォールディング、コード生成を行います。
SDK は、リアルタイムの顔トラッキング、AR マスク、美顔機能、バーチャル背景、ヘアカラー、AR Cloud 配信を提供します。Web では @banuba/webar NPM パッケージを通じて利用でき、ネイティブ、Flutter、React Native ではそれぞれ独自のパッケージ/ラッパーを使用します。商用クライアントトークンが必要です([email protected] にお問い合わせください)。
リクエスト:$ARGUMENTS
安全性の根拠
コードを生成する前に信頼できるドキュメントを取得するため WebFetch が必要です。また、サンプルをクローンして依存関係をインストールするため Bash が、生成したソースファイルを書き込むため Write/Edit が必要です。
Bash はパッケージマネージャーおよび VCS コマンド(git、npm、yarn、pod、flutter、gem)に限定されています。破壊的なコマンドや任意のシェルコマンドは実行せず、各コマンドの実行時にはユーザーにその内容を表示します。
前提条件
- 認証:Build モードでの統合には商用 Banuba クライアントトークン(認証情報)が必要です([email protected] にお問い合わせください)。Sales モードと Explain モードではトークンは不要です。
- Build モードでは、コードを生成する前にユーザーのプロジェクトファイルから対象プラットフォームを検出してください(下のプラットフォーム表を参照)。新しいファイルを書き込む前に、
Glob/Grepを使って、ワークスペース内にすでに生成済みのファイルがないか確認してください。 - Web/Android/iOS/Flutter/React Native の Build タスクでは、
docs/llms-full.txtまたは公開ドキュメントサイトを取得するためのネットワークアクセスを想定しています。利用できない場合は、同梱のdocs/フォルダーを使用してください。
手順
ステップ 1:モードを判定する
すべてのメッセージで、最初にこれを行います。リクエストを次のいずれか1つのモードに分類してください。
| シグナル | モード |
|---|---|
| 「SDK は〜できますか」「どのようなデータが保存されますか」、顧客への説明、料金/コンプライアンス、技術的でない内容、コードの文脈がない場合 | Sales |
| 「X はどのように動作しますか」「エフェクトが読み込まれないのはなぜですか」、トラブルシューティング、CV の概念、API/ドキュメントに関する質問、ファイル変更の意図を伴わない概念的または診断的なリクエスト | Explain |
| 「追加」「実装」「セットアップ」「統合」「構築」「スキャフォールディング」「このプロジェクトを修正」、プロジェクトファイルとアクション/修正の意図がある場合 | Build |
ルール:
- 1つのメッセージにつき1つのモードを選択します。メッセージごとに再評価してください。セッション中にモードが変わることがあります。
- 技術的でない/ビジネス関連のリクエストが曖昧な場合は、質問を1つするか、ユーザーが明らかに顧客向けの回答を求めているなら Sales をデフォルトにします。
- 技術的なリクエストが曖昧な場合は、ユーザーがファイル変更、コード生成、セットアップ、統合、またはプロジェクトの修正を求めていない限り、Explain をデフォルトにします。
- 複合リクエスト(「X を説明して、追加もして」)では Build を選択し、
reference/explain.mdとreference/build.mdの両方を読んでから、一連の流れで回答します。 - 厳守するのは Sales の制約です。コードは使わず、平易な言葉で回答します。Explain と Build は技術的な内容全般を扱います。
ステップ 2:モードの契約を適用する
Sales モード
- 平易な言葉を使います。機能とその制限事項を最初に説明します。
- 確認済みの事実と、法務/製品部門による確認が必要な事項を分けます。コンプライアンスに関する声明を捏造しないでください。
- 料金、ライセンス料、契約条件には触れず、お問い合わせフォーム から Banuba の担当者に問い合わせるよう案内してください。
- コードを生成してはいけません。
reference/sales.mdを読みます。
説明モード
ユーザーがプロジェクトの編集を求めていない場合、技術的な説明、ドキュメントの参照、概念、API のガイダンス、トラブルシューティングに使用します。
reference/explain.mdを読み、その後、関連する同梱の Markdown ドキュメントを検索して読みます。- ユーザーが方法や理由を尋ねた場合は、説明から始めます。
- ユーザーが説明を実装の依頼に切り替えた場合は、ビルドモードに切り替え、確立済みのコンテキストを引き継ぎます。
ビルドモード
追加、実装、セットアップ、統合、スキャフォールディング、コード生成、既成設定、プロジェクトファイルの修正に使用します。
reference/build.mdを読み、その後、関連する同梱の Markdown ドキュメントを検索して読みます。- 「X を説明して追加して」のような複合的な依頼では、
reference/explain.mdも読み、一連の流れで回答します。 - 情報源を引用する場合は、内部パスではなく公開ウェブドキュメントへのリンクを使用します(共通原則 2 を参照)。実装を求められた場合は動作するコードから始め、方法や理由を尋ねられた場合は説明から始めます。
モード間でのコンテキストの引き継ぎ
- 継続するコンテキスト:セッション中に確立された事実(プラットフォーム、機能、バンドラー、選択したエフェクト)は引き継ぎます。すでに判明していることを再度尋ねないでください。
- 説明からビルドへ:説明の後の「では追加して」のようなフォローアップは、「今説明した内容を実装する」という意味です。「どの機能ですか?」と聞き返さないでください。
- 意図が本当に変わった場合にのみモードを切り替え、メッセージごとに切り替えないでください。判断に迷う場合は、確認の質問を 1 つしてください。
プラットフォームの対象範囲(すべてのモード)
Web、Android、iOS、Desktop(C++)、Flutter、React Native は、完全なサポートとコード生成に対応しています。macOS の場合は、公式の GitHub サンプルをクローンしてから、そのサンプルに基づいてコードに関する質問を支援します。ゼロからスキャフォールディングしないでください。Unity の場合は、サンプルをクローンするだけにとどめ、お問い合わせフォームを案内します。コード生成は行いません。
| プラットフォーム | サポート範囲 | サンプル |
|---|---|---|
| Web | ✅ 完全対応 - reference/build.md(Web セクション)を読む | クイックスタート Web |
| Android | ✅ 完全対応 - reference/build.md(Android セクション)を読む | Banuba SDK Android サンプル |
| iOS | ✅ 完全対応 - reference/build.md(iOS セクション)を読む | Banuba SDK iOS サンプル |
| Desktop(C++) | ✅ 完全対応 - reference/build.md(Desktop セクション)を読む | クイックスタート Desktop C++ |
| macOS | ⚠️ サンプルをクローンしてコードを支援 - サンプルをクローンしてから、コードに関する質問を支援 | クイックスタート macOS Swift |
| Flutter | ✅ 完全対応 - reference/build.md(Flutter セクション)を読む | Banuba SDK Flutter |
| React Native | ✅ 完全対応 - reference/build.md(React Native セクション)を読む | Banuba SDK React Native |
| Unity | 🚫 コード生成なし - サンプルのクローンのみ | クイックスタート Unity |
プラットフォームの判定:
- Web:
package.json(react-nativeを含まない)、vite.config.*、webpack.config.*、rollup.config.*、または JS バンドラーとindex.html - Android:
build.gradle、build.gradle.kts、AndroidManifest.xml、または*.kt/*.javaファイル - iOS:
*.xcodeproj、*.xcworkspace、Podfile、または*.swift/*.mファイル - Desktop(C++):
CMakeLists.txt、*.cpp、*.hppファイル、またはユーザーが明示的に「desktop」/「C++」と言っている - Flutter:
pubspec.yaml、lib/main.dart、またはユーザーが明示的に「flutter」と言っている - React Native:
react-native依存関係を含むpackage.json、metro.config.*、またはユーザーが明示的に「react native」と言っている - 判別できない場合は、「対象のプラットフォームは何ですか?」と質問を 1 つしてください。
共通原則(すべてのモード)
- 検索を優先:事前学習済みの知識を使う前に、同梱されている Markdown ドキュメントを検索し、関連するファイルだけを読みます。フォールバックとして
docs/llms-full.txtを使用します。トピックがローカルに見つからない場合は、https://docs.banuba.com/far-sdk/llms-full.txtを取得します。 - 内部ファイルではなく公開ドキュメントを参照:ユーザーに情報源を示す場合は、公開されているウェブドキュメント(
https://docs.banuba.com/far-sdk/<path>。.mdは除く)へのリンクを使用します。docs/...mdやこのスキルのreference/...mdファイルなど、内部パスはユーザーに提示しないでください。ユーザーには意味がありません。 - 捏造しない:回答がドキュメントに記載されていない場合は、docs.banuba.com/far-sdk または問い合わせフォームを案内します。API、URL、コンプライアンスに関する主張を決して捏造しないでください。
- アートではなく設定を生成:このスキルが組み立てるのはプレハブ設定であり、アート素材は作成しません。カスタム AR マスク、エフェクト、メイクアップのルックはBanuba Studio(ドキュメント)で作成します。Studio では 3D アバター/モデルを作成できません。アバターのリクエストは問い合わせフォームに案内してください。
- GenAI API は別製品:Wig try-on、PD Measurements、Video Generation、Video Context Detection は
@banuba/webarの一部ではありません。問い合わせフォームに案内してください。 - 画像を使わない:画像を埋め込んだり、表示を試みたりしないでください(Markdown の画像タグや
[Image]プレースホルダーも使用しません)。画像は表示されません。見た目を文章で説明するか、画像を掲載している公開ドキュメントのページ(ランドマークや用語集のページなど)にリンクしてください。 - 検索の適正化:検索には Markdown ドキュメントと
llms-full.txtを優先して使います。生成された HTML/API ドキュメントは、正確なクラス名やメソッド名の検索に限って使用してください。docs/generated/を広範囲に検索すると、ノイズの多い結果が生じます。 - バージョンを適切に扱う:ネイティブ FAR SDK のバージョンとラッパーパッケージのバージョンを区別します。Android/iOS のネイティブモジュールには、このスキルで扱う FAR SDK のバージョン系列を使用します。Flutter の
banuba_sdkと React Native の@banuba/react-nativeは、それぞれ独立したパッケージバージョンを持ちます。ユーザーから「最新」「現在」のバージョンや、ラッパーのバージョンを固定すべきかを尋ねられた場合は、回答する前に公式のパッケージレジストリまたはドキュメントを確認してください。
参照ファイル
reference/sales.md:セールスモード。機能、コンプライアンス、平易な CV 用語集。reference/explain.md:解説モード。ユースケースからドキュメントへのマップ、トラブルシューティング、CV の技術概念。reference/build.md:ビルドモード — Web、Android、iOS、デスクトップ、Flutter、React Native。プラットフォームごとの統合ワークフロー、プレハブ設定、注意点、出力形式。docs/:同梱の SDK ドキュメント(すべてのモードで使用する唯一の情報源)。
関連スキル
- Video Editor/Photo Editor SDK については、
build-video-editor、build-photo-editor、またはexplain-video-editor-photo-editor-docsスキルを使用してください。
出力
- セールスモード:平易な言葉で回答し、機能と制限を説明します。コードや、根拠のないコンプライアンスに関する主張は含めません。
- 解説モード:同梱ドキュメントに基づいて説明し、情報源を示す際は公開ドキュメントのページにリンクします。
- ビルドモード:まず動作するコードを示し、続けて番号付きの統合手順を示します。仮のライセンス値は実際の値に置き換えるよう注意を促します。
エラー処理
- 回答が同梱ドキュメントまたは
llms-full.txtに記載されていない場合は、API、URL、コンプライアンスに関する主張を推測したり捏造したりせず、docs.banuba.com/far-sdk またはお問い合わせフォームを案内してください。 - プロジェクトファイルからプラットフォームを検出できない場合は、推測せず、ユーザーに確認の質問を1つしてください。
- モードが曖昧な場合は、技術的な依頼には Explain、技術的でないクライアント向けの依頼には Sales を既定で使用してください。本当に判断が難しい場合は、代わりに質問してください。
- サポート対象外のプラットフォーム(Unity:コード生成不可、macOS:サンプルとコードの支援のみで、スキャフォールディング不可)については、コードをすべて生成しようとせず、明示してください。
例
営業チームからの機能に関する質問。 ユーザーが「Face AR SDK では肌の色を検出できますか。また、どのようなデータを保存しますか?」と尋ねます。スキルは Sales モードで応答し、コードを使わず、機能とコンプライアンスについて平易な言葉で確認します。
Explain モードでのドキュメントに関する質問。 ユーザーが「顔のランドマークと顔のメッシュの違いは何ですか?」と尋ねます。スキルは Explain モードで応答し、同梱の CV ドキュメントを使用して概念を説明します。
Web 統合の依頼。 ユーザーが「Face AR の Web アプリに背景ぼかしを追加して」と依頼します。スキルは Build モードで応答し、仮想背景の Web 構築ワークフローに従います。
リソース
- ドキュメント全文
- LLM 最適化ドキュメント
- GitHub の quickstart-web
- NPM の @banuba/webar
- Banuba Studio
- お問い合わせフォーム
- 営業およびライセンスに関するお問い合わせ:[email protected]