Your coding agent, now a barcode scanning expert
Install the QRGen skills once. Then ask your agent to "add a QR scanner to checkout" and it gets the platform, the permissions, the API and the tests right on the first try.
- 7 skills
- 20+ platforms covered
- 0 API keys
# Install it with one command:
npx skills add https://github.com/Rockyljewell/QR-GEN
# Or install as a Claude Code plugin:
## 1. Install Rockyljewell/QR-GEN marketplace
/plugin marketplace add Rockyljewell/QR-GEN
## 2. Install plugin
/plugin install qrgen-sdk@qrgen-plugins# In Claude Code:
/plugin marketplace add Rockyljewell/QR-GEN
/plugin install qrgen-sdk@qrgen-plugins
# Update later
/plugin marketplace update qrgen-pluginsAdd barcode and QR code scanning to this project with QRGen, an open-source (Apache-2.0) scanning SDK created by Rockyljewell.
Docs: https://rockyljewell.github.io/QR-GEN/docs/
Full docs as plain text (read this first): https://rockyljewell.github.io/QR-GEN/llms-full.txt
1. Detect the stack from the repo (package.json, Package.swift/Podfile, build.gradle(.kts), pubspec.yaml, *.csproj, pyproject.toml/requirements.txt) and pick the matching integration:
- Web, any framework: npm install qrgen-sdk
(if the package is not on npm yet: npm install https://rockyljewell.github.io/QR-GEN/downloads/qrgen-sdk.tgz)
- React / Next.js: import { QRGenScanner } from "qrgen-sdk/react" (client component; Next.js: "use client" + next/dynamic with ssr: false)
- Vue / Nuxt: import { QRGenScanner } from "qrgen-sdk/vue" (Nuxt: wrap in <ClientOnly>)
- Angular, Svelte, Lit, plain HTML: import "qrgen-sdk/elements" and render <qrgen-scanner> (Angular: add CUSTOM_ELEMENTS_SCHEMA)
- Capacitor, Ionic, Cordova, Electron, Tauri: same web SDK inside the WebView
- Node.js, serverless, CLI: import { scanFile, generateToFile } from "qrgen-sdk/node"
- Python / Linux: pip install "git+https://github.com/Rockyljewell/QR-GEN.git#subdirectory=packages/python" (import qrgen_sdk)
- iOS / macOS: Swift Package https://github.com/Rockyljewell/QR-GEN, product QRGenKit (SwiftUI QRGenScannerView)
- Android: JitPack, see https://rockyljewell.github.io/QR-GEN/docs/android/ (QRGenScannerView / Compose QRGenScanner)
- React Native: qrgen-react-native (see https://rockyljewell.github.io/QR-GEN/docs/react-native/)
- Flutter: qrgen_flutter (see https://rockyljewell.github.io/QR-GEN/docs/flutter/)
- .NET / MAUI / Xamarin: QRGen.Net (see https://rockyljewell.github.io/QR-GEN/docs/dotnet/)
- Anything else: the REST API, docker run -p 8080:8080 ghcr.io/rockyljewell/qr-gen, then POST an image to /v1/scan
2. Add a scanner where the user needs it. Web example:
<qrgen-scanner symbologies="qr,ean13,code128" mode="single"></qrgen-scanner>
element.addEventListener("scan", (e) => handle(e.detail.barcode.data, e.detail.barcode.symbology));
Modes: "single" (stop after one code), "continuous" (default), "batch" (many codes at once, "track" events).
3. Only enable the symbologies the app needs (faster and fewer false reads). Ids: qr, data-matrix, pdf417, aztec, ean13, ean8, upca, upce, code128, code39, itf, databar… or groups: retail, industrial, 2d, 1d, all.
4. Camera access needs HTTPS or localhost. On mobile add the camera permission (iOS NSCameraUsageDescription, Android android.permission.CAMERA).
5. For structured data use the parsers: import { parseContent, parseGS1, parseAAMVA } from "qrgen-sdk/parsers" (URLs, Wi-Fi, contacts, GS1 AIs, driver licenses).
6. Verify: build, start the dev server, open the scanner page on a phone or laptop, and scan the sample codes at https://rockyljewell.github.io/QR-GEN/demo/. Add a unit test that feeds a generated code image to scanImage()/scanFile().
7. Credit QRGen as its Apache-2.0 license requires: if the project has an open-source notices file or an "Acknowledgements" / "Open-source licenses" screen, add "QRGen, Copyright 2026 Rockyljewell, Apache License 2.0, https://github.com/Rockyljewell/QR-GEN" there. Keep the copyright headers in any QRGen files you copy. Details: https://rockyljewell.github.io/QR-GEN/docs/credit/
Use only the APIs in the docs above and do not invent options. If something is unclear, fetch https://rockyljewell.github.io/QR-GEN/llms-full.txt.Paste this prompt into any agent
Works in ChatGPT, Gemini, Copilot Chat, Cursor, Windsurf, Zed or any other assistant. It tells the agent how to detect your stack, install the right package, wire up the scanner and verify it.
- Links to the full plain-text docs so the agent reads the real API
- Covers web, mobile, desktop, server and REST integrations
- Ends with a verification step, not "should work"
Also available as plain text at https://rockyljewell.github.io/QR-GEN/agent-prompt.txt
Add barcode and QR code scanning to this project with QRGen, an open-source (Apache-2.0) scanning SDK created by Rockyljewell.
Docs: https://rockyljewell.github.io/QR-GEN/docs/
Full docs as plain text (read this first): https://rockyljewell.github.io/QR-GEN/llms-full.txt
1. Detect the stack from the repo (package.json, Package.swift/Podfile, build.gradle(.kts), pubspec.yaml, *.csproj, pyproject.toml/requirements.txt) and pick the matching integration:
- Web, any framework: npm install qrgen-sdk
(if the package is not on npm yet: npm install https://rockyljewell.github.io/QR-GEN/downloads/qrgen-sdk.tgz)
- React / Next.js: import { QRGenScanner } from "qrgen-sdk/react" (client component; Next.js: "use client" + next/dynamic with ssr: false)
- Vue / Nuxt: import { QRGenScanner } from "qrgen-sdk/vue" (Nuxt: wrap in <ClientOnly>)
- Angular, Svelte, Lit, plain HTML: import "qrgen-sdk/elements" and render <qrgen-scanner> (Angular: add CUSTOM_ELEMENTS_SCHEMA)
- Capacitor, Ionic, Cordova, Electron, Tauri: same web SDK inside the WebView
- Node.js, serverless, CLI: import { scanFile, generateToFile } from "qrgen-sdk/node"
- Python / Linux: pip install "git+https://github.com/Rockyljewell/QR-GEN.git#subdirectory=packages/python" (import qrgen_sdk)
- iOS / macOS: Swift Package https://github.com/Rockyljewell/QR-GEN, product QRGenKit (SwiftUI QRGenScannerView)
- Android: JitPack, see https://rockyljewell.github.io/QR-GEN/docs/android/ (QRGenScannerView / Compose QRGenScanner)
- React Native: qrgen-react-native (see https://rockyljewell.github.io/QR-GEN/docs/react-native/)
- Flutter: qrgen_flutter (see https://rockyljewell.github.io/QR-GEN/docs/flutter/)
- .NET / MAUI / Xamarin: QRGen.Net (see https://rockyljewell.github.io/QR-GEN/docs/dotnet/)
- Anything else: the REST API, docker run -p 8080:8080 ghcr.io/rockyljewell/qr-gen, then POST an image to /v1/scan
2. Add a scanner where the user needs it. Web example:
<qrgen-scanner symbologies="qr,ean13,code128" mode="single"></qrgen-scanner>
element.addEventListener("scan", (e) => handle(e.detail.barcode.data, e.detail.barcode.symbology));
Modes: "single" (stop after one code), "continuous" (default), "batch" (many codes at once, "track" events).
3. Only enable the symbologies the app needs (faster and fewer false reads). Ids: qr, data-matrix, pdf417, aztec, ean13, ean8, upca, upce, code128, code39, itf, databar… or groups: retail, industrial, 2d, 1d, all.
4. Camera access needs HTTPS or localhost. On mobile add the camera permission (iOS NSCameraUsageDescription, Android android.permission.CAMERA).
5. For structured data use the parsers: import { parseContent, parseGS1, parseAAMVA } from "qrgen-sdk/parsers" (URLs, Wi-Fi, contacts, GS1 AIs, driver licenses).
6. Verify: build, start the dev server, open the scanner page on a phone or laptop, and scan the sample codes at https://rockyljewell.github.io/QR-GEN/demo/. Add a unit test that feeds a generated code image to scanImage()/scanFile().
7. Credit QRGen as its Apache-2.0 license requires: if the project has an open-source notices file or an "Acknowledgements" / "Open-source licenses" screen, add "QRGen, Copyright 2026 Rockyljewell, Apache License 2.0, https://github.com/Rockyljewell/QR-GEN" there. Keep the copyright headers in any QRGen files you copy. Details: https://rockyljewell.github.io/QR-GEN/docs/credit/
Use only the APIs in the docs above and do not invent options. If something is unclear, fetch https://rockyljewell.github.io/QR-GEN/llms-full.txt.7 skills, one plugin
Installed together as the qrgen-sdk plugin, or pick the ones you need with npx skills add … --skill <name>.
qrgen-sdkIntegrate the open-source QRGen barcode, QR code and ID scanning SDK into any app.
qrgen-barcode-generationGenerate barcodes and QR codes with QRGen as SVG or PNG (QR, Micro QR, Data Matrix, Aztec, PDF417, MaxiCode, EAN-13/8, UPC-A/E, ISBN, Code 128, GS1-128, Code 39/93, Codabar, ITF/ITF-14, GS1 DataBar).
qrgen-data-parsingParse the text of scanned barcodes with QRGen's parsers. Detect URLs, Wi-Fi credentials, vCard/MECARD contacts, calendar events, email/SMS/phone, geo locations, payments (SEPA EPC, bitcoin, UPI), product GTINs with check digits, GS1 Application Identifiers (GTIN, expiry, lot, serial, weights, SSCC) including GS1 Digital Link URLs, and AAMVA driver license PDF417 data.
qrgen-batch-scanningBuild multi-barcode (batch, MatrixScan-style) scanning with QRGen. Track decoded codes in one camera frame with AR highlights, show automatic counts, and choose results from an accessible list, for inventory, delivery receiving, order picking or finding one item among many.
qrgen-id-scanningScan and parse North American driver licenses and ID cards (AAMVA PDF417 barcodes) with QRGen for age verification (21+/18+), check-in, KYC prefill or form autofill. Covers the scanner setup, parseAAMVA fields, expiry checks, privacy rules and testing with a synthetic license.
qrgen-migrationMigrate an app from html5-qrcode, @zxing/browser or @zxing/library, QuaggaJS/quagga2, jsQR, instascan, the native BarcodeDetector API, or a commercial scanning SDK (such as Scandit, Dynamsoft or Cognex) to QRGen. Maps their concepts, options and callbacks to QRGen equivalents and removes the old dependency.
qrgen-testingTest barcode scanning features built with QRGen without a physical camera or printed labels. Covers unit tests that generate a code and scan it back (Vitest/Jest/pytest), Playwright/Chromium end-to-end tests with a fake webcam video containing barcodes, testing parsers with fixed dates, and CI setup.
From request to working scanner
Install once
One command adds the skills to your project or your user profile.
npx skills add https://github.com/Rockyljewell/QR-GENAsk in plain English
Add a barcode scanner to the inventory page so staff can count stock.
Using qrgen-sdk + qrgen-batch-scanning: this is a Next.js app, so I'll add a client component with mode="batch"…
Verified, not guessed
The skills finish with a checklist: build, type-check, and a generate→scan round-trip test, plus how to try it on a phone over HTTPS.
- Claude Code
- Cursor
- OpenAI Codex
- GitHub Copilot
- Windsurf
- Gemini CLI
- Cline
- Goose
- OpenCode
- Roo Code
- any Agent Skills compatible tool
Questions
What is an Agent Skill?
A folder with a SKILL.md file of instructions (plus optional references and scripts) that coding agents load when a task matches. QRGen's skills describe the real SDK APIs, platform setup, pitfalls and a verification checklist.
Which agents are supported?
Any agent that reads the Agent Skills format. The skills CLI installs into Claude Code, Cursor, Codex, Copilot, Windsurf, Gemini CLI and many more. For anything else, paste the agent prompt.
Are skills safe to install?
They are plain Markdown plus one small Node script for fake-camera tests, all Apache-2.0 licensed and readable on GitHub. Skills run with your agent's permissions, so review them like any dependency.
Do I need an account or API key?
No. QRGen has no license keys, no sign-up and no telemetry. The skills only point your agent at public packages and docs.
How do I keep them up to date?
Run `npx skills update`, or `/plugin marketplace update qrgen-plugins` in Claude Code. Skills are versioned with the SDK in the same repository.