qr-code
Skill4 starsChanged 3 months agoMITView on GitHub
Generate QR code PNG images from a URL, link, phone number, or short text — in a fixed print/slide-ready house style (version 5, high error correction, 20 px modules, black frame; 860×860 px) — and verify each one by decoding it back. Use this whenever the user asks for a QR code in any phrasing — "QR 만들어줘", "QR 코드", "큐알", "make a QR for this link", "링크를 QR로", "발표자료에 넣을 QR", "명함/포스터용 QR", "전화번호 QR" — including when they hand over one or several links and want images for a slide, poster, README, or business card. Do not use for reading/scanning an existing QR image (that is decoding, not generation) unless the user also wants a new one made.
- Installs packages
6 other projects use a version of this.
Adopted by
Most recently taken up by
- freejam099-alt/Edge-Aitheir own version, first seen Oct 25, 2026
- Plexito-de/honed-skillstheir own version, first seen Oct 11, 2026
- jholhewres/devclaw-skillstheir own version, first seen Oct 9, 2026
- google-ai-edge/gallerytheir own version, first seen Oct 8, 2026
- bogi1203/codex-qr-code-skilltheir own version, first seen May 14, 2026
- jegly/Boxtheir own version, first seen Apr 24, 2026
Used with
Projects with it also use calculate-hash, interactive-map and 8 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
google-ai-edgeSkillcalculate-hash
Calculate the hash of a given text.
Also in 3 projects that use this
google-ai-edgeSkillinteractive-map
Show an interactive map view for the given location.
Also in 3 projects that use this
MicrosoftSkillsend-email
Send HTML email notifications via Azure Logic App. Use when (1) sending formatted emails to recipients, (2) delivering reports or summaries via email, (3) triggering email notifications from workflows. Triggers on requests like "send email", "email this", "send via email", "mail to".
Also in 3 projects that use this
- +7 more from google-ai-edge
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- google-ai-edge/gallery★ 25ksame name
- jegly/Box★ 995same name
- jholhewres/devclaw-skills★ 4same name
- Plexito-de/honed-skills★ 3same name
- bogi1203/codex-qr-code-skill★ 1same name
- freejam099-alt/Edge-Ai★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository12 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- snu-etl-video-downloaderSkill
- snu-tennis-reserveSkill
- whisper-transcribeSkill
- jcr-if-extractSkill
- paper-figure-pptxSkill
- paper-readingSkill
- pptx-formatterSkill
- pptx-to-pdfSkill
- pre-proofSkill
- scientific-paper-coachSkill
- structure-visualizerSkill
The file
We split this skill into the rules it gives an agent
3 rules. 0 are common, 1 is distinctive, and 2 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 14
Ask once which Python interpreter to use (any env with qrcode[pil].
- Very specific: line 62
Run the script; save into the project's asset folder (e.g.
- Distinctive: line 66
If several QRs go on one slide, a caption under each (site name / repo name) is worth more than the URL text — people scan the one they …
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
QR code generation
Bundled script: scripts/make_qr.py. It produces one consistent style so every QR in a deck,
poster, or README looks the same, and it decodes every output back to catch broken codes
before they land on a slide.
First-run setup
Ask once which Python interpreter to use (any env with qrcode[pil]; pyzbar or
opencv-python optional for verification). Remember it as {PY} below.
pip install "qrcode[pil]" pyzbar # or: pip install "qrcode[pil]" opencv-pythonRun
PY={PY}
S=~/.claude/skills/qr-code/scripts/make_qr.py
$PY $S "https://catbench.org/" # -> ./qr_catbench_org.png
$PY $S "https://github.com/JinukMoon/CatBench" -o qr_catbench_github.png
$PY $S "tel:01012345678" -o qr_phone.png # phone numbers use tel:
$PY $S --batch links.txt -d assets/qr/ # many at oncelinks.txt for batch mode — one per line, optional name<TAB>url (name becomes the filename):
qr_leaderboard https://catbench.org/
qr_catbench_github https://github.com/JinukMoon/CatBench
https://github.com/JinukMoon/oh-my-mlipOptions: --box N (module px, default 20 → 860 px image; use 10 for ~430 px), --no-frame
(drop the black border), -d DIR (output folder).
Why these choices (so you can deviate sensibly)
- version 5 + ERROR_CORRECT_H: H-level correction survives partial occlusion (logo overlays, glare on a projector, a phone camera at an angle) — the situation a conference QR actually lives in. Version 5 comfortably holds any URL up to ~80 chars at H.
- box 20 + black frame: the frame gives a clean quiet-zone boundary on white slides and posters. Keep it unless the user asks for a borderless one.
- Decode verification: the script re-reads each PNG (pyzbar or OpenCV, whichever is
installed) and exits non-zero on mismatch. Report the
[OK verified]line to the user; if it printsno decoder installed, say so — don't claim verification you didn't get.
Workflow
- Confirm the exact target strings. URLs: include the scheme (
https://); phone:tel:+ digits, no hyphens; plain text is fine too. If a URL is ambiguous (repo vs. website), ask once — a QR to the wrong page is worse than no QR. - Pick filenames that say what they point to (
qr_leaderboard.png, notqr1.png) — decks accumulate many QRs and nobody can tell them apart visually. - Run the script; save into the project's asset folder (e.g.
assets/qr/), not/tmp. - Paste the verification lines back to the user. If the QR is going on a slide, mention the size: 860 px renders crisp at 1.2–1.5 in; below ~1 in the modules get too fine for phones across a room.
- If several QRs go on one slide, a caption under each (site name / repo name) is worth more than the URL text — people scan the one they want.
Dependencies
qrcode[pil] (required). Decoding uses pyzbar or opencv-python if present; absence only
disables verification, not generation.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

