← CodeQR - Link and QR AnalyticsCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to CodeQR - Link and QR Analytics
Snapshot Sep 30, 2026 · 22:55 UTC · version 2.0.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Change where an already printed, posted, or distributed CodeQR code leads, without reprinting or resending anything. Triggers when a destination moved, a landing page changed, a campaign was redirected, or the user asks to fix a QR code or short link that is already out in the world. Not for creating a new code, not for bulk creation across a list, and not for deleting a code.",
"included_files": [
{
"relative_path": "agents/openai.yaml",
"size_in_bytes": 581
}
],
"name": "repoint-printed-code",
"skill_md_contents": "---\nname: repoint-printed-code\ndescription: Change where an already printed, posted, or distributed CodeQR code leads, without reprinting or resending anything. Triggers when a destination moved, a landing page changed, a campaign was redirected, or the user asks to fix a QR code or short link that is already out in the world. Not for creating a new code, not for bulk creation across a list, and not for deleting a code.\n---\n\n# Re-point a code that is already out in the world\n\nThe user has a QR code on paper, or a short link already sent, and the\ndestination behind it needs to change. The code itself stays exactly as it is.\n\nWork only through the CodeQR MCP tools. Do not generate a replacement QR image:\nproducing a new image is the failure this workflow exists to avoid.\n\n## 1. Find the code\n\n- **Short links** — `list_links` accepts `search`, `domain` and `tagId`. Search\n by the slug or by words from the destination.\n- **QR codes** — `list_qrcodes` accepts only `page`. There is no server-side\n search, so page through the results and match on key or current destination\n yourself. Do not claim a code does not exist until you have reached the last\n page.\n\nShow the user the candidate you found — key, current destination, scan or click\ncount — and confirm it is the right one before changing anything.\n\n## 2. Check whether the QR code is static before promising anything\n\nEvery QR code record carries a `static` boolean. Read it.\n\n- **`static: false` (dynamic)** — the printed pattern encodes a short link, so\n changing the destination re-points every copy already printed. This is the\n case the user is hoping for.\n\n- **`static: true`** — the printed pattern encodes the destination itself.\n Updating the record changes the dashboard entry and nothing else: every sheet,\n label and sign already printed keeps leading to the old destination, forever.\n\nIf the code is static, say so **before** making the change, in plain terms: the\nrecord can be updated, but the printed copies cannot be redirected and the only\nfix is a new code on new material. Do not report a static update as a success —\nthat is the one outcome that would leave the user believing a problem is solved\nwhen it is not.\n\n## 3. Make the change\n\n- `update_qrcode` — pass `qrcodeId` and the new `url`.\n- `update_link` — pass `linkId` and the new `url`.\n\n**Change `url` only.** `update_link` also accepts `key`, and changing it rewrites\nthe short link itself, so every copy already printed or sent stops working. Never\nchange `key` while re-pointing. (`update_qrcode` cannot change the key at all.)\n\nBoth tools are annotated as destructive, so the client will ask the user to\nconfirm. That prompt is correct and expected — let it happen and do not look for\na way around it.\n\n## 4. Confirm the result\n\nReport back three things, explicitly:\n\n- the key and short link, unchanged\n- the old destination and the new one\n- for a QR code, whether printed copies now follow the change (dynamic) or do\n not (static)\n\nScan and click history stays attached to the code across a re-point, so the\nuser's existing numbers are not reset. Say so if they ask.\n"
}SHA-256 of public snapshot: 5e122f8a331b624dca5b502a05a2fe48276e88e8ffd53f168b0697696f4dc4c2