@scandit
AI agent skills for integrating the Scandit Data Capture SDK — product selection, documentation, and implementation guides for barcode scanning, ID capture, and smart label capture.
Use when BarcodeCapture is involved in an Android project — whether the user mentions BarcodeCapture directly, or the codebase already uses BarcodeCapture as its barcode scanning library and something needs to be added, changed, fixed, or migrated. This includes adding BarcodeCapture to a new Android app, modifying scan settings, handling scan results, customizing the BarcodeCapture overlay, upgrading or migrating between SDK versions (v6→v7, v7→v8, or any bump of the Scandit SDK), troubleshooting BarcodeCapture behavior, or replacing a third-party barcode scanning library (such as ZXing or ML Kit) with BarcodeCapture. If the project is Android and BarcodeCapture is in play — including any question about upgrading the Scandit Android SDK — use this skill.
Use when BarcodeCapture (single-barcode scanning) is involved in a Capacitor project — whether the user mentions BarcodeCapture directly, or the codebase already uses BarcodeCapture as its scanning mode and something needs to be added, changed, fixed, or migrated. This includes adding BarcodeCapture to a new Capacitor app, configuring symbologies and BarcodeCaptureSettings, wiring the BarcodeCaptureListener, mounting a DataCaptureView with a BarcodeCaptureOverlay, switching the camera frame source, customizing feedback or viewfinders, upgrading between SDK versions, or troubleshooting BarcodeCapture behavior. If the project is Capacitor and BarcodeCapture is in play, use this skill.
Use when BarcodeCapture is involved in a Cordova project — whether the user mentions BarcodeCapture directly, or the codebase already uses BarcodeCapture as its barcode scanning mode and something needs to be added, changed, fixed, or migrated. This includes adding BarcodeCapture to a new Cordova app, modifying scan settings, handling scan results, wiring the DataCaptureView and BarcodeCaptureOverlay, upgrading between SDK versions, or troubleshooting BarcodeCapture behavior. If the project is Cordova and BarcodeCapture is in play, use this skill.
Use when BarcodeCapture is involved in a Flutter project — whether the user mentions BarcodeCapture directly, or the codebase already uses BarcodeCapture as its barcode scanning library and something needs to be added, changed, fixed, or migrated. This includes adding BarcodeCapture to a new Flutter app, modifying scan settings, handling scan results, customizing the BarcodeCapture overlay, upgrading between SDK versions, or troubleshooting BarcodeCapture behavior. If the project is Flutter and BarcodeCapture is in play, use this skill.
Use when BarcodeCapture is involved in an iOS project — whether the user mentions BarcodeCapture directly, or the codebase already uses BarcodeCapture as its barcode scanning library and something needs to be added, changed, fixed, or migrated. This includes adding BarcodeCapture to a new iOS app, modifying scan settings, handling scan results, customizing the BarcodeCapture overlay, upgrading between SDK versions, troubleshooting BarcodeCapture behavior, or replacing a third-party barcode scanning library with BarcodeCapture. If the project is iOS and BarcodeCapture is in play, use this skill.
Use when BarcodeCapture is involved in a .NET MAUI project (`<UseMaui>true</UseMaui>`, target frameworks include `net*-android` and/or `net*-ios`, `Scandit.DataCapture.Barcode.Maui` NuGet) — whether the user mentions BarcodeCapture directly, or the codebase already uses BarcodeCapture as its barcode scanning library and something needs to be added, changed, fixed, or migrated. This includes adding BarcodeCapture to a MAUI app, configuring `BarcodeCaptureSettings`, wiring the `BarcodeScanned` event (or `IBarcodeCaptureListener`), adding the `<scandit:DataCaptureView>` XAML control, creating a `BarcodeCaptureOverlay` after the view's handler is attached, handling the `OnAppearing`/`OnDisappearing` lifecycle, requesting `Permissions.Camera`, upgrading or migrating between Scandit SDK versions (v6→v7, v7→v8, or any bump of the Scandit .NET MAUI SDK), troubleshooting BarcodeCapture behavior, or replacing a third-party MAUI barcode scanning library (ZXing.Net.Maui, ZXing.Net.MAUI.Controls, BarcodeScanning.Native.Maui) with BarcodeCapture. If the project has `<UseMaui>true</UseMaui>` and BarcodeCapture is in play — including any question about upgrading the Scandit .NET MAUI SDK — use this skill.
Use when BarcodeCapture is involved in a .NET for Android project (`net*-android` target framework, `Scandit.DataCapture.Barcode` NuGet) — whether the user mentions BarcodeCapture directly, or the codebase already uses BarcodeCapture as its barcode scanning library and something needs to be added, changed, fixed, or migrated. This includes adding BarcodeCapture to a new .NET Android app, configuring `BarcodeCaptureSettings`, wiring up `IBarcodeCaptureListener` or the `BarcodeScanned` event, customizing the `BarcodeCaptureOverlay`, handling the `OnResume`/`OnPause` camera lifecycle, upgrading or migrating between Scandit SDK versions (v6→v7, v7→v8, or any bump of the Scandit .NET SDK), troubleshooting BarcodeCapture behavior, or replacing a third-party barcode scanning library (ZXing.Net.Mobile, ZXing.Net, Google ML Kit bindings) with BarcodeCapture. If the project targets `net*-android` and is **not** a MAUI app (`<UseMaui>true</UseMaui>`) and BarcodeCapture is in play — including any question about upgrading the Scandit .NET Android SDK — use this skill.
Use when BarcodeCapture is involved in a .NET for iOS project (`net*-ios` target framework, `Scandit.DataCapture.Barcode` NuGet) — whether the user mentions BarcodeCapture directly, or the codebase already uses BarcodeCapture as its barcode scanning library and something needs to be added, changed, fixed, or migrated. This includes adding BarcodeCapture to a new .NET iOS app, configuring `BarcodeCaptureSettings`, wiring up `IBarcodeCaptureListener` or the `BarcodeScanned` event, customizing the `BarcodeCaptureOverlay`, handling the `ViewWillAppear`/`ViewWillDisappear` camera lifecycle, upgrading or migrating between Scandit SDK versions (v6→v7, v7→v8, or any bump of the Scandit .NET SDK), troubleshooting BarcodeCapture behavior, or replacing a third-party barcode scanning library (ZXing.Net.Mobile, ZXing.Net, AVFoundation-based scanners) with BarcodeCapture. If the project targets `net*-ios` and is **not** a MAUI app (`<UseMaui>true</UseMaui>`) and BarcodeCapture is in play — including any question about upgrading the Scandit .NET iOS SDK — use this skill.
Use when BarcodeCapture is involved in a React Native project — whether the user mentions BarcodeCapture directly, or the codebase already uses BarcodeCapture as its single-scan barcode capture mode and something needs to be added, changed, fixed, or migrated. This includes adding BarcodeCapture to a new React Native app, configuring symbologies, wiring a DataCaptureView and BarcodeCaptureOverlay, handling scan results, customizing feedback or viewfinders, upgrading between SDK versions, or troubleshooting BarcodeCapture behavior. If the project is React Native and BarcodeCapture is in play, use this skill.
Use when BarcodeCapture is involved in a web project — whether the user mentions BarcodeCapture directly, or the codebase already uses BarcodeCapture as its barcode scanning library and something needs to be added, changed, fixed, or migrated. This includes adding BarcodeCapture to a new web app, modifying scan settings, handling scan results, customizing the BarcodeCapture overlay or viewfinder, upgrading or migrating between SDK versions (v6→v7, v7→v8, or any bump of the Scandit Web SDK), or troubleshooting BarcodeCapture behavior. If the project is a web project and BarcodeCapture is in play — including any question about upgrading the Scandit Web SDK — use this skill.
Use when a user mentions Scandit, data capture SDK, barcode scanning products, smart data capture, choosing a scanning product, comparing scanning features, supported barcode symbologies, system requirements, device compatibility, or Scandit pricing. Helps choose the right Scandit product (SparkScan, Barcode Capture, MatrixScan, Smart Label Capture, ID Capture, etc.), points to the correct documentation and sample apps for their platform, and hands off to implementation skills.
Use when ID Capture (Scandit identity-document scanning — passports, driver's licenses, ID cards, residence permits, ICAO visas, MRZ / VIZ / barcode / mobile documents) is involved in a Capacitor project, whether the user mentions ID Capture directly, says "scan a passport / driver's license / ID card / identity document", or the codebase already uses IdCapture and something needs to be added, changed, fixed, or customized. Covers adding ID Capture from scratch, configuring accepted documents and scanners, reading captured fields, anonymization, the three add-on capability packages (voided-ID detection, European driving-license back decoding, AAMVA barcode verification), and migrating between SDK versions. If the project is Capacitor and ID Capture is in play, use this skill.
Use when ID Capture (Scandit identity-document scanning — passports, driver's licenses, ID cards, residence permits, ICAO visas, MRZ / VIZ / barcode / mobile documents) is involved in a Cordova / PhoneGap project, whether the user mentions ID Capture directly, says "scan a passport / driver's license / ID card / identity document", or the codebase already uses IdCapture and something needs to be added, changed, fixed, or customized. Covers adding ID Capture from scratch, configuring accepted documents and scanners, reading captured fields, anonymization, the three add-on capability plugins (voided-ID detection, European driving-license back decoding, AAMVA barcode verification), and migrating between SDK versions. If the project is Cordova and ID Capture is in play, use this skill.
Use when ID Capture (Scandit identity-document scanning — passports, driver's licenses, ID cards, residence permits, visas, MRZ / VIZ / barcode / mobile documents) is involved in a Flutter project, whether the user mentions ID Capture directly, says "scan a passport / driver's license / ID card / identity document", or the codebase already uses IdCapture and something needs to be added, changed, fixed, or customized. Covers adding ID Capture from scratch, configuring accepted documents and scanners, reading captured fields, anonymization, the three add-on capability plugins (voided-ID detection, European driving-license back decoding, AAMVA barcode verification), and migrating between SDK versions. If the project is Flutter and ID Capture is in play, use this skill.
Use when ID Capture (Scandit identity-document scanning — passports, driver's licenses, ID cards, residence permits, health-insurance cards, visas, region-specific subtypes, reading MRZ / VIZ / PDF417 barcode on identity documents / mobile-document data) is involved in a native iOS Swift project (UIKit or SwiftUI) — whether the user mentions ID Capture directly, says "scan a passport / driver's license / ID card / identity document in Swift on iOS", or the codebase already uses `IdCapture` and something needs to be added, changed, fixed, or customized. This includes adding ID Capture to a new iOS UIKit app, configuring `IdCaptureSettings` with `acceptedDocuments` (`IdCard(region: .any)`, `DriverLicense(region: .us)`, `Passport(region: .any)`, …) and a `scanner` (`IdCaptureScanner(physicalDocument:)` wrapping `FullDocumentScanner` / `SingleSideScanner` / `MobileDocumentScanner`), creating the mode with `IdCapture(context:settings:)`, handling results through `IdCaptureListener.idCapture(_:didCapture:)` / `idCapture(_:didReject:reason:)`, reading `CapturedId` (`fullName`, `dateOfBirth`, `dateOfExpiry`, `documentNumber`, `mrzResult`, `vizResult`, `barcode`, `mobileDocumentResult`, `images`, `verificationResult`), hosting the preview with `DataCaptureView` + `IdCaptureOverlay` inside a `UIViewController`, managing the camera lifecycle across `viewWillAppear` / `viewDidDisappear`, rejection rules (expired / voided / underage / forged-AAMVA / inconsistent-data), data-consistency / AAMVA verification, anonymization, or upgrading the Scandit iOS SDK version. If the project is native iOS Swift (UIKit or SwiftUI) and ID Capture is in play, use this skill. Note: code examples in this skill use UIKit — SwiftUI hosting patterns may need adaptation.
Use when ID Capture (Scandit identity-document scanning — passports, driver's licenses, ID cards, residence permits, health-insurance cards, visas, region-specific subtypes, reading MRZ / VIZ / PDF417 barcode / mobile-document data) is involved in a .NET for Android project (`net*-android` target framework, `Scandit.DataCapture.IdCapture` NuGet) — whether the user mentions ID Capture directly, says "scan a passport / driver's license / ID card / identity document in C#", or the codebase already uses `IdCapture` and something needs to be added, changed, fixed, or customized. This includes adding ID Capture to a new .NET Android app, configuring `IdCaptureSettings` with `AcceptedDocuments` (`new Passport(IdCaptureRegion.Any)`, `new DriverLicense(...)`, `new IdCard(...)`, …) and a `Scanner` (`new IdCaptureScanner(physicalDocument, mobileDocument)` with `FullDocumentScanner` / `SingleSideScanner` / `MobileDocumentScanner`), creating the mode with `IdCapture.Create`, handling results through `IIdCaptureListener.OnIdCaptured` / `OnIdRejected` (or the `IdCaptured` / `IdRejected` events), reading `CapturedId` (`FullName`, `DateOfBirth`, `DateOfExpiry`, `DocumentNumber`, `Mrz`, `Viz`, `Barcode`, `MobileDocument`, `Images`, `VerificationResult`), hosting the preview with `DataCaptureView` + `IdCaptureOverlay`, managing the camera lifecycle, rejection rules (expired / voided / underage / forged-AAMVA / inconsistent-data), data-consistency / AAMVA verification, anonymization, or upgrading the Scandit .NET SDK version. If the project targets `net*-android` and is **not** a MAUI app (`<UseMaui>true</UseMaui>`) and ID Capture is in play, use this skill.
Use when ID Capture (Scandit identity-document scanning — passports, driver's licenses, ID cards, residence permits, health-insurance cards, visas, region-specific subtypes, reading MRZ / VIZ / PDF417 barcode / mobile-document data) is involved in a .NET for iOS project (`net*-ios` target framework, `Scandit.DataCapture.IdCapture` NuGet) — whether the user mentions ID Capture directly, says "scan a passport / driver's license / ID card / identity document in C# on iOS", or the codebase already uses `IdCapture` and something needs to be added, changed, fixed, or customized. This includes adding ID Capture to a new .NET iOS app, configuring `IdCaptureSettings` with `AcceptedDocuments` (`new Passport(IdCaptureRegion.Any)`, `new DriverLicense(...)`, `new IdCard(...)`, …) and a `Scanner` (`new IdCaptureScanner(physicalDocument, mobileDocument)` with `FullDocumentScanner` / `SingleSideScanner` / `MobileDocumentScanner`), creating the mode with `IdCapture.Create`, handling results through `IIdCaptureListener.OnIdCaptured` / `OnIdRejected`, reading `CapturedId` (`FullName`, `DateOfBirth`, `DateOfExpiry`, `DocumentNumber`, `Mrz`, `Viz`, `Barcode`, `MobileDocument`, `Images`, `VerificationResult`), hosting the preview with `DataCaptureView` + `IdCaptureOverlay` inside a `UIViewController`, managing the camera lifecycle across `ViewWillAppear` / `ViewWillDisappear`, rejection rules (expired / voided / underage / forged-AAMVA / inconsistent-data), data-consistency / AAMVA verification, anonymization, or upgrading the Scandit .NET SDK version. If the project targets `net*-ios` and is **not** a MAUI app (`<UseMaui>true</UseMaui>`) and ID Capture is in play, use this skill.
Use when ID Capture (Scandit identity-document scanning — passports, driver's licenses, ID cards, residence permits, health-insurance cards, visas, region-specific subtypes, reading MRZ / VIZ / PDF417 barcode / mobile-document data) is involved in a .NET MAUI project (`<UseMaui>true</UseMaui>`, target frameworks include `net*-android` and/or `net*-ios`, `Scandit.DataCapture.IdCapture` NuGet) — whether the user mentions ID Capture directly, says "scan a passport / driver's license / ID card / identity document in a MAUI app", or the codebase already uses `IdCapture` and something needs to be added, changed, fixed, or customized. This includes adding ID Capture to a MAUI app, configuring `IdCaptureSettings` with `AcceptedDocuments` (`new Passport(IdCaptureRegion.Any)`, `new DriverLicense(...)`, `new IdCard(...)`, …) and a `Scanner` (`new IdCaptureScanner(physicalDocument, mobileDocument)` with `FullDocumentScanner` / `SingleSideScanner` / `MobileDocumentScanner`), creating the mode with `IdCapture.Create`, hosting the preview with the `<scandit:DataCaptureView>` XAML control plus an `IdCaptureOverlay` created in `HandlerChanged`, handling results through `IIdCaptureListener.OnIdCaptured` / `OnIdRejected` (or the `IdCaptured` / `IdRejected` events), reading `CapturedId` (`FullName`, `DateOfBirth`, `DateOfExpiry`, `DocumentNumber`, `Mrz`, `Viz`, `Barcode`, `MobileDocument`, `Images`, `VerificationResult`), wiring SDK initialization (`ScanditIdCapture.Initialize()` in the platform entry points + `.UseScanditCore(c => c.AddDataCaptureView())` in `MauiProgram.cs`), managing the camera lifecycle across `OnAppearing`/`OnDisappearing`, requesting `Permissions.Camera`, rejection rules (expired / voided / underage / forged-AAMVA / inconsistent-data), data-consistency / AAMVA verification, anonymization, or upgrading the Scandit .NET MAUI SDK version. If the project has `<UseMaui>true</UseMaui>` and ID Capture (`IdCapture`) is in play, use this skill — for non-MAUI projects use `id-capture-net-android` (`net*-android`) or `id-capture-net-ios` (`net*-ios`) instead.
Use when ID Capture (Scandit identity-document scanning — passports, driver's licenses, ID cards, residence permits, ICAO visas, MRZ / VIZ / barcode / mobile documents) is involved in a React Native project, whether the user mentions ID Capture directly, says "scan a passport / driver's license / ID card / identity document", or the codebase already uses IdCapture and something needs to be added, changed, fixed, or customized. Covers adding ID Capture from scratch, configuring accepted documents and scanners, reading captured fields, anonymization, the three add-on capability packages (voided-ID detection, European driving-license back decoding, AAMVA barcode verification), and migrating between SDK versions. If the project is React Native and ID Capture is in play, use this skill.
Use when Label Capture (Smart Label Capture) is involved in an Android project — whether the user mentions Label Capture directly, or the codebase already uses it and something needs to be added, changed, fixed, or customized. This includes adding Label Capture to a new Android app, defining label structures (barcode fields + text fields with regex patterns), handling captured sessions, enabling the Validation Flow, or migrating between SDK versions. If the project is an Android project and Label Capture is in play, use this skill.
Use when Label Capture (Smart Label Capture) is involved in a Capacitor project — whether the user mentions Label Capture directly, or the codebase already uses it and something needs to be added, changed, fixed, or customized. This includes adding Label Capture to a new Capacitor app, defining label structures (barcode fields + text fields with regex patterns), handling captured labels, enabling the Validation Flow, or upgrading between SDK versions. If the project is Capacitor and Label Capture is in play, use this skill.
Use when Label Capture (Smart Label Capture) is involved in a Cordova project — whether the user mentions Label Capture directly, or the codebase already uses it and something needs to be added, changed, fixed, or customized. This includes adding Label Capture to a new Cordova app, defining label structures (barcode fields + text fields with regex patterns), handling captured labels, enabling the Validation Flow, or upgrading between SDK versions. If the project is Cordova and Label Capture is in play, use this skill.
Use when Label Capture (Smart Label Capture) is involved in a Flutter project — whether the user mentions Label Capture directly, or the codebase already uses it and something needs to be added, changed, fixed, or customized. This includes adding Label Capture to a new Flutter app, defining label structures (barcode fields + text fields with regex patterns), handling captured labels, enabling the Validation Flow, or upgrading between SDK versions. If the project is Flutter and Label Capture is in play, use this skill.
Use when Label Capture (Smart Label Capture) is involved in an iOS project — whether the user mentions Label Capture directly, or the codebase already uses it and something needs to be added, changed, fixed, or customized. This includes adding Label Capture to a new iOS app, defining label structures (barcode fields + text fields with regex patterns), handling captured sessions, enabling the Validation Flow, or migrating between SDK versions. If the project is an iOS project and Label Capture is in play, use this skill.
Use when Label Capture (Smart Label Capture, `LabelCapture*`) is involved in a .NET for Android project (`net*-android` target framework, `Scandit.DataCapture.Label` NuGet) — whether the user mentions Label Capture / Smart Label Capture directly, or the codebase already uses `LabelCapture` and something needs to be added, changed, fixed, or customized. This includes adding Label Capture to a new .NET Android app, defining a label structure with barcode fields (`CustomBarcode`, `SerialNumberBarcode`, `PartNumberBarcode`, IMEI) and text fields (`ExpiryDateText`, `TotalPriceText`, `UnitPriceText`, `WeightText`, `PackingDateText`, `CustomText`) via their `.Builder()...Build(name)` factories, assembling them with `LabelDefinition.Create` + `LabelCaptureSettings.Create`, creating the mode with `LabelCapture.Create`, handling results through `ILabelCaptureListener.OnSessionUpdated` or the `SessionUpdated` event, reading `CapturedLabel` / `LabelField` (`Barcode`, `Text`, `Date`), hosting the preview with `DataCaptureView` + `LabelCaptureBasicOverlay`, managing the camera lifecycle, enabling the guided Validation Flow (`LabelCaptureValidationFlowOverlay`), using prebuilt definitions (VIN, price label, 7-segment), customizing feedback/brushes, or upgrading the Scandit .NET SDK version. If the project targets `net*-android` and is **not** a MAUI app (`<UseMaui>true</UseMaui>`) and Label Capture is in play, use this skill.
Use when Label Capture (Smart Label Capture, `LabelCapture*`) is involved in a .NET for iOS project (`net*-ios` target framework, `Scandit.DataCapture.Label` NuGet) — whether the user mentions Label Capture / Smart Label Capture directly, or the codebase already uses `LabelCapture` and something needs to be added, changed, fixed, or customized. This includes adding Label Capture to a new .NET iOS app, defining a label structure with barcode fields (`CustomBarcode`, `SerialNumberBarcode`, `PartNumberBarcode`, IMEI) and text fields (`ExpiryDateText`, `TotalPriceText`, `UnitPriceText`, `WeightText`, `PackingDateText`, `CustomText`) via their `.Builder()...Build(name)` factories, assembling them with `LabelDefinition.Create` + `LabelCaptureSettings.Create`, creating the mode with `LabelCapture.Create`, handling results through `ILabelCaptureListener.OnSessionUpdated` or the `SessionUpdated` event, reading `CapturedLabel` / `LabelField` (`Barcode`, `Text`, `Date`, iOS-only `ValueType`), hosting the preview with `DataCaptureView` (`Create(context, CGRect)`) + `LabelCaptureBasicOverlay` inside a `UIViewController`, managing the camera lifecycle across `ViewWillAppear`/`ViewWillDisappear`, enabling the guided Validation Flow (`LabelCaptureValidationFlowOverlay`), using prebuilt definitions (VIN, price label, 7-segment), customizing feedback/brushes, or upgrading the Scandit .NET SDK version. If the project targets `net*-ios` and is **not** a MAUI app (`<UseMaui>true</UseMaui>`) and Label Capture is in play, use this skill.
Use when Label Capture (Smart Label Capture, `LabelCapture*`) is involved in a .NET MAUI project (`<UseMaui>true</UseMaui>`, target frameworks include `net*-android` and/or `net*-ios`, `Scandit.DataCapture.Label` NuGet) — whether the user mentions Label Capture / Smart Label Capture directly, or the codebase already uses `LabelCapture` and something needs to be added, changed, fixed, or customized. This includes adding Label Capture to a MAUI app, defining a label structure with barcode fields (`CustomBarcode`, `SerialNumberBarcode`, `PartNumberBarcode`, IMEI) and text fields (`ExpiryDateText`, `TotalPriceText`, `UnitPriceText`, `WeightText`, `PackingDateText`, `CustomText`) via their `.Builder()...Build(name)` factories, assembling them with `LabelDefinition.Create` + `LabelCaptureSettings.Create`, creating the mode with `LabelCapture.Create`, hosting the preview with the `<scandit:DataCaptureView>` XAML control plus a `LabelCaptureBasicOverlay` created in `HandlerChanged`, handling results through `ILabelCaptureListener.OnSessionUpdated` or the `SessionUpdated` event, reading `CapturedLabel` / `LabelField` (`Barcode`, `Text`, `Date`), wiring the `MauiProgram.cs` builder + `ScanditLabelCapture.Initialize()`, managing the camera lifecycle across `OnAppearing`/`OnDisappearing`, requesting `Permissions.Camera`, enabling the guided Validation Flow (`LabelCaptureValidationFlowOverlay`), using prebuilt definitions (VIN, price label, 7-segment), customizing feedback/brushes, or upgrading the Scandit .NET MAUI SDK version. If the project has `<UseMaui>true</UseMaui>` and Label Capture (`LabelCapture`) is in play, use this skill — for non-MAUI projects use `label-capture-net-android` (`net*-android`) or `label-capture-net-ios` (`net*-ios`) instead.
Use when Label Capture (Smart Label Capture) is involved in a React Native project — whether the user mentions Label Capture directly, or the codebase already uses it and something needs to be added, changed, fixed, or customized. This includes adding Label Capture to a new React Native app, defining label structures (barcode fields + text fields with regex patterns), handling captured labels, enabling the Validation Flow, or upgrading between SDK versions. If the project is React Native and Label Capture is in play, use this skill.
Use when Label Capture (Smart Label Capture) is involved in a web project — whether the user mentions Label Capture directly, or the codebase already uses it and something needs to be added, changed, fixed, or customized. This includes adding Label Capture to a new web app, defining label structures (barcode fields + text fields with regex patterns), handling captured sessions, enabling the Validation Flow, or migrating between SDK versions. If the project is a web project and Label Capture is in play, use this skill.
Use when MatrixScan AR (Barcode AR / BarcodeAr) is involved in an Android project — whether the user mentions MatrixScan AR, Barcode AR, or BarcodeAr directly, or the codebase already uses BarcodeAr as its multi-barcode scanning library and something needs to be added, changed, fixed, or configured. This includes adding BarcodeAr to a new Android app, modifying scan settings, handling tracked barcodes, customizing highlights or annotations, wiring up providers, troubleshooting BarcodeAr behavior, or replacing a third-party barcode scanning library with BarcodeAr. If the project is Android and MatrixScan AR (BarcodeAr) is in play, use this skill.
Use when MatrixScan AR is involved in an iOS project — whether the user mentions MatrixScan AR directly, or the codebase already uses MatrixScan AR as its barcode scanning library, and asks any question related to MatrixScan AR annotations. This includes adding MatrixScan AR annotations to an iOS app, customizing their appearance and content, controlling when they appear, or handling interaction with them. If the project is iOS and MatrixScan AR annotations are in play, use this skill.
Use when MatrixScan AR or Barcode AR is involved in a Capacitor project — whether the user mentions MatrixScan AR or Barcode AR directly, or the codebase already uses BarcodeAr* classes and something needs to be added, changed, fixed, or configured. This includes adding MatrixScan AR to a new Capacitor app, configuring symbologies, setting up BarcodeArView with a DOM element, implementing highlight or annotation providers, customizing highlights and annotations, handling session updates, or troubleshooting BarcodeAr behavior. If the project is Capacitor and MatrixScan AR is in play, use this skill.
Use when MatrixScan AR (Barcode AR) is involved in a Cordova project — whether the user mentions MatrixScan AR, Barcode AR, BarcodeAr, AR overlays, barcode highlights, or AR annotations directly, or the codebase already uses BarcodeAr as its scanning mode and something needs to be added, changed, fixed, or built. This includes adding MatrixScan AR to a new Cordova app, configuring symbologies, building highlight providers, building annotation providers (info annotations, popovers, status icons, responsive annotations), handling tap events on highlights, customizing the BarcodeArView, or troubleshooting BarcodeAr behavior. BarcodeAr is new in Cordova plugin 8.2 — there is no v6/v7 history for this mode. If the project is Cordova and MatrixScan AR / Barcode AR is in play, use this skill.
Use when MatrixScan AR (Barcode AR) is involved in a Flutter project — whether the user mentions MatrixScan AR, Barcode AR, or BarcodeAr directly, or the codebase already uses BarcodeAr as its multi-barcode scanning library and something needs to be added, changed, fixed, or configured. This includes adding BarcodeAr to a new Flutter app, modifying scan settings, handling tracked barcodes, customizing highlights or annotations, wiring up providers, or troubleshooting BarcodeAr behavior. If the project is Flutter and BarcodeAr (MatrixScan AR) is in play, use this skill.
Use when MatrixScan AR is involved in an iOS project — whether the user mentions MatrixScan AR directly, or the codebase already uses MatrixScan AR as its barcode scanning library, and asks any question related to MatrixScan AR highlights. This includes adding MatrixScan AR highlights to an iOS app, modifying existing ones, or handling interaction with them. If the project is iOS and MatrixScan AR highlights are in play, use this skill.
Use when MatrixScan AR is involved in an iOS project — whether the user mentions MatrixScan AR directly, or the codebase already uses MatrixScan AR and needs the scanning pipeline changed. This includes adding MatrixScan AR to an app for the first time, adjusting the DataCaptureContext, BarcodeAr mode, BarcodeArSettings (symbologies), BarcodeArView, BarcodeArViewSettings, BarcodeArListener, feedback (sound/vibration), camera settings, or control visibility (torch/zoom/camera switch/macro) on an existing MatrixScan AR integration, or migrating a project from MatrixScan Batch (BarcodeBatch / BarcodeTracking) to MatrixScan AR. If the project is iOS and MatrixScan AR is in play, use this skill. Highlight-specific and annotation-specific work is handled by the sibling skills matrixscan-ar-highlight-ios and matrixscan-ar-annotation-ios — route there instead.
Use when MatrixScan AR (`BarcodeAr*` / Barcode AR) is involved in a .NET MAUI project (`<UseMaui>true</UseMaui>`, target frameworks include `net*-android` and/or `net*-ios`, `Scandit.DataCapture.Barcode.Maui` NuGet) — whether the user mentions MatrixScan AR, Barcode AR, or `BarcodeAr` directly, or the codebase already uses `BarcodeAr` as its multi-barcode tracking + AR overlay library and something needs to be added, changed, fixed, or migrated. This includes adding `BarcodeAr` to a MAUI app, registering the `UseScanditCore().UseScanditBarcode(c => c.AddBarcodeArView())` builder chain, declaring `<scandit:BarcodeArView>` in XAML, configuring `BarcodeArSettings`/`BarcodeArViewSettings`, wiring `IBarcodeArListener` or the `SessionUpdated` event on a view model, customizing highlights (`BarcodeArRectangleHighlight`, `BarcodeArCircleHighlight`) via `IBarcodeArHighlightProvider.HighlightForBarcodeAsync`, customizing annotations (`BarcodeArInfoAnnotation`, `BarcodeArStatusIconAnnotation`, `BarcodeArPopoverAnnotation`) via `IBarcodeArAnnotationProvider.AnnotationForBarcodeAsync`, customizing `BarcodeArFeedback`, forwarding `OnAppearing`/`OnDisappearing` into the MAUI `BarcodeArView` (`OnResume`/`OnPause` + `Start`/`Stop`), hooking `HighlightForBarcodeTapped`, hooking info-annotation / popover-annotation listeners, upgrading or migrating between Scandit SDK versions (v7→v8, or any bump of the Scandit .NET MAUI SDK), or troubleshooting `BarcodeAr` MAUI behavior (black preview, builder-chain mismatches, missing `BarcodeArView` handler registration). If the project has `<UseMaui>true</UseMaui>` and `BarcodeAr` is in play — including any question about upgrading the Scandit .NET MAUI SDK — use this skill.
Use when MatrixScan AR (`BarcodeAr*` / Barcode AR) is involved in a .NET for Android project (`net*-android` target framework, `Scandit.DataCapture.Barcode` NuGet) — whether the user mentions MatrixScan AR, Barcode AR, or `BarcodeAr` directly, or the codebase already uses `BarcodeAr` as its multi-barcode tracking + AR overlay library and something needs to be added, changed, fixed, or migrated. This includes adding `BarcodeAr` to a new .NET Android app, configuring `BarcodeArSettings`/`BarcodeArViewSettings`, wiring up `IBarcodeArListener` or the `SessionUpdated` event, customizing highlights (`BarcodeArRectangleHighlight`, `BarcodeArCircleHighlight`) via `IBarcodeArHighlightProvider.HighlightForBarcodeAsync`, customizing annotations (`BarcodeArInfoAnnotation`, `BarcodeArStatusIconAnnotation`, `BarcodeArPopoverAnnotation`) via `IBarcodeArAnnotationProvider.AnnotationForBarcodeAsync`, customizing `BarcodeArFeedback`, handling the `OnResume`/`OnPause` lifecycle on `BarcodeArView`, hooking `HighlightForBarcodeTapped`, upgrading or migrating between Scandit SDK versions (v6→v7, v7→v8, or any bump of the Scandit .NET SDK), troubleshooting `BarcodeAr` behavior, or replacing a third-party multi-barcode-tracking library with `BarcodeAr`. If the project targets `net*-android` and is **not** a MAUI app (`<UseMaui>true</UseMaui>`) and `BarcodeAr` is in play — including any question about upgrading the Scandit .NET Android SDK — use this skill.
Use when MatrixScan AR (`BarcodeAr*` / Barcode AR) is involved in a .NET for iOS project (`net*-ios` target framework, `Scandit.DataCapture.Barcode` NuGet) — whether the user mentions MatrixScan AR, Barcode AR, or `BarcodeAr` directly, or the codebase already uses `BarcodeAr` as its multi-barcode tracking + AR overlay library and something needs to be added, changed, fixed, or migrated. This includes adding `BarcodeAr` to a new .NET iOS app, configuring `BarcodeArSettings`/`BarcodeArViewSettings`, wiring up `IBarcodeArListener` or the `SessionUpdated` event, customizing highlights (`BarcodeArRectangleHighlight`, `BarcodeArCircleHighlight`) via `IBarcodeArHighlightProvider.HighlightForBarcodeAsync`, customizing annotations (`BarcodeArInfoAnnotation`, `BarcodeArStatusIconAnnotation`, `BarcodeArPopoverAnnotation`) via `IBarcodeArAnnotationProvider.AnnotationForBarcodeAsync`, customizing `BarcodeArFeedback`, managing the `ViewWillAppear`/`ViewWillDisappear` lifecycle on `BarcodeArView`, hooking `HighlightForBarcodeTapped`, toggling macro / torch / zoom / camera-switch controls, upgrading or migrating between Scandit SDK versions (v6→v7, v7→v8, or any bump of the Scandit .NET SDK), troubleshooting `BarcodeAr` behavior, or replacing a third-party multi-barcode-tracking library with `BarcodeAr`. If the project targets `net*-ios` and is **not** a MAUI app (`<UseMaui>true</UseMaui>`) and `BarcodeAr` is in play — including any question about upgrading the Scandit .NET iOS SDK — use this skill.
Use when MatrixScan AR, Barcode AR, AR overlays, AR annotations, or AR highlights are involved in a React Native project — whether the user mentions MatrixScan AR or Barcode AR directly, or the codebase already uses BarcodeAr* classes and something needs to be added, changed, fixed, or extended. This includes adding MatrixScan AR to a new React Native app, configuring BarcodeArSettings and symbologies, wiring highlight providers (BarcodeArCircleHighlight, BarcodeArRectangleHighlight, BarcodeArCustomHighlight), wiring annotation providers (BarcodeArInfoAnnotation, BarcodeArPopoverAnnotation, BarcodeArStatusIconAnnotation, BarcodeArResponsiveAnnotation, BarcodeArCustomAnnotation), handling session updates via BarcodeArListener, customizing BarcodeArFeedback, or troubleshooting BarcodeAr* behavior. If the project is React Native and MatrixScan AR / Barcode AR is in play, use this skill.
Use when MatrixScan AR, Barcode AR, AR overlays, AR annotations, or AR highlights are involved in a web project — whether the user mentions MatrixScan AR or Barcode AR directly, or the codebase already uses BarcodeAr* classes and something needs to be added, changed, fixed, or extended. This includes adding MatrixScan AR to a new web app, configuring BarcodeArSettings and symbologies, wiring highlight providers (BarcodeArCircleHighlight, BarcodeArRectangleHighlight), wiring annotation providers (BarcodeArInfoAnnotation, BarcodeArPopoverAnnotation, BarcodeArStatusIconAnnotation, BarcodeArResponsiveAnnotation), handling session updates via BarcodeArListener, or migrating from BarcodeBatch to BarcodeAr. If the project is a web project and MatrixScan AR / Barcode AR is in play, use this skill.
Use when MatrixScan Batch (BarcodeBatch / BarcodeTracking) is involved in an Android project — whether the user mentions MatrixScan, MatrixScan Batch, BarcodeBatch, or BarcodeTracking directly, or the codebase already uses BarcodeBatch* classes and something needs to be added, changed, fixed, or extended. This includes adding MatrixScan Batch to a new Android app, configuring BarcodeBatchSettings and symbologies, handling tracked barcodes via BarcodeBatchListener, customizing highlights via BarcodeBatchBasicOverlay, adding AR views via BarcodeBatchAdvancedOverlay, or managing the lifecycle. If the project is Android and MatrixScan Batch (BarcodeBatch) is in play, use this skill.
Use when MatrixScan, MatrixScan Batch, BarcodeBatch, or BarcodeTracking (legacy alias) are involved in a Capacitor project — whether the user mentions these names directly, or the codebase already uses BarcodeBatch* classes and something needs to be added, changed, fixed, or extended. This includes adding MatrixScan Batch to a new Capacitor app, configuring BarcodeBatchSettings and symbologies, wiring BarcodeBatchListener.didUpdateSession, customizing BarcodeBatchBasicOverlay with per-barcode brushes via brushForTrackedBarcode, adding AR annotations via BarcodeBatchAdvancedOverlay with the serialized TrackedBarcodeView Promise pattern, or managing lifecycle (enable/disable, cleanup, camera permissions). If the project is Capacitor and MatrixScan / BarcodeBatch is in play, use this skill.
Use when MatrixScan, MatrixScan Batch, BarcodeBatch, or BarcodeTracking (legacy alias) are involved in a Cordova project — whether the user mentions these names directly, or the codebase already uses BarcodeBatch* classes and something needs to be added, changed, fixed, or extended. This includes adding MatrixScan Batch to a new Cordova app, configuring BarcodeBatchSettings and symbologies, wiring BarcodeBatchListener.didUpdateSession, customizing BarcodeBatchBasicOverlay with per-barcode brushes via brushForTrackedBarcode, adding AR annotations via BarcodeBatchAdvancedOverlay with the serialized TrackedBarcodeView Promise pattern from the Bubbles sample, or managing lifecycle (enable/disable, cleanup, camera permissions). If the project is Cordova and MatrixScan / BarcodeBatch is in play, use this skill.
Use when MatrixScan, MatrixScan Batch, BarcodeBatch, or BarcodeTracking (legacy alias) are involved in a Flutter project — whether the user mentions these names directly, or the codebase already uses BarcodeBatch* classes and something needs to be added, changed, fixed, or extended. This includes adding MatrixScan Batch to a new Flutter app, configuring BarcodeBatchSettings and symbologies, wiring BarcodeBatchListener.didUpdateSession, customizing BarcodeBatchBasicOverlay with per-barcode brushes via brushForTrackedBarcode, adding AR annotations via BarcodeBatchAdvancedOverlay and a BarcodeBatchAdvancedOverlayWidget subclass, or managing lifecycle (enable/disable, cleanup on dispose, camera permissions). If the project is Flutter and MatrixScan / BarcodeBatch is in play, use this skill.
Use when MatrixScan Batch (BarcodeBatch / BarcodeTracking) is involved in an iOS project — whether the user mentions MatrixScan, MatrixScan Batch, BarcodeBatch, or BarcodeTracking directly, or the codebase already uses BarcodeBatch* classes and something needs to be added, changed, fixed, or extended. This includes adding MatrixScan Batch to a new iOS app, configuring BarcodeBatchSettings and symbologies, handling tracked barcodes via BarcodeBatchListener, customizing highlights via BarcodeBatchBasicOverlay, adding AR views via BarcodeBatchAdvancedOverlay, or managing the lifecycle. If the project is iOS and MatrixScan Batch (BarcodeBatch) is in play, use this skill.
Use when MatrixScan Batch (BarcodeBatch / BarcodeTracking) is involved in a .NET MAUI project (`<UseMaui>true</UseMaui>`, target frameworks include `net*-android` and/or `net*-ios`, `Scandit.DataCapture.Barcode.Maui` NuGet) — whether the user mentions MatrixScan, MatrixScan Batch, BarcodeBatch, or BarcodeTracking directly, or the codebase already uses `BarcodeBatch*` classes and something needs to be added, changed, fixed, or migrated. This includes adding MatrixScan Batch to a MAUI app, configuring `BarcodeBatchSettings` and symbologies, handling tracked barcodes via `IBarcodeBatchListener` or the `SessionUpdated` event, adding the `<scandit:DataCaptureView>` XAML control, creating a `BarcodeBatchBasicOverlay` after the view's handler is attached, anchoring custom MAUI `ContentView`s on top of tracked barcodes via `BarcodeBatchAdvancedOverlay` and the `ToPlatform` partial-class pattern, handling the `OnAppearing`/`OnDisappearing` lifecycle, requesting `Permissions.Camera`, upgrading or migrating between Scandit SDK versions (v6→v7, v7→v8, or any bump of the Scandit .NET MAUI SDK), troubleshooting MatrixScan Batch behavior (black preview, frozen/stuttering preview on iOS, advanced-overlay views not appearing), or replacing a third-party multi-barcode scanner (ZXing.Net.Maui multi-detection, BarcodeScanning.Native.Maui multi-detection) with MatrixScan Batch. If the project has `<UseMaui>true</UseMaui>` and MatrixScan Batch (`BarcodeBatch`) is in play — including any question about upgrading the Scandit .NET MAUI SDK — use this skill.
Use when MatrixScan Batch (BarcodeBatch / BarcodeTracking) is involved in a .NET for Android project (`net*-android` target framework, `Scandit.DataCapture.Barcode` NuGet) — whether the user mentions MatrixScan, MatrixScan Batch, BarcodeBatch, or BarcodeTracking directly, or the codebase already uses `BarcodeBatch*` classes and something needs to be added, changed, fixed, or migrated. This includes adding MatrixScan Batch to a new .NET Android app, configuring `BarcodeBatchSettings` and symbologies, handling tracked barcodes via `IBarcodeBatchListener` or the `SessionUpdated` event, customizing highlights via `BarcodeBatchBasicOverlay`, anchoring custom Android `View`s with `BarcodeBatchAdvancedOverlay`, managing the `OnResume`/`OnPause` camera lifecycle, upgrading or migrating between Scandit SDK versions (v6→v7, v7→v8, or any bump of the Scandit .NET SDK), troubleshooting MatrixScan Batch behavior, or replacing a third-party multi-barcode scanner (ZXing.Net.Mobile loops, ZXing.Net, Google ML Kit bindings) with MatrixScan Batch. If the project targets `net*-android` and is **not** a MAUI app (`<UseMaui>true</UseMaui>`) and MatrixScan Batch (`BarcodeBatch`) is in play — including any question about upgrading the Scandit .NET Android SDK — use this skill.
Use when MatrixScan Batch (BarcodeBatch / BarcodeTracking) is involved in a .NET for iOS project (`net*-ios` target framework, `Scandit.DataCapture.Barcode` NuGet) — whether the user mentions MatrixScan, MatrixScan Batch, BarcodeBatch, or BarcodeTracking directly, or the codebase already uses `BarcodeBatch*` classes and something needs to be added, changed, fixed, or migrated. This includes adding MatrixScan Batch to a new .NET iOS app, configuring `BarcodeBatchSettings` and symbologies, handling tracked barcodes via `IBarcodeBatchListener` or the `SessionUpdated` event, customizing highlights via `BarcodeBatchBasicOverlay`, anchoring custom `UIView`s with `BarcodeBatchAdvancedOverlay`, managing the `ViewWillAppear`/`ViewWillDisappear` camera lifecycle, upgrading or migrating between Scandit SDK versions (v6→v7, v7→v8, or any bump of the Scandit .NET SDK), troubleshooting MatrixScan Batch behavior (frozen/stuttering preview, missing tracked-barcode updates), or replacing a third-party multi-barcode scanner (AVFoundation `AVCaptureMetadataOutput` loops, ZXing.Net.Mobile, ZXing.Net) with MatrixScan Batch. If the project targets `net*-ios` and is **not** a MAUI app (`<UseMaui>true</UseMaui>`) and MatrixScan Batch (`BarcodeBatch`) is in play — including any question about upgrading the Scandit .NET iOS SDK — use this skill.
Use when MatrixScan, MatrixScan Batch, BarcodeBatch, or BarcodeTracking (legacy alias) are involved in a React Native project — whether the user mentions these names directly, or the codebase already uses BarcodeBatch* classes and something needs to be added, changed, fixed, or extended. This includes adding MatrixScan Batch to a new React Native app, configuring BarcodeBatchSettings and symbologies, wiring BarcodeBatchListener.didUpdateSession, customizing BarcodeBatchBasicOverlay with per-barcode brushes via brushForTrackedBarcode, adding AR annotations via BarcodeBatchAdvancedOverlay and a BarcodeBatchAdvancedOverlayView subclass, or managing lifecycle (enable/disable, cleanup on unmount, camera permissions). If the project is React Native and MatrixScan / BarcodeBatch is in play, use this skill.
Use when MatrixScan, MatrixScan Batch, BarcodeBatch, or BarcodeTracking (legacy alias) are involved in a web project — whether the user mentions these names directly, or the codebase already uses BarcodeBatch* classes and something needs to be added, changed, fixed, or extended. This includes adding MatrixScan Batch to a new web app, configuring BarcodeBatchSettings and symbologies, wiring BarcodeBatchListener.didUpdateSession, customizing BarcodeBatchBasicOverlay with per-barcode brushes, adding AR overlays via BarcodeBatchAdvancedOverlay and TrackedBarcodeView.withHTMLElement, managing lifecycle (enable/disable, cleanup, camera), or migrating BarcodeTracking to BarcodeBatch or upgrading between SDK versions (v6→v7, v7→v8). If the project is a web project and MatrixScan / BarcodeBatch is in play, use this skill.
Use when MatrixScan Count or BarcodeCount is involved in a Capacitor project — whether the user mentions MatrixScan Count or BarcodeCount directly, or the codebase already uses BarcodeCount* classes and something needs to be added, changed, fixed, or configured. This includes adding MatrixScan Count to a new Capacitor app, configuring symbologies, setting up BarcodeCountView with a DOM element, implementing a capture list, customizing view appearance, handling scan results, working with status mode, or troubleshooting BarcodeCount behavior. If the project is Capacitor and MatrixScan Count is in play, use this skill.
Use when MatrixScan Count (BarcodeCount) is involved in a Cordova project — whether the user mentions MatrixScan Count, BarcodeCount, count mode, scan-and-count, inventory count, receiving workflow, stock taking, scan against a list, capture list, status mode, or tap-to-uncount directly, or the codebase already uses BarcodeCount as its scanning mode and something needs to be added, changed, fixed, or built. This includes adding MatrixScan Count to a new Cordova app, configuring symbologies, mounting BarcodeCountView, customizing view properties (toolbar, hints, brushes, exit button, shutter button), building a capture list for expected-barcode workflows, using BarcodeCountStatusProvider for stock-status overlays, handling tap-to-uncount, enabling the hardware trigger, or troubleshooting BarcodeCount behavior. BarcodeCount is available on Cordova from plugin 6.24; the context-free constructor is ≥7.6; Status mode and Mapping flow are ≥8.3; Not-in-list action settings are ≥7.1. If the project is Cordova and MatrixScan Count / BarcodeCount is in play, use this skill.
Use when MatrixScan Count (BarcodeCount) is involved in a Flutter project — whether the user mentions MatrixScan Count, Barcode Count, or BarcodeCount directly, or the codebase already uses BarcodeCount as its multi-barcode counting library and something needs to be added, changed, fixed, or configured. This includes adding BarcodeCount to a new Flutter app, modifying scan settings, scanning against a target list, customizing the BarcodeCountView UI, wiring up status providers, or troubleshooting BarcodeCount behavior. If the project is Flutter and BarcodeCount (MatrixScan Count) is in play, use this skill.
Use when MatrixScan Count (`BarcodeCount*` / Barcode Count) is involved in a .NET MAUI project (`<UseMaui>true</UseMaui>`, target frameworks include `net*-android` and/or `net*-ios`, `Scandit.DataCapture.Barcode.Maui` NuGet) — whether the user mentions MatrixScan Count, Barcode Count, counting/receiving barcodes, or `BarcodeCount` directly, or the codebase already uses `BarcodeCount` as its high-volume barcode counting library and something needs to be added, changed, fixed, or migrated. This includes adding MatrixScan Count to a MAUI app, registering the `UseScanditCore().UseScanditBarcode(c => c.AddBarcodeCountView())` builder chain, declaring the `<scandit:BarcodeCountView>` XAML control (`Scandit.DataCapture.Barcode.Count.UI.Maui`), configuring `BarcodeCountSettings`, wiring `IBarcodeCountListener` or the `Scanned` event on a view model, hosting the camera frame source (`Camera` + `SetFrameSourceAsync`) and toggling `barcodeCount.Enabled` across the MAUI `OnAppearing`/`OnDisappearing` lifecycle, storing scanned barcodes from `BarcodeCountSession.RecognizedBarcodes`, implementing a capture/receiving list with `BarcodeCountCaptureList` + `TargetBarcode` + `IBarcodeCountCaptureListListener`, reading the spatial map (`BarcodeSpatialGrid`), customizing `BarcodeCountFeedback`, handling List/Exit/SingleScan button taps via the view's events (subscribed in `HandlerChanged`), customizing brushes via `IBarcodeCountViewListener`, the status mode (`IBarcodeCountStatusProvider`), the not-in-list action, upgrading or migrating between Scandit SDK versions (v6→v7, v7→v8, or any bump of the Scandit .NET MAUI SDK), troubleshooting `BarcodeCount` behavior in MAUI (black preview, builder-chain mismatches), or replacing a manual multi-barcode-counting approach with `BarcodeCount`. If the project has `<UseMaui>true</UseMaui>` and `BarcodeCount` is in play — including any question about upgrading the Scandit .NET MAUI SDK — use this skill.
Use when MatrixScan Count (`BarcodeCount*` / Barcode Count) is involved in a .NET for Android project (`net*-android` target framework, `Scandit.DataCapture.Barcode` NuGet) — whether the user mentions MatrixScan Count, Barcode Count, counting/receiving barcodes, or `BarcodeCount` directly, or the codebase already uses `BarcodeCount` as its high-volume barcode counting library and something needs to be added, changed, fixed, or migrated. This includes adding `BarcodeCount` to a new .NET Android app, configuring `BarcodeCountSettings`, wiring up `IBarcodeCountListener` or the `Scanned` event, hosting the counting UI with `BarcodeCountView` (`BarcodeCountViewStyle.Icon`/`Dot`), handling the camera frame source (`Camera` + `SetFrameSourceAsync`) and `barcodeCount.Enabled`, storing scanned barcodes from `BarcodeCountSession.RecognizedBarcodes`, implementing a capture/receiving list with `BarcodeCountCaptureList` + `TargetBarcode` + `IBarcodeCountCaptureListListener`, reading the spatial map (`BarcodeSpatialGrid`), customizing `BarcodeCountFeedback`, handling List/Exit/SingleScan button taps, customizing brushes via `IBarcodeCountViewListener`, the status mode (`IBarcodeCountStatusProvider`), the not-in-list action, upgrading or migrating between Scandit SDK versions (v6→v7, v7→v8, or any bump of the Scandit .NET SDK), troubleshooting `BarcodeCount` behavior, or replacing a manual multi-barcode-counting approach with `BarcodeCount`. If the project targets `net*-android` and is **not** a MAUI app (`<UseMaui>true</UseMaui>`) and `BarcodeCount` is in play — including any question about upgrading the Scandit .NET Android SDK — use this skill.
Use when MatrixScan Count (`BarcodeCount*` / Barcode Count) is involved in a .NET for iOS project (`net*-ios` target framework, `Scandit.DataCapture.Barcode` NuGet) — whether the user mentions MatrixScan Count, Barcode Count, counting/receiving barcodes, or `BarcodeCount` directly, or the codebase already uses `BarcodeCount` as its high-volume barcode counting library and something needs to be added, changed, fixed, or migrated. This includes adding `BarcodeCount` to a new .NET iOS app, configuring `BarcodeCountSettings`, wiring up `IBarcodeCountListener` or the `Scanned` event, hosting the counting UI with `BarcodeCountView` (`BarcodeCountViewStyle.Icon`/`Dot`) inside a `UIViewController`, handling the camera frame source (`Camera` + `SetFrameSourceAsync`) and `barcodeCount.Enabled` across `ViewWillAppear`/`ViewWillDisappear`, storing scanned barcodes from `BarcodeCountSession.RecognizedBarcodes`, implementing a capture/receiving list with `BarcodeCountCaptureList` + `TargetBarcode` + `IBarcodeCountCaptureListListener`, reading the spatial map (`BarcodeSpatialGrid`), customizing `BarcodeCountFeedback`, handling List/Exit/SingleScan button taps, customizing brushes via `IBarcodeCountViewListener`, the status mode (`IBarcodeCountStatusProvider`), the not-in-list action, the hardware trigger (`HardwareTriggerEnabled`), upgrading or migrating between Scandit SDK versions (v6→v7, v7→v8, or any bump of the Scandit .NET SDK), troubleshooting `BarcodeCount` behavior, or replacing a manual multi-barcode-counting approach with `BarcodeCount`. If the project targets `net*-ios` and is **not** a MAUI app (`<UseMaui>true</UseMaui>`) and `BarcodeCount` is in play — including any question about upgrading the Scandit .NET iOS SDK — use this skill.
Use when MatrixScan Count, Barcode Count, counting workflow, or scan-and-count are involved in a React Native project — whether the user mentions MatrixScan Count or BarcodeCount directly, or the codebase already uses BarcodeCount* classes and something needs to be added, changed, fixed, or extended. This includes adding MatrixScan Count to a new React Native app, configuring BarcodeCountSettings and symbologies, wiring BarcodeCountCaptureList for scanning against a list of expected barcodes, customizing BarcodeCountView (visibility toggles, brushes, hint text, accessibility, hardware triggers), wiring BarcodeCountViewListener and BarcodeCountViewUiListener, implementing BarcodeCountStatusProvider for per-barcode status overlays, handling BarcodeCountFeedback, or troubleshooting BarcodeCount* behavior. If the project is React Native and MatrixScan Count / BarcodeCount is in play, use this skill.
Use when MatrixScan Pick is involved in an iOS project — whether the user mentions MatrixScan Pick directly, or the codebase already uses MatrixScan Pick and the picking flow needs changes. This includes adding MatrixScan Pick to an app for the first time, adjusting the DataCaptureContext, BarcodePick mode, BarcodePickSettings (symbologies, picking behavior such as auto-pick vs tap-to-pick), BarcodePickView, BarcodePickViewSettings, the product provider (BarcodePickAsyncMapperProductProvider), highlight configuration and styling (the highlight styles — dot, rectangular, with-icons, and CustomView — plus per-state brushes, icons, and status-icon badges), the finish button and handler, sound/haptic feedback, camera settings, or control visibility on an existing MatrixScan Pick integration. If the project is iOS and MatrixScan Pick is in play, use this skill.
Use when SparkScan is involved in an Android project — whether the user mentions SparkScan directly, or the codebase already uses SparkScan as its barcode scanning library and something needs to be added, changed, fixed, or migrated. This includes adding SparkScan to a new Android app, modifying scan settings, handling scan results, customizing the SparkScan UI, upgrading between SDK versions, troubleshooting SparkScan behavior, or replacing a third-party barcode scanning library with SparkScan. If the project is Android and SparkScan is in play, use this skill.
Use when SparkScan is involved in a Capacitor project — whether the user mentions SparkScan directly, or the codebase already uses SparkScan as its barcode scanning library and something needs to be added, changed, fixed, or migrated. This includes adding SparkScan to a new Capacitor app, modifying scan settings, handling scan results, customizing the SparkScan UI, upgrading between SDK versions, or troubleshooting SparkScan behavior. If the project is Capacitor and SparkScan is in play, use this skill.
Use when SparkScan is involved in a Cordova project — whether the user mentions SparkScan directly, or the codebase already uses SparkScan as its barcode scanning library and something needs to be added, changed, fixed, or migrated. This includes adding SparkScan to a new Cordova app, modifying scan settings, handling scan results, customizing the SparkScan UI, upgrading between SDK versions, or troubleshooting SparkScan behavior. If the project is Cordova and SparkScan is in play, use this skill.
Use when SparkScan is involved in a Flutter project — whether the user mentions SparkScan directly, or the codebase already uses SparkScan as its barcode scanning library and something needs to be added, changed, fixed, or migrated. This includes adding SparkScan to a new Flutter app, modifying scan settings, handling scan results, customizing the SparkScan UI, upgrading between SDK versions, or troubleshooting SparkScan behavior. If the project is Flutter and SparkScan is in play, use this skill.
Use when SparkScan is involved in an iOS project — whether the user mentions SparkScan directly, or the codebase already uses SparkScan as its barcode scanning library and something needs to be added, changed, fixed, or migrated. This includes adding SparkScan to a new iOS app, modifying scan settings, handling scan results, customizing the SparkScan UI, upgrading between SDK versions, troubleshooting SparkScan behavior, or replacing a third-party barcode scanning library with SparkScan. If the project is iOS and SparkScan is in play, use this skill.
Use when SparkScan is involved in a .NET MAUI project (`<UseMaui>true</UseMaui>`, `Scandit.DataCapture.Barcode.Maui` NuGet) — whether the user mentions SparkScan directly, or the codebase already uses SparkScan as its barcode scanning UI and something needs to be added, changed, fixed, or migrated. This includes adding SparkScan to a new MAUI app, registering the `UseScanditCore().UseScanditBarcode(c => c.AddSparkScanView())` builder chain, declaring `<scandit:SparkScanView>` in XAML, configuring `SparkScanSettings`/`SparkScanViewSettings`, wiring the `BarcodeScanned` event on the view model, customizing feedback through `ISparkScanFeedbackDelegate` (`SparkScanBarcodeSuccessFeedback`/`SparkScanBarcodeErrorFeedback`), forwarding `OnAppearing`/`OnDisappearing` into the SparkScan MAUI control, upgrading or migrating between Scandit SDK versions (v6→v7, v7→v8, or any bump of the Scandit .NET SDK), troubleshooting SparkScan behavior in MAUI (black preview, builder-chain mismatches), or replacing a third-party MAUI barcode scanning library (ZXing.Net.Maui, BarcodeScanning.Native.Maui) with SparkScan. If the project file has `<UseMaui>true</UseMaui>` and SparkScan is in play — including any question about upgrading the Scandit .NET MAUI SDK — use this skill.
Use when SparkScan is involved in a .NET for Android project (`net*-android` target framework, `Scandit.DataCapture.Barcode` NuGet) — whether the user mentions SparkScan directly, or the codebase already uses SparkScan as its barcode scanning UI and something needs to be added, changed, fixed, or migrated. This includes adding SparkScan to a new .NET Android app, configuring `SparkScanSettings`/`SparkScanViewSettings`, wiring up `ISparkScanListener` or the `BarcodeScanned` event, customizing feedback through `ISparkScanFeedbackDelegate` (`SparkScanBarcodeSuccessFeedback`/`SparkScanBarcodeErrorFeedback`), handling the `OnResume`/`OnPause` lifecycle on `SparkScanView`, hooking up `SparkScanCoordinatorLayout`, upgrading or migrating between Scandit SDK versions (v6→v7, v7→v8, or any bump of the Scandit .NET SDK), troubleshooting SparkScan behavior, or replacing a third-party barcode scanning library (ZXing.Net.Mobile, ZXing.Net, Google ML Kit bindings) with SparkScan. If the project targets `net*-android` and is **not** a MAUI app (`<UseMaui>true</UseMaui>`) and SparkScan is in play — including any question about upgrading the Scandit .NET Android SDK — use this skill.
Use when SparkScan is involved in a .NET for iOS project (`net*-ios` target framework, `Scandit.DataCapture.Barcode` NuGet) — whether the user mentions SparkScan directly, or the codebase already uses SparkScan as its barcode scanning UI and something needs to be added, changed, fixed, or migrated. This includes adding SparkScan to a new .NET iOS app, configuring `SparkScanSettings`/`SparkScanViewSettings`, wiring up `ISparkScanListener` or the `BarcodeScanned` event, customizing feedback through `ISparkScanFeedbackDelegate` (`SparkScanBarcodeSuccessFeedback`/`SparkScanBarcodeErrorFeedback`), handling the `PrepareScanning`/`StopScanning` lifecycle on `SparkScanView`, upgrading or migrating between Scandit SDK versions (v6→v7, v7→v8, or any bump of the Scandit .NET SDK), troubleshooting SparkScan behavior, or replacing a third-party barcode scanning library (ZXing.Net.Mobile, AVFoundation `AVCaptureMetadataOutput`) with SparkScan. If the project targets `net*-ios` and is **not** a MAUI app (`<UseMaui>true</UseMaui>`) and SparkScan is in play — including any question about upgrading the Scandit .NET iOS SDK — use this skill.
Use when SparkScan is involved in a React Native project — whether the user mentions SparkScan directly, or the codebase already uses SparkScan as its barcode scanning library and something needs to be added, changed, fixed, or migrated. This includes adding SparkScan to a new React Native app, modifying scan settings, handling scan results, customizing the SparkScan UI, upgrading between SDK versions, or troubleshooting SparkScan behavior. If the project is React Native and SparkScan is in play, use this skill.
Use when SparkScan is involved in an web project — whether the user mentions SparkScan directly, or the codebase already uses SparkScan as its barcode scanning library and something needs to be added, changed, fixed, or migrated. This includes adding SparkScan to a new web app, modifying scan settings, handling scan results, customizing the SparkScan UI, upgrading between SDK versions, or troubleshooting SparkScan behavior. If the project is a web project and SparkScan is in play, use this skill.