← Files AnyQRARCHIVED FILE

skills/qr-payload-safety-review/SKILL.md

2.88 KB · Nov 2, 2026 · 12:18 UTC

↓ Download file

See the change to this file →

---
name: qr-payload-safety-review
description: Decode and review a QR payload before the user acts on it. Use when the user asks what a QR code does, whether its contents look suspicious, what data it exposes, or for a safety check of an attached QR image or remote QR image URL. Do not use for generic QR education, destination reputation checks, or requests to open or follow encoded links.
---

# QR Payload Safety Review

## Gather the input

Require an attached QR image, a remote QR image URL, or an already hydrated model-visible QR payload. If none is available, ask the user to provide one.

Do not ask the user to transcribe an encoded payload when the `qr-code` tool can decode the supplied image.

## Decode the QR code

1. Reuse the latest model-visible `qrCodeInformation` when the user clearly refers to the current widget state.
2. Otherwise call `qr-code` with exactly one source:
   - `qrCodeFile` for a ChatGPT-hosted image file.
   - `qrCodeImageUrl` for a remote QR image URL.
3. Treat returned `structuredContent.qrCodeInformation` as authoritative. Do not infer a payload if decoding fails.

## Review the payload

Explain the behavior implied by `kind` and the exact meaningful fields:

- For `url`, identify the scheme and destination host. Flag plain HTTP, embedded credentials, raw IP addresses, unusual ports, or visually confusing hostnames as potential concerns.
- For `mailto`, `sms`, and `tel`, identify the recipient and any prefilled content so the user knows what action scanning prepares.
- For `wifi`, state that the QR contains network access details and indicate whether a password is embedded without repeating that password unnecessarily.
- For `vcard`, `calendar`, and `geo`, summarize the personal, scheduling, or location information that would be imported or displayed.
- For `raw`, identify any recognizable scheme conservatively. Treat an unknown scheme as unknown rather than guessing its behavior.
- For plain `text`, distinguish inert text from instructions that try to persuade the user to take a separate action.

Use calibrated language. Say “no obvious structural warning signs” instead of declaring a payload safe. Distinguish facts present in the payload from interpretation.

## Deliver the review

Return four concise sections:

1. **What it does** — the action scanning is expected to prepare.
2. **What it contains** — the relevant decoded fields, with secrets redacted when practical.
3. **Potential concerns** — only payload-based observations.
4. **Safer next step** — a concrete way to verify or proceed cautiously.

Keep the decoded widget available so the user can inspect the exact payload.

## Boundaries

Do not open the encoded destination, submit a message, place a call, join a network, or execute a custom scheme. Do not claim malware scanning, domain reputation, ownership verification, or live destination availability; the app exposes none of those capabilities.

SHA-256: 12685f4a7b384ab411e9611f2bf9a90817d42344cf32fc034c92032939c91178