# Send QRCode to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
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.
```
### Upgrade existing

```text
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.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "qrcode",
    "name": "QRCode",
    "source": "tencent",
    "type": "skill",
    "category": "其他",
    "sourceUrl": "https://clawhub.ai/HeXavi8/qrcode",
    "canonicalUrl": "https://clawhub.ai/HeXavi8/qrcode",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/qrcode",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=qrcode",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "package.json",
      "SKILL.md",
      "scripts/generate.mjs"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "qrcode",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-29T10:00:31.723Z",
      "expiresAt": "2026-05-06T10:00:31.723Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=qrcode",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=qrcode",
        "contentDisposition": "attachment; filename=\"qrcode-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "qrcode"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/qrcode"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/qrcode",
    "downloadUrl": "https://openagent3.xyz/downloads/qrcode",
    "agentUrl": "https://openagent3.xyz/skills/qrcode/agent",
    "manifestUrl": "https://openagent3.xyz/skills/qrcode/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/qrcode/agent.md"
  }
}
```
## Documentation

### QRCode Generator

Generate customizable QR codes from text or URLs. Supports multiple formats (SVG/PNG/JPG) with styling options.

### Agent Instructions

After generating QR codes, you MUST:

Display the generated file using appropriate markdown syntax:

For images (PNG/JPG): ![QR Code](sandbox:/path/to/file.png)
For SVG: Display as image or provide download link


Confirm the file path and format to the user
Offer to regenerate with different styling if needed

### Quick Start

# Basic usage (auto-generated filename)
node {baseDir}/scripts/generate.mjs "Hello World"

# Custom styled QR code
node {baseDir}/scripts/generate.mjs "https://example.com" -o myqr.svg --dot circle --eye rounded --color "#2563eb"

# High-resolution transparent PNG
node {baseDir}/scripts/generate.mjs "Contact Info" --format png --size 2048 --transparent

# Print-quality JPEG
node {baseDir}/scripts/generate.mjs "https://example.com" --format jpg -o qr.jpg --size 2048 --quality 95

### Output

-o, --out <filename> - Output filename (workspace root only). Default: qrcode_<text>_<timestamp>.<ext>
--format <svg|png|jpg> - Output format (default: svg)

### Dimensions

--size <px> - Base pixel size (default: 1024, max: 10000)
--scale <n> - Resolution multiplier (default: 1, max: 10)
--margin <modules> - Quiet zone size (default: 4, max: 100)

### Styling

--dot <square|circle> - Data module shape (default: square)
--eye <square|circle|rounded> - Finder pattern style (default: square)
--color <#RRGGBB> - Foreground color (default: #000000)
--background <#RRGGBB> - Background color (default: #ffffff)
--transparent - Transparent background (PNG only, ignored for SVG/JPG)

### Quality

--ec <L|M|Q|H> - Error correction: Low/Medium/Quality/High (default: M)

L (~7%): Clean environments, maximum data capacity
M (~15%): General use, balanced capacity/reliability
Q (~25%): Styled QR codes, moderate damage tolerance
H (~30%): Logo embedding, heavy styling, outdoor use


--quality <1-100> - JPEG compression quality (default: 80)

### File Handling

Security-enforced workspace root output:

All files saved to workspace root directory only
Path components stripped: -o ../path/file.svg → workspace/file.svg
Auto-generated filenames include sanitized text and timestamp
Maximum text length: 4096 characters

### Installation

cd {baseDir}
npm install

Dependencies: qrcode (matrix generation), sharp (image conversion)

Platform notes: macOS requires Xcode Command Line Tools. See sharp docs for other platforms.

### WiFi QR Code

node {baseDir}/scripts/generate.mjs "WIFI:S:MyNetwork;T:WPA;P:password123;;" --format png -o wifi.png --size 1024

### Styled Business Card

node {baseDir}/scripts/generate.mjs "BEGIN:VCARD
VERSION:3.0
FN:John Doe
TEL:+1234567890
EMAIL:john@example.com
END:VCARD" --dot circle --eye rounded --color "#1e40af" --background "#eff6ff" -o contact.svg

### High-Resolution Print

node {baseDir}/scripts/generate.mjs "https://example.com" --format jpg --size 4096 --quality 95 --ec H -o print.jpg

### Transparent Logo Overlay

node {baseDir}/scripts/generate.mjs "https://example.com" --format png --size 2048 --transparent --margin 2 -o overlay.png

### Logo Embedding (Requires High Error Correction)

# Use --ec H when QR code will have logo overlay (covers ~20-30% of center)
node {baseDir}/scripts/generate.mjs "https://example.com" --format png --size 2048 --ec H -o logo-base.png

### Security Features

✅ Path traversal protection - All outputs forced to workspace root
✅ Symlink attack prevention - Atomic writes with verification
✅ Input validation - Length limits (4096 chars), character whitelisting
✅ Filename sanitization - Dangerous characters stripped from filenames
✅ Resource limits - Max size/scale to prevent DoS attacks

### Troubleshooting

IssueSolutionnpm install failsInstall build tools:xcode-select --install (macOS) or see sharp install guideQR code won't scanIncrease --size, use higher error correction (--ec H), or simplify stylingColors not workingUse hex format #RRGGBB (e.g., #FF5733), not RGB or color namesFile too largeReduce --size, --scale, or increase --quality for JPGPermission deniedCheck workspace directory write permissions

### Error Correction Levels Explained

Error correction allows QR codes to remain scannable even when partially damaged or obscured:

LevelRecovery CapacityData CapacityUse CaseL~7% damageMaximumClean environments, screen display, maximum dataM~15% damageHighGeneral use (default), standard printingQ~25% damageMediumStyled designs (circles/rounded), possible minor damageH~30% damageMinimumLogo embedding, outdoor use, heavy styling, print-on-print

Key principle: Higher error correction = more damage tolerance but less data capacity.

When to use H level:

Embedding logos (covers 20-30% of center)
Circular dots or rounded eyes
Outdoor/weathered environments
Low-quality printing
Stickers that may peel/scratch

### Format Comparison

FormatTransparencyQualityFile SizeUse CaseSVG✅InfiniteSmallestWeb, scalable graphicsPNG✅LosslessMediumDigital displays, overlaysJPG❌LossySmallest*Print, photos, email

*With compression

### Tips

Scanning distance: Use --size 1024 for mobile (1-2m), --size 2048+ for print/posters
Styling vs. reliability: Higher --ec levels compensate for --dot circle or --eye rounded
Transparent backgrounds: Use PNG format with --transparent; JPG always uses white/specified background
File size optimization: SVG for web, JPG with --quality 80-85 for print
Data capacity: L/M/Q/H levels affect max alphanumeric capacity: ~4296/3391/2420/1852 chars (Version 40)
Logo placement: Use --ec H and leave center area clear (approximately 30% of QR code)

### Common Use Cases

ScenarioRecommended SettingsWebsite URL--format png --size 1024 --ec MWiFi credentials--format png --size 1024 --ec MBusiness card (vCard)--format svg --dot circle --eye rounded --ec QPrint poster--format jpg --size 4096 --quality 95 --ec HLogo overlay base--format png --size 2048 --ec H --transparentEmail signature--format png --size 512 --ec MProduct packaging--format svg --ec H (scalable for any print size)Outdoor signage--format jpg --size 2048+ --ec H --quality 90Social media profile--format png --size 1024 --transparent --dot circle --ec QPayment QR (high density)--format png --size 2048 --ec L --margin 2 (maximize capacity)
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: HeXavi8
- Version: 1.0.1
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-04-29T10:00:31.723Z
- Expires at: 2026-05-06T10:00:31.723Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/qrcode)
- [Send to Agent page](https://openagent3.xyz/skills/qrcode/agent)
- [JSON manifest](https://openagent3.xyz/skills/qrcode/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/qrcode/agent.md)
- [Download page](https://openagent3.xyz/downloads/qrcode)