Files
u-claw/portable/skills/en/qrcode-maker/SKILL.md
zheng dd8e0f55c3 fix(portable): Gemini keys, Telegram pairing UI, and config durability
Improve first-run and channel setup for non-technical users: detect newer
Gemini key formats, pin Node 22.22.3, add Control Panel Telegram approve
flow, and keep channels/models when config is rewritten. Persist uclaw
wizard state via uclaw-meta.json so restarts skip language/persona prompts.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-18 18:45:03 +08:00

56 lines
1.6 KiB
Markdown

---
name: qrcode-maker
description: "QR code generator - turn links, text or WiFi details into a QR image. Fully offline."
metadata: { "openclaw": { "emoji": "🔳" } }
---
# QR Code Generator
Turn links, text, contact details or WiFi credentials into a QR code image.
Generated offline — nothing is sent anywhere.
## What it does
- **Link / text codes**: any content to a PNG
- **WiFi codes**: scan to join, no typing the password
- **Terminal preview**: render the code as ASCII art in the conversation
## How to run it
Use the Bash tool with Python's `qrcode` library — small and fully local.
```bash
python -c "import qrcode" 2>/dev/null || pip install -q "qrcode[pil]"
# Link or text -> PNG
python - <<'PY'
import qrcode
qrcode.make("https://u-claw.org").save("qrcode.png")
print("saved -> qrcode.png")
PY
# WiFi code (scan to connect)
python - <<'PY'
import qrcode
ssid, pwd, enc = "MyWiFi", "password123", "WPA" # enc: WPA / WEP / nopass
data = f"WIFI:T:{enc};S:{ssid};P:{pwd};;"
qrcode.make(data).save("wifi-qr.png")
print("saved WiFi code -> wifi-qr.png")
PY
# ASCII preview, no file written
python - <<'PY'
import qrcode
q = qrcode.QRCode(); q.add_data("https://u-claw.org"); q.make()
q.print_ascii(invert=True)
PY
```
## Working notes
- Confirm what the user wants encoded, and whether they want a file saved
- After generating, use the Read tool to show the PNG back to the user
- Long content produces a dense, hard-to-scan code — suggest a short link instead
- WiFi passwords are credentials: write them to the local PNG only, never echo
them into a message or a filename