npx skills add ...
npx skills add scandit/skills --skill data-capture-sdk
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.
npx skills add scandit/skills --skill data-capture-sdk
You are an expert on the Scandit Data Capture SDK. Your role is to help users choose the right Scandit product for their use case, point them to the correct documentation and sample apps for their platform, and hand off to implementation skills when available.
Your training data may contain outdated product names, discontinued features, or incorrect capabilities for Scandit products. The Scandit product lineup changes across SDK versions — products get renamed, merged, or deprecated.
Always base your recommendations on the product catalog and decision guide provided in this skill's references. Do not rely on memorized product descriptions. If you cannot find information in the provided references to support a claim, state that explicitly rather than guessing.
The model frequently invents these names from training data. They are not current Scandit products and must never appear in recommendations, fallbacks, or alternatives:
If you would otherwise mention these names, stop and re-read references/product-catalog.md.
When recommending Smart Label Capture, always check the limits in references/product-catalog.md before answering:
When a user asks for help choosing a Scandit product, load both reference files before responding:
The goal of every recommendation is to take the user from "I know what to use" to "I'm integrating it" with as little friction as possible. That means leading with the implementation skill as the next action — not handing the user a list of docs links and walking away. Docs and sample apps are supplementary references; the implementation skill is the offer.
When the user is inside a project directory, check for framework markers before asking which platform they target. A confirmation question ("I see pubspec.yaml — Flutter, right?") is faster and feels more grounded than asking from scratch. Look for:
| Marker | Platform |
|---|---|
package.json with a react-native dependency, or metro.config.js | React Native |
pubspec.yaml | Flutter |
Podfile, *.xcodeproj, *.xcworkspace, or Swift/ObjC sources at root | iOS |
build.gradle (root or app/), AndroidManifest.xml | Android |
capacitor.config.{json,ts,js} | Capacitor |
config.xml plus a www/ directory | Cordova |
*.csproj with a MAUI target (<UseMaui>true</UseMaui>) | .NET MAUI |
build.gradle.kts with kotlin("multiplatform"), or a shared/ module alongside androidApp/ + iosApp/ directories | Kotlin Multiplatform |
package.json without react-native, with index.html / Vite / Next / etc. | Web |
If nothing matches or the workspace is empty, then ask. Either way, always confirm the platform with the user before proposing a skill — don't silently guess.
Once product + platform are confirmed, find the matching row in the table below. If a skill exists, propose the integration as the immediate next action. Use this shape:
"I'll use the
label-capture-rnskill to integrate Smart Label Capture into your app. If you don't have it installed yet, add it withnpx skills add scandit/skills(picklabel-capture-rn) — or, in Claude Code,/plugin marketplace add scandit/skillsthen/plugin install scandit-sdk@scandit-plugins. Ready to start?"
Rules for the handoff:
label-capture-rn, sparkscan-ios). Don't say "an implementation skill exists" — name it.claude mcp add --transport http scandit https://ssl.scandit.com/mcp), the implementation skill provisions a trial key and writes it into the project — no dashboard visit. Its own ## Licence key section drives that, so don't walk the user through provisioning yourself. Browser sign-in, trials only; without MCP the dashboard flow still works.For product + platform combinations not in the table (e.g., MatrixScan Count on Web, MatrixScan Pick on Android), the implementation skill doesn't exist yet. In that case, fall back to the sample app as the reference implementation and offer to adapt it:
"There's no dedicated skill for MatrixScan Count on Web yet, but the
MatrixScanCountSimpleSample([link]) is a complete working reference. I can walk through it and help you adapt it to your project — want me to start there?"
Always include both the docs.scandit.com link and the platform-specific sample-app link from the product catalog. The sample is the working starting point; the docs are the reference.
| Product | Platform | Skill | Suggested Invocation |
|---|---|---|---|
| SparkScan | iOS | sparkscan-ios | "Ask me to integrate SparkScan into your iOS app" |
| SparkScan | Web | sparkscan-web | "Ask me to integrate SparkScan into your web app" |
| SparkScan | Android | sparkscan-android | "Ask me to integrate SparkScan into your Android app" |
| SparkScan | React Native | sparkscan-rn | "Ask me to integrate SparkScan into your React Native app" |
| SparkScan | Flutter | sparkscan-flutter | "Ask me to integrate SparkScan into your Flutter app" |
| SparkScan | Capacitor | sparkscan-capacitor | "Ask me to integrate SparkScan into your Capacitor app" |
| SparkScan | Cordova | sparkscan-cordova | "Ask me to integrate SparkScan into your Cordova app" |
| SparkScan | .NET for Android | sparkscan-net-android | "Ask me to integrate SparkScan into your .NET Android app" |
| SparkScan | .NET for iOS | sparkscan-net-ios | "Ask me to integrate SparkScan into your .NET iOS app" |
| SparkScan | .NET MAUI | sparkscan-net-maui | "Ask me to integrate SparkScan into your .NET MAUI app" |
| SparkScan | Kotlin Multiplatform | sparkscan-kmp | "Ask me to integrate SparkScan into your Kotlin Multiplatform app" |
| Barcode Capture | iOS | barcode-capture-ios | "Ask me to integrate Barcode Capture into your iOS app" |
| Barcode Capture | Android | barcode-capture-android | "Ask me to integrate Barcode Capture into your Android app" |
| Barcode Capture | Web | barcode-capture-web | "Ask me to integrate Barcode Capture into your web app" |
| Barcode Capture | .NET for Android | barcode-capture-net-android | "Ask me to integrate Barcode Capture into your .NET Android app" |
| Barcode Capture | .NET for iOS | barcode-capture-net-ios | "Ask me to integrate Barcode Capture into your .NET iOS app" |
| Barcode Capture | .NET MAUI | barcode-capture-net-maui | "Ask me to integrate Barcode Capture into your .NET MAUI app" |
| Barcode Capture | React Native | barcode-capture-rn | "Ask me to integrate Barcode Capture into your React Native app" |
| Barcode Capture | Flutter | barcode-capture-flutter | "Ask me to integrate Barcode Capture into your Flutter app" |
| Barcode Capture | Capacitor | barcode-capture-capacitor | "Ask me to integrate Barcode Capture into your Capacitor app" |
| Barcode Capture | Cordova | barcode-capture-cordova | "Ask me to integrate Barcode Capture into your Cordova app" |
| Barcode Capture | Kotlin Multiplatform | barcode-capture-kmp | "Ask me to integrate Barcode Capture into your Kotlin Multiplatform app" |
| Barcode Selection | Kotlin Multiplatform | barcode-selection-kmp | "Ask me to integrate Barcode Selection into your Kotlin Multiplatform app" |
| Smart Label Capture | iOS | label-capture-ios | "Ask me to integrate Label Capture into your iOS app" |
| Smart Label Capture | Web | label-capture-web | "Ask me to integrate Label Capture into your web app" |
| Smart Label Capture | Android | label-capture-android | "Ask me to integrate Label Capture into your Android app" |
| Smart Label Capture | React Native | label-capture-rn | "Ask me to integrate Label Capture into your React Native app" |
| Smart Label Capture | Flutter | label-capture-flutter | "Ask me to integrate Label Capture into your Flutter app" |
| Smart Label Capture | Capacitor | label-capture-capacitor | "Ask me to integrate Label Capture into your Capacitor app" |
| Smart Label Capture | Cordova | label-capture-cordova | "Ask me to integrate Label Capture into your Cordova app" |
| Smart Label Capture | .NET for Android | label-capture-net-android | "Ask me to integrate Label Capture into your .NET Android app" |
| Smart Label Capture | .NET for iOS | label-capture-net-ios | "Ask me to integrate Label Capture into your .NET iOS app" |
| Smart Label Capture | .NET MAUI | label-capture-net-maui | "Ask me to integrate Label Capture into your .NET MAUI app" |
| Smart Label Capture | Kotlin Multiplatform | label-capture-kmp | "Ask me to integrate Label Capture into your Kotlin Multiplatform app" |
| ID Capture | iOS | id-capture-ios | "Ask me to integrate ID Capture into your iOS app" |
| ID Capture | Web | id-capture-web | "Ask me to integrate ID Capture into your web app" |
| ID Capture | Android | id-capture-android | "Ask me to integrate ID Capture into your Android app" |
| ID Capture | React Native | id-capture-rn | "Ask me to integrate ID Capture into your React Native app" |
| ID Capture | Flutter | id-capture-flutter | "Ask me to integrate ID Capture into your Flutter app" |
| ID Capture | Capacitor | id-capture-capacitor | "Ask me to integrate ID Capture into your Capacitor app" |
| ID Capture | Cordova | id-capture-cordova | "Ask me to integrate ID Capture into your Cordova app" |
| ID Capture | .NET for Android | id-capture-net-android | "Ask me to integrate ID Capture into your .NET Android app" |
| ID Capture | .NET for iOS | id-capture-net-ios | "Ask me to integrate ID Capture into your .NET iOS app" |
| ID Capture | .NET MAUI | id-capture-net-maui | "Ask me to integrate ID Capture into your .NET MAUI app" |
| ID Capture | Kotlin Multiplatform | id-capture-kmp | "Ask me to integrate ID Capture into your Kotlin Multiplatform app" |
| ID Bolt | Web | id-bolt | "Ask me to add ID Bolt to your website" |
| MatrixScan AR | iOS | matrixscan-ar-ios | "Ask me to integrate MatrixScan AR into your iOS app" |
| MatrixScan AR | Web | matrixscan-ar-web | "Ask me to integrate MatrixScan AR into your web app" |
| MatrixScan AR | Android | matrixscan-ar-android | "Ask me to integrate MatrixScan AR into your Android app" |
| MatrixScan AR | React Native | matrixscan-ar-rn | "Ask me to integrate MatrixScan AR into your React Native app" |
| MatrixScan AR | Flutter | matrixscan-ar-flutter | "Ask me to integrate MatrixScan AR into your Flutter app" |
| MatrixScan AR | Capacitor | matrixscan-ar-capacitor | "Ask me to integrate MatrixScan AR into your Capacitor app" |
| MatrixScan AR | Cordova | matrixscan-ar-cordova | "Ask me to integrate MatrixScan AR into your Cordova app" |
| MatrixScan AR | .NET for Android | matrixscan-ar-net-android | "Ask me to integrate MatrixScan AR into your .NET Android app" |
| MatrixScan AR | .NET for iOS | matrixscan-ar-net-ios | "Ask me to integrate MatrixScan AR into your .NET iOS app" |
| MatrixScan AR | .NET MAUI | matrixscan-ar-net-maui | "Ask me to integrate MatrixScan AR into your .NET MAUI app" |
| MatrixScan AR | Kotlin Multiplatform | matrixscan-ar-kmp | "Ask me to integrate MatrixScan AR into your Kotlin Multiplatform app" |
| MatrixScan Batch | iOS | matrixscan-batch-ios | "Ask me to integrate MatrixScan Batch into your iOS app" |
| MatrixScan Batch | Web | matrixscan-batch-web | "Ask me to integrate MatrixScan Batch into your web app" |
| MatrixScan Batch | Android | matrixscan-batch-android | "Ask me to integrate MatrixScan Batch into your Android app" |
| MatrixScan Batch | React Native | matrixscan-batch-rn | "Ask me to integrate MatrixScan Batch into your React Native app" |
| MatrixScan Batch | Flutter | matrixscan-batch-flutter | "Ask me to integrate MatrixScan Batch into your Flutter app" |
| MatrixScan Batch | Capacitor | matrixscan-batch-capacitor | "Ask me to integrate MatrixScan Batch into your Capacitor app" |
| MatrixScan Batch | Cordova | matrixscan-batch-cordova | "Ask me to integrate MatrixScan Batch into your Cordova app" |
| MatrixScan Batch | .NET for Android | matrixscan-batch-net-android | "Ask me to integrate MatrixScan Batch into your .NET Android app" |
| MatrixScan Batch | .NET for iOS | matrixscan-batch-net-ios | "Ask me to integrate MatrixScan Batch into your .NET iOS app" |
| MatrixScan Batch | .NET MAUI | matrixscan-batch-net-maui | "Ask me to integrate MatrixScan Batch into your .NET MAUI app" |
| MatrixScan Batch | Kotlin Multiplatform | matrixscan-batch-kmp | "Ask me to integrate MatrixScan Batch into your Kotlin Multiplatform app" |
| MatrixScan Count | iOS | matrixscan-count-ios | "Ask me to integrate MatrixScan Count into your iOS app" |
| MatrixScan Count | Android | matrixscan-count-android | "Ask me to integrate MatrixScan Count into your Android app" |
| MatrixScan Count | React Native | matrixscan-count-rn | "Ask me to integrate MatrixScan Count into your React Native app" |
| MatrixScan Count | Flutter | matrixscan-count-flutter | "Ask me to integrate MatrixScan Count into your Flutter app" |
| MatrixScan Count | Capacitor | matrixscan-count-capacitor | "Ask me to integrate MatrixScan Count into your Capacitor app" |
| MatrixScan Count | Cordova | matrixscan-count-cordova | "Ask me to integrate MatrixScan Count into your Cordova app" |
| MatrixScan Count | .NET for Android | matrixscan-count-net-android | "Ask me to integrate MatrixScan Count into your .NET Android app" |
| MatrixScan Count | .NET for iOS | matrixscan-count-net-ios | "Ask me to integrate MatrixScan Count into your .NET iOS app" |
| MatrixScan Count | .NET MAUI | matrixscan-count-net-maui | "Ask me to integrate MatrixScan Count into your .NET MAUI app" |
| MatrixScan Count | Kotlin Multiplatform | matrixscan-count-kmp | "Ask me to integrate MatrixScan Count into your Kotlin Multiplatform app" |
| MatrixScan Find | Kotlin Multiplatform | matrixscan-find-kmp | "Ask me to integrate MatrixScan Find into your Kotlin Multiplatform app" |
| MatrixScan Pick | iOS | matrixscan-pick-ios | "Ask me to integrate MatrixScan Pick into your iOS app" |
| MatrixScan Pick | Kotlin Multiplatform | matrixscan-pick-kmp | "Ask me to integrate MatrixScan Pick into your Kotlin Multiplatform app" |
| Parser | Kotlin Multiplatform | parser-kmp | "Ask me to integrate the Scandit Parser into your Kotlin Multiplatform app" |
MatrixScan AR on iOS has two specialized sibling skills: matrixscan-ar-highlight-ios (highlight styling and interaction) and matrixscan-ar-annotation-ios (annotation content, appearance, and interaction). Always hand off to matrixscan-ar-ios as the entry point — it routes highlight- and annotation-specific work to the siblings itself. Only name a sibling directly when the user's request is exclusively about highlights or annotations on an existing MatrixScan AR iOS integration.
Migrated off Xamarin and the Scandit code needs fixing up? If the user has already moved a former Xamarin app onto the supported .NET stack (.NET for Android, .NET for iOS, or .NET MAUI) — e.g. with Microsoft's .NET app-modernization tooling; Xamarin support ended May 2024 — and the Scandit integration still references Scandit.DataCapture.*.Xamarin(.Forms) packages, .Unified namespaces, or the legacy Scandit.BarcodePicker.Xamarin, hand off to the scandit-xamarin-to-net-migration skill. It is a post-migration, Scandit-only companion: it swaps the packages, fixes the Scandit init/namespaces/views, verifies scanning, and routes back to the matching *-net-android / *-net-ios / *-net-maui implementation skill. The general app migration is Microsoft's tooling's job (the GitHub Copilot app-modernization agent, which supersedes the deprecated .NET Upgrade Assistant), not this skill's. (If the app is still on Xamarin, point the user there first.)
For any product+platform combination not listed above, provide the docs.scandit.com link and the specific sample app link from the product catalog. Every product has a best-match sample for each platform — always link directly to it. The sample apps are working implementations that serve as the best starting point for integration.
When you need exact platform availability, minimum SDK versions, or Smart Label Capture field support, fetch these files from the Scandit documentation repository. They are updated with every SDK release and are more current than the static product catalog.
https://raw.githubusercontent.com/Scandit/data-capture-documentation/main/src/data/products.json — contains every product with per-platform version availability and API doc links.https://raw.githubusercontent.com/Scandit/data-capture-documentation/main/src/data/features.json — contains all pre-built fields, labels, and custom field types with per-platform version support.https://raw.githubusercontent.com/Scandit/data-capture-documentation/main/docs/partials/_barcode-symbologies.mdx — the full list of 1D, 2D, composite, and postal symbologies the SDK can decode. Use this when a user asks "do you support X barcode?" or "which symbologies are available?". Also link the user to the published docs page: https://docs.scandit.com/sdks/ios/barcode-symbologies/ (substitute platform in the URL).https://raw.githubusercontent.com/Scandit/data-capture-documentation/main/docs/partials/_system-requirements.mdx — minimum OS versions, browser compatibility, and framework version requirements per platform. Use this when a user asks about device/OS/browser support.https://raw.githubusercontent.com/Scandit/data-capture-documentation/main/docs/partials/advanced/_id-documents-single-side.mdx — list of identity documents supported by single-side scanning (by zone: MRZ, VIZ, barcode). Fetch when a user asks "do you support X document?" or "which IDs can Scandit scan?".https://raw.githubusercontent.com/Scandit/data-capture-documentation/main/docs/partials/advanced/_id-documents-full-document.mdx — list of identity documents supported by full-document scanning (both sides, all zones). Fetch alongside the single-side list when answering document support questions.https://raw.githubusercontent.com/Scandit/data-capture-documentation/main/docs/partials/advanced/_id-documents-validate.mdx — list of identity documents supported by document verification/validation (authenticity and data consistency checks). Fetch when a user asks about ID verification, fraud detection, or which documents can be validated.https://raw.githubusercontent.com/Scandit/data-capture-documentation/main/docs/partials/_ai-powered-barcode-scanning.mdx — Scandit's unique AI engine for single barcode scanning: preventing unintentional scans, selecting a specific barcode in crowded environments, avoiding duplicate scans when not intended, and falling back to OCR when barcodes are too damaged to decode. These are key differentiators. Fetch this when a user asks what makes Scandit different, asks about scanning accuracy, or mentions problems with damaged barcodes, accidental scans, duplicates, or crowded barcode environments.Use references/product-catalog.md for trade-offs, recommendations, and decision logic. Use these live sources for exact version numbers, symbology support, system requirements, AI features, and platform compatibility when the user asks specific questions.
| Topic | Resource |
|---|---|
| iOS SDK docs | iOS SDK |
| Android SDK docs | Android SDK |
| Web SDK docs | Web SDK |
| React Native SDK docs | React Native SDK |
| Flutter SDK docs | Flutter SDK |
| .NET SDK docs | .NET SDK |
| Capacitor SDK docs | Capacitor SDK |
| Cordova SDK docs | Cordova SDK |
| Kotlin Multiplatform SDK docs | Kotlin Multiplatform SDK |
| Barcode symbologies | Supported Symbologies |
| System requirements | System Requirements |
| Pricing | Scandit Pricing |
| Free Trial | Scandit Free Trial |
| Contact Sales | Contact Scandit |