mcpbeat

Generate Qr Code Natively

besoeasy/generate-qr-code-natively

Generate QR codes locally without external APIs using native CLI and runtime libraries in Bash and Node.js.

695 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
127
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/besoeasy/open-skills --skill generate-qr-code-natively

What it tells the agent to use

found in the instruction text
Bash runs shell commands — read the instruction before connecting

The instruction itself

10 sections, as written by the author

Generate QR Code Natively

Create QR codes fully offline on the local machine (no third-party QR API calls).

When to use

  • User asks to generate a QR code from text, URL, wallet address, or payload
  • Privacy-sensitive workflows where data should stay local
  • Fast automation pipelines that should not depend on external services

Required tools / APIs

  • No external API required
  • Bash CLI option: qrencode
  • Node.js option: qrcode package

Install options:

# Ubuntu/Debian
sudo apt-get update && sudo apt-get install -y qrencode

# Node.js
npm install qrcode

Skills

generate_qr_with_bash

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"

generate_qr_with_nodejs

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"

Agent prompt

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.

Best practices

  • Keep payload concise for better scan reliability
  • Use at least error correction level M for general use
  • Export PNG for compatibility and SVG for scalable print/web usage
  • Validate with a scanner after generation

Troubleshooting

  • qrencode: command not found → install qrencode via package manager
  • Node import error → ensure npm install qrcode completed
  • Dense/unclear QR image → increase image size/box size and reduce payload length

See also

  • pdf-manipulation.md — combine generated QR images into documents

How to use it

Copy the folder

Take besoeasy/generate-qr-code-natively from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

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.

Install what it needs

The instructions reference npm, apt. Without those the skill loads but fails at the first command.