QR Code Tool
v1.0.0Generate QR codes for URLs, text, WiFi credentials, contact cards, and more. Use when creating scannable links for marketing materials, sharing WiFi password...
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
The name/description (QR code generation for URLs, WiFi, vCards, styled images, batch jobs) aligns with the provided instructions and examples. All code samples and the listed dependency (qrcode[pil]) are appropriate for this functionality.
Instruction Scope
SKILL.md only contains local code examples (Python) that create image files, compose QR payloads (including WiFi/vCard formats), and manipulate images. The instructions do not read unrelated files, environment variables, or send data to external endpoints.
Install Mechanism
There is no install spec and no downloads; the doc recommends installing the public pip package qrcode[pil], which is proportionate for the stated functionality. No extracted archives or external URLs are used.
Credentials
The skill requests no environment variables, credentials, or config paths. Examples accept sensitive inputs (e.g., WiFi password) but those are user-supplied and not read from the environment.
Persistence & Privilege
Skill is not always-enabled and does not request persistent privileges or modify other skills or system-wide settings. Autonomous invocation is allowed (platform default) but not combined with any elevated access.
Assessment
This skill is instruction-only and appears coherent. Before running the code: (1) verify and run examples locally in a safe environment (you’ll need Python and pip), (2) review any inputs you pass (e.g., WiFi passwords or contact details) so you do not accidentally expose secrets, and (3) install the qrcode[pil] package from PyPI using pip in a virtualenv to avoid affecting your system Python. If the skill came from an unknown source, inspect the SKILL.md yourself before use.Like a lobster shell, security has layers — review code before you run it.
latest
QR Code Generator
Create QR codes for URLs, WiFi, contacts, and more.
When to Use
- Creating scannable links for print materials
- Sharing WiFi credentials securely
- Generating digital business cards
- Creating quick app download links
- Sharing locations or maps
- Event check-in codes
Quick Start
Basic URL QR Code
import qrcode
def generate_qr(data, output_path='qr_code.png'):
"""Generate simple QR code"""
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
qr.add_data(data)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
img.save(output_path)
return output_path
# Usage
generate_qr('https://example.com', 'website_qr.png')
WiFi QR Code
def generate_wifi_qr(ssid, password, security='WPA', output='wifi_qr.png'):
"""
Generate WiFi connection QR code
Format: WIFI:S:ssid;T:security;P:password;;
"""
wifi_string = f"WIFI:S:{ssid};T:{security};P:{password};;"
return generate_qr(wifi_string, output)
# Usage
generate_wifi_qr('MyHomeNetwork', 'secret123', 'WPA')
# Scan to auto-connect to WiFi
Contact Card (vCard)
def generate_vcard_qr(name, phone, email, output='contact_qr.png'):
"""Generate vCard QR code"""
vcard = f"""BEGIN:VCARD
VERSION:3.0
FN:{name}
TEL:{phone}
EMAIL:{email}
END:VCARD"""
return generate_qr(vcard, output)
# Usage
generate_vcard_qr('John Doe', '+1234567890', 'john@example.com')
Styled QR Code
def generate_styled_qr(data, output='styled_qr.png', **kwargs):
"""Generate QR with custom styling"""
qr = qrcode.QRCode(
version=kwargs.get('version', 1),
error_correction=getattr(
qrcode.constants,
f"ERROR_CORRECT_{kwargs.get('error_correction', 'M')}"
),
box_size=kwargs.get('box_size', 10),
border=kwargs.get('border', 4),
)
qr.add_data(data)
qr.make(fit=True)
# Custom colors
fill_color = kwargs.get('fill_color', 'black')
back_color = kwargs.get('back_color', 'white')
img = qr.make_image(fill_color=fill_color, back_color=back_color)
img.save(output)
return output
# Styled examples
generate_styled_qr('https://mysite.com', 'blue_qr.png',
fill_color='blue', back_color='lightblue')
Error Correction Levels
| Level | Correction | Use Case |
|---|---|---|
| L | ~7% | Clean environments |
| M | ~15% | Default, good balance |
| Q | ~25% | Dirty/damaged possible |
| H | ~30% | Logos/overlays on QR |
Advanced Features
Batch Generate
def batch_generate(urls, output_dir='./qr_codes'):
"""Generate QR codes for multiple URLs"""
import os
os.makedirs(output_dir, exist_ok=True)
generated = []
for i, url in enumerate(urls, 1):
output = f"{output_dir}/qr_{i:03d}.png"
generate_qr(url, output)
generated.append(output)
return generated
# Usage
urls = [
'https://product1.com',
'https://product2.com',
'https://product3.com'
]
batch_generate(urls)
Add Logo to Center
from PIL import Image
def add_logo_to_qr(qr_path, logo_path, output_path):
"""Add logo to center of QR code"""
qr_img = Image.open(qr_path)
logo_img = Image.open(logo_path)
# Resize logo to fit in center
box_size = min(qr_img.size) // 5
logo_img = logo_img.resize((box_size, box_size))
# Calculate position
pos = ((qr_img.size[0] - box_size) // 2,
(qr_img.size[1] - box_size) // 2)
# Paste logo
qr_img.paste(logo_img, pos, logo_img if logo_img.mode == 'RGBA' else None)
qr_img.save(output_path)
Dependencies
pip install qrcode[pil]
Comments
Loading comments...
