Skill: ivangdavila/qr (version 1.0.0)

--- name: QR description: Generate, customize, and deploy QR codes with proper sizing, error correction, and use-case optimization. --- ## Before Generating 1. **Choose correct type** — URL is not the only option. See `types.md` for vCard, WiFi, email, SMS, geo, etc. 2. **Shorten dynamic URLs** — Long URLs = dense codes = harder to scan. Use short links for tracking too. 3. **Set error correction** — L (7%) for clean environments, M (15%) default, Q (25%) with logos, H (30%) for harsh conditions ## Sizing Rules **Minimum sizes by scan distance:** - Phone at arm's length (~30cm): 2x2 cm minimum - Table tent (~50cm): 3x3 cm - Poster (~1m): 5x5 cm - Billboard (~5m): 25x25 cm **Formula:** QR size = scan distance ÷ 10 ## Color & Contrast - **Minimum 70% contrast** between foreground and background - Dark on light ONLY — scanners expect dark modules - Never invert (white on black fails on many readers) - Avoid gradients on modules — solid colors only - Background can have subtle texture if contrast maintained ## Testing Checklist Before printing/deploying: - [ ] Scan with 3+ different phones (iOS, Android old/new) - [ ] Test in target lighting conditions - [ ] Verify destination loads correctly - [ ] Check at actual print size, not screen preview - [ ] Test after any logo/customization applied ## Common Failures | Symptom | Cause | Fix | |---------|-------|-----| | Won't scan | Too small / low contrast | Increase size, check colors | | Scans but wrong content | URL changed after print | Use dynamic QR / redirect | | Works on some phones | Over-customized, low error correction | Reduce customization, increase EC | | Slow to recognize | Too dense | Shorten URL, reduce data | ## Use Case Guides | Context | See | |---------|-----| | Data types (WiFi, vCard, etc.) | `types.md` | | Business deployment patterns | `deployment.md` |

path: deployment.md
content: # QR Deployment Patterns

## Restaurant / Hospitality

**Menu QR:**
- Place on every table — durable material (laminated, acrylic stand)
- Size: minimum 4x4 cm at table distance
- Link to mobile-optimized menu (not PDF)
- Consider dynamic QR → can update menu without reprinting

**Payment QR:**
- Separate from menu QR — different action, different placement
- Near register or on bill folder
- Test with all major payment apps in region

**Review collection:**
- After-meal placement (on receipt, bill folder)
- Direct link to Google/TripAdvisor review form
- Not on table — timing matters for reviews

## Retail

**Product info:**
- On shelf tags or packaging
- Link to detailed specs, reviews, comparisons
- Keep small — space is premium

**Loyalty/app download:**
- At checkout, prominent placement
- Incentivize scan (discount, points)
- Dynamic QR for A/B testing offers

## Events

**Tickets:**
- High error correction (H) — phones at angles, varying light
- Include human-readable ID as backup
- Test scanner hardware before event

**Check-in:**
- Large QRs at entrance (fast scan = faster lines)
- Multiple codes if capacity allows parallel scanning
- Backup: manual lookup by name/email

**Networking:**
- Badge QRs with vCard data
- Attendees scan each other → instant contact exchange
- Consider NFC complement for tech-savvy crowds

## Print Marketing

**Business cards:**
- vCard QR — one scan adds contact
- Keep minimal (name, phone, email, website)
- Test at actual card size before bulk print

**Flyers/posters:**
- Size proportional to expected viewing distance
- Clear call-to-action near QR ("Scan for 20% off")
- Track with UTM parameters or short link

**Packaging:**
- Product registration, instructions, support
- Durable print — survives shipping, handling
- Consider placement for post-unboxing visibility

## Digital Displays

**TV/monitors:**
- Hold static for 10+ seconds — people need time to scan
- Don't animate the QR itself
- Ensure screen refresh rate doesn't interfere (rare but possible)

**Presentations:**
- Resources, follow-up links, feedback forms
- Leave slide up long enough
- Provide short URL as text backup

## Best Practices Across All

1. **Always use dynamic QRs for anything that might change** — destinations, offers, menus
2. **Track scans** — use UTM parameters or QR platforms with analytics
3. **Provide text alternative** — some users prefer typing short URLs
4. **Test in actual environment** — lighting, angles, distances
5. **Version your QRs** — when reprinting, increment for tracking


path: types.md
content: # QR Data Types

## URL (Most Common)
```
https://example.com/page
```
- Keep short — every character adds density
- Use URL shorteners for tracking + smaller codes
- HTTPS preferred (some readers warn on HTTP)

## WiFi Network
```
WIFI:T:WPA;S:NetworkName;P:password123;;
```
- T = security type: WPA, WEP, or nopass
- S = SSID (network name)
- P = password
- H = hidden network (optional): true/false
- Perfect for: guest networks, cafes, retail, events

## vCard (Contact)
```
BEGIN:VCARD
VERSION:3.0
N:Doe;John
FN:John Doe
TEL:+1234567890
EMAIL:[REDACTED_SECRET]
END:VCARD
```
- Include only essential fields — more data = denser code
- Business cards, networking events
- Some phones add directly to contacts

## Email
```
mailto:[REDACTED_SECRET]?subject=Inquiry&body=Hello
```
- Pre-fill subject and body for specific contexts
- Support forms, feedback collection

## SMS
```
smsto:+1234567890:Your message here
```
- Pre-filled messages for opt-ins, keywords
- Marketing campaigns, support shortcuts

## Phone Call
```
tel:+1234567890
```
- Direct dial — good for support hotlines
- Include country code for international

## Geographic Location
```
geo:40.7128,-74.0060
```
- Opens in maps app
- Store locations, event venues, meeting points

## Calendar Event
```
BEGIN:VEVENT
SUMMARY:Team Meeting
DTSTART:20240115T100000
DTEND:20240115T110000
LOCATION:Room 101
END:VEVENT
```
- Adds event to calendar
- Conferences, appointments, recurring events

## Plain Text
```
Any text content here
```
- Simple messages, codes, reference numbers
- Not clickable — just displays text

## App Store Links
```
https://apps.apple.com/app/id123456789
https://play.google.com/store/apps/details?id=com.example.app
```
- Consider smart links that detect OS
- App download campaigns

## Payment (Emerging)
Various standards:
- **PIX (Brazil):** EMV format
- **UPI (India):** upi://pay?pa=...
- **Bitcoin:** bitcoin:address?amount=0.001
- Check regional standards for payment QRs


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)