用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/zocomputer/skills --skill generate-custom-qr-code命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | generate-custom-qr-code |
| description | Generates a QR code from any URL, and optionally overlays a custom image in the center |
| metadata | {"author":"hatsunemiku.zo.computer","category":"Community","display-name":"Generate QR code with optional image","emoji":"📱"} |
Generate a QR code from a URL. Optionally overlay a custom logo/image on the center with a white background.
url (string, required): The URL to encode in the QR codeimage_path (string, optional): Path to custom image to overlay (PNG, JPG, etc.)output_path (string, optional): Where to save the QR code. Defaults to file Images/qr_code.pngoverlay_size_percent (int, optional): Overlay size as percentage of QR code (default: 25)Basic QR code (no image):
url: https://zo.computer
With custom logo:
url: https://zo.computer
image_path: /home/workspace/Images/logo.png
output_path: /home/workspace/Images/zo_qr_with_logo.png
overlay_size_percent: 25
First, ensure dependencies are installed:
pip install qrcode[pil] pillow -q
Then generate the QR code:
import qrcode
from PIL import Image
from pathlib import Path
url = "https://zo.computer"
image_path = None # Set to image path if using overlay
output_path = "/home/workspace/Images/qr_code.png"
overlay_size_percent = 25
output_path = Path(output_path)
output_path.parent.mkdir(parents=True, exist_ok=True)
# Use HIGH error correction if we're adding an overlay
error_correction = qrcode.constants.ERROR_CORRECT_H if image_path else qrcode.constants.ERROR_CORRECT_L
qr = qrcode.QRCode(
version=1,
error_correction=error_correction,
box_size=10,
border=4,
)
qr.add_data(url)
qr.make(fit=True)
qr_img = qr.make_image(fill_color="black", back_color="white").convert('RGB')
# If custom image provided, overlay it
if image_path and Path(image_path).exists():
custom_img = Image.open(image_path).convert('RGBA')
qr_width, qr_height = qr_img.size
# Calculate overlay size
overlay_size = int(qr_width * (overlay_size_percent / 100))
custom_img = custom_img.resize((overlay_size, overlay_size), Image.Resampling.LANCZOS)
# Create white background for overlay
white_bg = Image.new('RGB', (overlay_size, overlay_size), 'white')
# Paste custom image on white background (handles transparency)
if custom_img.mode == 'RGBA':
white_bg.paste(custom_img, (0, 0), custom_img)
else:
white_bg.paste(custom_img, (, ))
offset = (qr_width - overlay_size) //
qr_img.paste(white_bg, (offset, offset))
qr_img.save(output_path)
()