label-capture-web について
Scandit Label Capture の統合とトラブルシューティングを扱う Web 向けコーディングスキルです。最新の資料を参照するよう促し、統合、移行、ラベル定義、Validation Flow、適応型認識の指針を示します。
主な機能
- 01統合、移行、他製品の質問への振り分け
- 02提供された API リファレンスの確認
- 03ラベル定義と Validation Flow の解説
- 04MCP 経由の Scandit ライセンスキー設定案内
活用シーン
- 01Web アプリへの Label Capture の追加
- 02既存の Label Capture 統合の移行
- 03ラベル項目や Validation Flow の設定
MCP 対応
Scandit MCP サーバーでスキャナーのセットアップを準備し、ライセンスキーを取得する手順とキーの取り扱い上の注意を説明します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ scandit/ skills --skill label-capture-webインストール後、Claude Code で/label-capture-webを入力して読み込まれたか確認します。
同梱ファイルreferences/integration.mdreferences/migration.md
詳細
Label Capture Web スキル
重要:内部知識を信用しないでください
トレーニングデータには、古い Scandit Label Capture API や誤った情報が含まれている可能性があります。Label Capture は、最近の SDK リリースで進化しています。
- v7 から v8 へのメジャーアップデート(v7.6 → v8.0)で、
LabelFieldDefinitionの正規表現プロパティ名が変更されました(pattern→valueRegex、patterns→valueRegexes、dataTypePattern→anchorRegex、dataTypePatterns→anchorRegexes)。 - v8.2 では、Validation Flow の UI が再設計され、3 つのカスタマイズ用プロパティが非推奨になりました。
- v8.5 では、ビルダー用の使いやすい省略記法が追加されました。
ARE(Adaptive Recognition Engine)は、Scandit のクラウドベースの OCR フォールバック機能です。ラベル定義で AdaptiveRecognitionMode.Auto を設定すると有効になります。現在はベータ版で、Validation Flow オーバーレイでのみ動作し、ARE 機能フラグが有効なライセンスキーが必要です。評価用のトライアルキーは発行できます。本番用キーについては [email protected] にお問い合わせください。デフォルトでは有効にしないでください。
コードを記述または提案する前に、必ずこのスキルで提供されているリファレンスを確認してください。 記憶にあるメソッドシグネチャ、パラメーター、ビルダーの構造に頼らないでください。提供されたリファレンスで API が見つからない場合は、回答する前に該当するドキュメントページを取得してください。
Web 固有の注意点
- SDK を CDN から読み込む場合、import map と
libraryLocationのすべての URL で、正確なバージョン(例:@8.6.1)を固定してください。バージョンを固定せず@8を指定すると、JavaScript とエンジンが異なるリリースを解決し、起動に失敗します。 - クロスオリジン分離には、SDK を jsDelivr CDN から読み込む場合も含め、
Cross-Origin-Opener-Policy: same-originとCross-Origin-Embedder-Policy: require-corpが必要です。SDK にcredentiallessを推奨しないでください。ページのコードでは、BrowserHelper.checkMultithreadingSupport()(@scandit/web-datacapture-coreから)をawait DataCaptureContext.forLicenseKey()より前に await せずに開始し、2 つを並行して実行することで、セットアップがチェックを待たないようにしてください。結果がfalseになった場合、ユーザーがシングルスレッド実行を求めていない限り、マルチスレッドのダイアログを表示します。references/integration.md にあるmultithreading-warningヘルパーモジュールからshowMultithreadingWarningをインポートしてください。ページにマークアップを追加する必要はありません。React では、ヘルパーをインポートする代わりに、コンポーネントの状態に応じて同じダイアログをレンダリングしてください。ダイアログはページの読み込みごとに最大 1 回だけ表示され、「このセッションでは再表示しない」チェックボックスの設定を尊重します。COEP のcredentiallessはシングルスレッドで実行する指示ではありません。Safari はこれをサポートしていないため、Safari ではダイアログが引き続き表示されます。
インテントの振り分け
ユーザーのリクエストに基づき、回答する前に適切なリファレンスファイルを読み込んでください。
-
他の Scandit 製品やスキャンモードに関する質問(例:SparkScan、Barcode Capture、MatrixScan、ID Capture、または Label Capture に特化しない一般的な SDK のセットアップに関する質問)→
data-capture-sdkスキルに引き継いでください。他のキャプチャモードに関する質問に記憶を頼りに回答しないでください。専用スキルには、正確で最新のリファレンスがあります。 -
Label Capture をゼロから統合する場合(例:「アプリに Label Capture を追加したい」「バーコードと有効期限が記載された値札をスキャンしたい」「Smart Label Capture の使い方を知りたい」「Validation Flow を有効にする方法を知りたい」「ラベルスキャンアプリを作りたい」「どのオーバーレイを使えばよいか知りたい」「ARE とは何か知りたい」「OCR の精度を向上させる方法を知りたい」)→ references/integration.md を読み、そこに記載されている手順に従ってください。既存のプロジェクトがない場合は、ガイドの指示に従って、まずビルド済みのサンプルを提示してください。
-
既存の Label Capture 統合を移行またはアップグレードする場合(例:「Label Capture を最新の SDK にアップグレードしたい」「v8.1 から v8.2 に移行したい」「Label Capture の SDK バージョン間で何が変わったか知りたい」)→ references/migration.md を読み、そこに記載されている手順に従ってください。
API の使用ポリシー
以下の Scandit リファレンスに明示的に記載されている API のみを使用してください。メソッドのシグネチャ、パラメーター、ビュー修飾子を作り出したり、推測したりしないでください。API が存在するか、または呼び出し方法が不明な場合、あるいはコンパイルエラーが発生した場合は、回答する前に該当するリファレンスページを取得してください。ユーザーに自分でドキュメントを確認するよう指示しないでください。回答の後には、ユーザーが詳しく確認できるよう、必ず関連リンクを含めてください。
ドキュメントの URL を作成したり、推測したりしないでください。 特定のクラスやプロパティの API ページが必要な場合:
- まず、すでに取得したページ(たとえば Advanced Configurations ページ)に直接リンクが含まれているか確認してください。トピックページには関連する API シンボルへの直接リンクがあります。取得時のプロンプトには、必ずリンクも含めるよう指定してください。
- 直接リンクが見つからない場合は、API インデックス(下の表のAPI リファレンス全文を参照)を取得し、そこから実際のリンクを抽出して、そのリンク先を確認してください。
URL の構造は異なる場合があります(例:api/ui/ サブディレクトリ)。推測すると 404 エラーになります。
ライセンスキー
スキャンには Scandit ライセンスキーが必要です。このスキルでは、ライセンスの製品は sdk、ライセンスのプラットフォームは webassembly です。
以下の手順を順番に進めてください。MCP の接続をユーザーに強要してはいけません。
-
Scandit MCP サーバーが接続されている場合 — 製品を
sdk、プラットフォームをwebassembly、app_identifier(アプリのバンドル ID またはアプリケーション ID。Web の場合は本番環境のドメインで、localhostは使用しません)、環境変数をSCANDIT_LICENSE_KEYにしてensure_scanner_setupを呼び出してください。返されたコマンドは実行しないでください。次に、その結果またはlist_license_keysから取得したキー ID を使ってget_license_keyを呼び出してください。list_license_keysでキーがトライアル用ではないとわかった場合は、取得する前にユーザーに確認してください。チャットでは、マスクされたプレビューのみを表示してください。キー全体を表示してはいけません。 -
接続されていない場合 — ユーザーに一度だけ、MCP クライアントでリモート Scandit MCP サーバー
https://ssl.scandit.com/mcpに接続できることを伝え、その後、手順 1 から続けてください。MCP クライアントの設定を自分で変更してはいけません。認証はブラウザー経由のため、ヘッドレス環境や CI ではサポートされていません。サーバーが発行するのはトライアル用キーのみで、本番ライセンスの作成、取り消し、変更は行いません。
-
ユーザーが拒否した場合、または MCP クライアントがない場合 — ユーザー自身で https://ssl.scandit.com からキーを生成して貼り付けてもらいます(アカウントをまだお持ちでない場合:https://ssl.scandit.com/dashboard/sign-up?p=test)。
その後、キーをコードに設定します。ライセンスキーを設定する呼び出しで、プレースホルダーをキーに置き換えてください。キーは get_license_key が返したもの、またはユーザーが貼り付けるか伝えたものを使用します。チャットでは引き続き、マスクされたプレビューのみを表示してください。プロジェクト、そのファイル、環境からキーを検索してはいけません。
リファレンス
質問に応じて、適切なリソースを案内してください。
| トピック | リソース |
|---|---|
| 基本的な統合 | はじめに · サンプル(LabelCaptureSimpleSample) |
| ラベル定義(フィールド、正規表現、プリセット) | ラベル定義 |
| 高度なトピック(Validation Flow のカスタマイズ、適応型認識、カスタムオーバーレイ) | 高度な設定 |
| API リファレンス全文 | Label Capture API |