besoeasy/generate-qr-code-natively
Generate QR codes locally without external APIs using native CLI and runtime libraries in Bash and Node.js.
npx skills add https://github.com/besoeasy/open-skills --skill generate-qr-code-natively
Create QR codes fully offline on the local machine (no third-party QR API calls).
qrencodeqrcode packageInstall options:
# Ubuntu/Debian
sudo apt-get update && sudo apt-get install -y qrencode
# Node.js
npm install qrcode
Generate PNG and terminal QR directly from shell.
# Encode text into PNG
DATA="https://example.com/report?id=123"
qrencode -o qrcode.png -s 8 -m 2 "$DATA"
# Print QR in terminal (UTF-8 block mode)
qrencode -t UTF8 "$DATA"
# SVG output
qrencode -t SVG -o qrcode.svg "$DATA"
import QRCode from 'qrcode';
const data = process.argv[2] || 'https://example.com';
async function main() {
await QRCode.toFile('qrcode.png', data, {
errorCorrectionLevel: 'M',
margin: 2,
width: 512
});
const svg = await QRCode.toString(data, { type: 'svg', margin: 2 });
await import('node:fs/promises').then(fs => fs.writeFile('qrcode.svg', svg));
const terminal = await QRCode.toString(data, { type: 'terminal' });
console.log(terminal);
console.log('Saved: qrcode.png, qrcode.svg');
}
main().catch(err => {
console.error('QR generation failed:', err.message);
process.exit(1);
});
Run:
node generate-qr.js "https://example.com/invoice/abc"
You are generating QR codes locally without calling external QR APIs.
Use Bash (qrencode) for quick CLI generation or Node.js (qrcode package) for programmatic control.
Return:
1) command/code used,
2) output filenames (png/svg),
3) brief validation note (e.g., "scan test recommended").
If dependency is missing, provide the install command and retry.
M for general useqrencode: command not found → install qrencode via package managernpm install qrcode completedTake besoeasy/generate-qr-code-natively from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npm, apt.
Without those the skill loads but fails at the first command.