← Back to Skills

qr-barcode-gen

v1.0.0 approved Encoding ⬇ 1 ↑ 1/7d updated today
USK v3 ✅ Verified ⚡ Auto-Convert
⬇ Download
Install Guide↓
🤖 Agent install commands (curl / MCP / Claude Desktop)
▸ curl one-liner
curl -L -o qr-barcode-gen.skill   "https://aiskillstore.io/v1/agent/skills/bd03f070-2a1d-42c2-ac73-99e09e831183/download?platform=ClaudeCode"
▸ MCP tool call (after registering Skill Store MCP)
{
  "tool": "download_skill",
  "arguments": {
    "skill_id": "bd03f070-2a1d-42c2-ac73-99e09e831183",
    "platform": "ClaudeCode"
  }
}
▸ Claude Desktop / Cursor MCP config (one-time)
{
  "mcpServers": {
    "skill-store": {
      "url": "https://aiskillstore.io/mcp/"
    }
  }
}
📖 Full agent API guide: /llms.txt  ·  MCP server card

QR code and 1D barcode generator/decoder — zero dependencies, Korean UTF-8 native, SVG+text-art output, 10+ audit rules

# qr # barcode # qr-code # ean13 # code128 # svg # encoding # korean # offline # zero-dependency

Basic Info

Owner 👤 aiskillstore-team Category Encoding Registered 2026-04-29 Last Updated 2026-04-29 Latest Version 1.0.0 Packaged At 2026-04-29 Vetting Status approved Downloads 1 Checksum (SHA256) 87897b335e40a75414ee534d301786dee5931208ddcdc4b5a509e846a1b66c64

⚡ AGENT INFO USK v3

Capabilities
qr_code_generation barcode_generation qr_decode input_security_audit svg_output
Permissions
✗ network
✗ filesystem
✗ subprocess
Interface
type: cli   entry_point: main.py   runtime: python3   call_pattern: stdin_stdout
Agent API
# 스킬 스키마 조회 (에이전트가 호출 방법을 파악) GET /v1/agent/skills/bd03f070-2a1d-42c2-ac73-99e09e831183/schema # 플랫폼별 자동 변환 다운로드 GET /v1/agent/skills/bd03f070-2a1d-42c2-ac73-99e09e831183/download?platform=OpenClaw GET /v1/agent/skills/bd03f070-2a1d-42c2-ac73-99e09e831183/download?platform=ClaudeCode GET /v1/agent/skills/bd03f070-2a1d-42c2-ac73-99e09e831183/download?platform=ClaudeCodeAgentSkill GET /v1/agent/skills/bd03f070-2a1d-42c2-ac73-99e09e831183/download?platform=Cursor GET /v1/agent/skills/bd03f070-2a1d-42c2-ac73-99e09e831183/download?platform=GeminiCLI GET /v1/agent/skills/bd03f070-2a1d-42c2-ac73-99e09e831183/download?platform=CodexCLI GET /v1/agent/skills/bd03f070-2a1d-42c2-ac73-99e09e831183/download?platform=CustomAgent

Installation

Compatible Platforms any

1
Install the skill using openclaw_skill_manager.py.
python openclaw_skill_manager.py --install qr-barcode-gen
2
Verify installation
python openclaw_skill_manager.py --list-installed
3
Install a specific version (optional)
python openclaw_skill_manager.py --install qr-barcode-gen --version 1.0.0
1
Download the skill package.
curl -O https://aiskillstore.io/v1/skills/bd03f070-2a1d-42c2-ac73-99e09e831183/download
2
Place it in the Claude Code commands directory.
unzip qr-barcode-gen.skill -d ~/.claude/commands/qr-barcode-gen/
3
Use it as a slash command in Claude Code.
/qr-barcode-gen
1
Download the Agent Skills package.
curl -O https://aiskillstore.io/v1/agent/skills/bd03f070-2a1d-42c2-ac73-99e09e831183/download?platform=ClaudeCodeAgentSkill
2
Unzip it into the Claude Code skills directory.
unzip qr-barcode-gen-agent-skill-*.skill -d ~/.claude/skills/qr-barcode-gen/
3
Restart Claude Code — the skill is auto-loaded at session start. No slash command needed.
1
Download the Cursor-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/bd03f070-2a1d-42c2-ac73-99e09e831183/download?platform=Cursor
2
Unzip and place it in a permanent location.
unzip qr-barcode-gen-cursor-*.skill -d ~/.cursor/skills/qr-barcode-gen/
3
Add the MCP server config to .cursor/mcp.json, then restart Cursor.
cat ~/.cursor/skills/qr-barcode-gen/cursor_mcp_config.json
1
Download the Gemini CLI-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/bd03f070-2a1d-42c2-ac73-99e09e831183/download?platform=GeminiCLI
2
Unzip and place it in a permanent location.
unzip qr-barcode-gen-geminicli-*.skill -d ~/.gemini/skills/qr-barcode-gen/
3
Add the MCP server config to ~/.gemini/settings.json, then restart Gemini CLI.
cat ~/.gemini/skills/qr-barcode-gen/gemini_settings_snippet.json
1
Download the Codex CLI-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/bd03f070-2a1d-42c2-ac73-99e09e831183/download?platform=CodexCLI
2
Unzip and place it in a permanent location.
unzip qr-barcode-gen-codexcli-*.skill -d ~/.codex/skills/qr-barcode-gen/
3
Add the MCP server config to ~/.codex/config.toml, then restart Codex CLI.
cat ~/.codex/skills/qr-barcode-gen/codex_config_snippet.toml
1
Download the skill package via REST API.
GET https://aiskillstore.io/v1/skills/bd03f070-2a1d-42c2-ac73-99e09e831183/download
2
Place it in your agent platform's skills directory.
cp qr-barcode-gen.skill ./skills/
3
Fetch platform-specific details via the Install Guide API.
GET https://aiskillstore.io/v1/skills/bd03f070-2a1d-42c2-ac73-99e09e831183/install-guide?platform=CustomAgent

Requirements

Security Vetting Report

Vetting Result APPROVED

✅ No security risks found.

AI Review Stage

Reviewer gemini Risk Level 🟢 Low Review Summary QR/바코드 생성, 디코딩 및 보안 감사를 제공하는 안전하고 독립적인 스킬입니다. 외부 의존성이나 위험한 권한 요청이 없습니다.
Reasoning

제공된 스킬 메타데이터와 코드 파일을 분석한 결과, 다음과 같은 판단을 내렸습니다: 1. **선언된 Permissions 일치 여부:** 스킬 메타데이터는 `network: false`, `filesystem: false`, `subprocess: false`로 선언되어 있습니다. 코드(`main.py` 및 `lib` 모듈)를 검토한 결과, `os.path`, `sys.stdin`, `sys.stdout`, `sys.path.insert`와 같은 표준 라이브러리 기능만 사용하며, 네트워크 통신(`requests`, `socket` 등), 파일 시스템 접근(`open`, `shutil` 등), 외부 프로세스 실행(`subprocess`, `os.system` 등)을 시도하는 코드는 발견되지 않았습니다. 이는 선언된 권한과 실제 코드가 완벽하게 일치함을 의미합니다. 2. **악의적 목적의 코드 여부:** 코드에서 데이터 탈취, 시스템 파괴, 또는 난독화의 흔적은 전혀 발견되지 않았습니다. 오히려 `lib/auditor.py` 모듈은 `javascript:`, `<script>`, `data:base64` 등 잠재적으로 위험한 패턴을 적극적으로 감지하고 경고하는 보안 기능을 포함하고 있습니다. 이는 스킬의 보안성을 높이는 긍정적인 요소입니다. 3. **선언되지 않은 외부 통신 여부:** 코드 내에서 외부 네트워크 통신을 위한 라이브러리(예: `requests`, `urllib`)나 시스템 호출이 전혀 사용되지 않았습니다. 스킬은 `stdin_stdout` 패턴에 따라 표준 입력을 받아 처리하고 표준 출력으로 결과를 반환하는 방식으로만 작동합니다. 4. **사용자 데이터 무단 수집/전송 여부:** 스킬은 입력된 데이터를 처리하여 결과를 반환할 뿐, 어떠한 방식으로도 사용자 데이터를 무단으로 수집하거나 외부로 전송하는 기능이 없습니다. `network: false` 권한 선언과 코드 내용이 이를 뒷받침합니다. 5. **코드 품질 및 목적 일치 여부:** 코드는 모듈화가 잘 되어 있고, 주석이 상세하며, 가독성이 높습니다. 'zero dependencies', 'Korean UTF-8 native', 'SVG+text-art output', '10+ audit rules' 등 메타데이터에 명시된 모든 기능과 특징이 코드에 충실하게 구현되어 있습니다. 특히, `qr_encoder.py`는 ISO/IEC 18004 표준을 자체 구현하여 외부 의존성 없이 QR 코드를 생성하며, `lib/svg_renderer.py`는 SVG 및 텍스트 아트를 순수 Python으로 렌더링합니다. `lib/qr_decoder.py`는 자체 생성한 텍스트 아트 QR 코드만 디코딩한다는 명확한 한계를 명시하여 투명성을 확보했습니다. 결론적으로, 이 스킬은 보안 위험이 없으며, 높은 코드 품질과 명확한 목적을 가지고 안전하게 작동하도록 설계되었습니다.

Version History

Version USK v3 Vetting Status Packaged At Downloads Changelog
v1.0.0 approved 2026-04-29 ⬇ 1 1.0.0: 최초 공개 — generate_qr/generate_barcode/decode_qr/audit 4종 액션, ISO/IEC 18004 자체 구현 (버전 1–10), Code128+EAN-13+EAN-8+UPC-A, 한국어 UTF-8 네이티브, 외부 의존성 0

Examples 9

Representative input/output examples for this skill. Agents can use these to understand how to invoke the skill and what output to expect.

QR 생성 — URL (영어)
# generate_qr# url# ecl_q

https URL을 QR 코드로 인코딩합니다. ECL=Q로 URL에 권장 설정을 사용합니다.

📥 Input
{
  "action": "generate_qr",
  "data": "https://aiskillstore.io",
  "error_correction": "Q",
  "output_format": "text_art"
}
📤 Output
{
  "action": "generate_qr",
  "metadata": {
    "data_length_bytes": 22,
    "data_length_chars": 22,
    "ecl": "Q",
    "has_multibyte": false,
    "mode": "byte",
    "output_format": "text_art"
  },
  "modules": 25,
  "qr_matrix": [
    [
      0,
      0,
      0
    ],
    [
      "..."
    ]
  ],
  "qr_svg": "\u003csvg ...\u003e...\u003c/svg\u003e",
  "qr_text_art": "  ##  ##  ## ...(abbreviated)",
  "version": 2
}
QR 생성 — 한국어 텍스트
# generate_qr# korean# multibyte# utf8

한국어 텍스트를 UTF-8 Byte 모드로 QR 인코딩합니다. 멀티바이트 메타데이터가 반환됩니다.

📥 Input
{
  "action": "generate_qr",
  "data": "\uc548\ub155\ud558\uc138\uc694 AI Skill Store",
  "error_correction": "M",
  "output_format": "matrix"
}
📤 Output
{
  "action": "generate_qr",
  "metadata": {
    "data_length_bytes": 35,
    "data_length_chars": 20,
    "ecl": "M",
    "has_multibyte": true,
    "mode": "byte",
    "output_format": "matrix"
  },
  "modules": 29,
  "qr_matrix": [
    [
      1,
      1,
      1,
      1,
      1,
      1,
      1
    ]
  ],
  "qr_svg": "\u003csvg ...\u003e...\u003c/svg\u003e",
  "qr_text_art": "  ##  ##...",
  "version": 3
}
바코드 생성 — EAN-13
# generate_barcode# ean13# check_digit

EAN-13 바코드를 생성합니다. 12자리 입력 시 체크 디짓을 자동 계산합니다.

📥 Input
{
  "action": "generate_barcode",
  "data": "590123412345",
  "format": "ean13"
}
📤 Output
{
  "action": "generate_barcode",
  "barcode_svg": "\u003csvg ...\u003e...\u003c/svg\u003e",
  "barcode_text_art": "| ||| | |...",
  "check_digit": "7",
  "encoded_data": "5901234123457",
  "encoded_pattern": [
    1,
    0,
    1,
    1,
    0
  ],
  "symbology": "EAN-13"
}
QR 디코딩 — text_art 복원
# decode_qr# roundtrip

generate_qr로 생성한 text_art를 다시 원본 데이터로 복원합니다.

📥 Input
{
  "action": "decode_qr",
  "qr_text_art": "    \n  ##########  \n  ##      ##  \n  ##  ##  ##  \n  ##      ##  \n  ##########  \n    "
}
📤 Output
{
  "action": "decode_qr",
  "decoded_data": "HELLO",
  "note": "\uc774 \ub514\ucf54\ub354\ub294 \uc774 \uc2a4\ud0ac\uc774 \uc0dd\uc131\ud55c text_art QR \ucf54\ub4dc\ub9cc \uc9c0\uc6d0\ud569\ub2c8\ub2e4. / This decoder supports only text_art QR codes generated by this skill."
}
감사 — 안전한 URL
# audit# url# ecl_recommendation

https URL을 QR 감사합니다. 짧은 URL에 ECL Q 이상 권장 메시지가 반환됩니다.

📥 Input
{
  "action": "audit",
  "data": "https://example.com",
  "error_correction": "M",
  "target": "qr"
}
📤 Output
{
  "action": "audit",
  "audit_result": {
    "findings": [
      {
        "fix_hint": {
          "action": "increase_ecl",
          "field": "error_correction",
          "reference": "ISO/IEC 18004:2015 \u00a77.4.1",
          "suggested_value": "Q"
        },
        "message": "URL \ub370\uc774\ud130\uc5d0\ub294 ECL Q(25% \ubcf5\uad6c) \ub610\ub294 H(30% \ubcf5\uad6c)\ub97c \uad8c\uc7a5\ud569\ub2c8\ub2e4. \ud604\uc7ac ECL=M\ub294 \uc778\uc1c4 \ud488\uc9c8 \uc800\ud558 \uc2dc \uc2a4\uce94 \uc2e4\ud328 \uc704\ud5d8\uc774 \uc788\uc2b5\ub2c8\ub2e4. / For URLs, ECL Q or H recommended. Current ECL=M may fail if print quality is low.",
        "rule_id": "QUAL001",
        "severity": "low",
        "title": "URL\uc5d0 ECL Q/H \uad8c\uc7a5",
        "title_en": "ECL Q/H recommended for URLs"
      }
    ],
    "passed": true,
    "risk_level": "low",
    "score": 95
  }
}
감사 — 위험 패턴 감지
# audit# security# xss# critical

javascript: URI 패턴이 포함된 데이터를 감사합니다. critical 발견이 반환됩니다.

📥 Input
{
  "action": "audit",
  "data": "javascript:alert(\u0027xss\u0027)",
  "target": "qr"
}
📤 Output
{
  "action": "audit",
  "audit_result": {
    "findings": [
      {
        "fix_hint": {
          "action": "remove_pattern",
          "field": "data",
          "reference": "OWASP QR Code Security",
          "suggested_value": "Remove or sanitize the dangerous pattern"
        },
        "message": "\ub370\uc774\ud130\uc5d0 \uc704\ud5d8\ud55c \ud328\ud134(javascript: URI \ud328\ud134)\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. QR \ucf54\ub4dc\ub85c \ubc30\ud3ec\ud560 \uacbd\uc6b0 \uc0ac\uc6a9\uc790 \uae30\uae30\uc5d0\uc11c \ubcf4\uc548 \uc704\ud611\uc774 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. / Data contains dangerous pattern (javascript: URI scheme). This may pose security risks when scanned.",
        "rule_id": "SEC001",
        "severity": "critical",
        "title": "\uc704\ud5d8 \ud328\ud134 \uac10\uc9c0: javascript: URI \ud328\ud134",
        "title_en": "Dangerous pattern detected: javascript: URI scheme"
      }
    ],
    "passed": false,
    "risk_level": "critical",
    "score": 10
  }
}
감사 — 한국어 멀티바이트 안내
# audit# korean# i18n# multibyte

한국어 텍스트 QR 감사 시 UTF-8 멀티바이트 및 CJK 안내를 반환합니다.

📥 Input
{
  "action": "audit",
  "data": "\uc548\ub155\ud558\uc138\uc694",
  "error_correction": "L",
  "target": "qr"
}
📤 Output
{
  "action": "audit",
  "audit_result": {
    "findings": [
      {
        "fix_hint": {
          "action": "verify_scanner_utf8",
          "field": "data",
          "reference": "ISO/IEC 18004:2015 \u00a76.4.5 (Byte mode)",
          "suggested_value": "Ensure target scanner supports UTF-8 decoding"
        },
        "message": "\ub370\uc774\ud130\uc5d0 \uba40\ud2f0\ubc14\uc774\ud2b8 \ubb38\uc790\uac00 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4 (\ubb38\uc790 \uc218=5, \ubc14\uc774\ud2b8 \uc218=15, \ud3c9\uade0 3.0\ubc14\uc774\ud2b8/\ubb38\uc790). \uc774 \uc2a4\ud0ac\uc740 Byte \ubaa8\ub4dc\ub85c UTF-8 \uc778\ucf54\ub529\ud569\ub2c8\ub2e4. / Data contains multibyte chars (chars=5, bytes=15, avg 3.0 bytes/char). Encoded in Byte mode (UTF-8).",
        "rule_id": "I18N001",
        "severity": "info",
        "title": "UTF-8 \uba40\ud2f0\ubc14\uc774\ud2b8 \uac10\uc9c0",
        "title_en": "UTF-8 multibyte characters detected"
      },
      {
        "fix_hint": {
          "action": "use_ecl_q_or_higher",
          "field": "error_correction",
          "reference": "ISO/IEC 18004:2015 \u00a76.4.5",
          "suggested_value": "Q"
        },
        "message": "\ud55c\uad6d\uc5b4 \ub610\ub294 CJK \ubb38\uc790\uac00 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \uac01 \ubb38\uc790\ub294 UTF-8\ub85c 3\ubc14\uc774\ud2b8\uc774\ubbc0\ub85c QR \uc6a9\ub7c9 \uacc4\uc0b0 \uc2dc \uc8fc\uc758\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. ECL Q \uc774\uc0c1\uc744 \uad8c\uc7a5\ud569\ub2c8\ub2e4. / Korean/CJK characters detected. Each char is 3 bytes in UTF-8. ECL Q or higher recommended.",
        "rule_id": "I18N002",
        "severity": "info",
        "title": "\ud55c\uad6d\uc5b4/CJK \ubb38\uc790 \uac10\uc9c0",
        "title_en": "Korean/CJK characters detected"
      }
    ],
    "passed": true,
    "risk_level": "low",
    "score": 80
  }
}
에러 케이스 — action 누락
# error# missing_action

action 필드가 없으면 INVALID_INPUT 에러를 반환합니다.

📥 Input
{
  "data": "hello"
}
📤 Output
{
  "error": {
    "code": "INVALID_INPUT",
    "message": "action \ud544\ub4dc\uac00 \ub204\ub77d\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ud5c8\uc6a9\uac12: [\u0027audit\u0027, \u0027decode_qr\u0027, \u0027generate_barcode\u0027, \u0027generate_qr\u0027] / \u0027action\u0027 field is required. Allowed: [\u0027audit\u0027, \u0027decode_qr\u0027, \u0027generate_barcode\u0027, \u0027generate_qr\u0027]"
  }
}
에러 케이스 — 데이터 초과
# error# encode_error# too_large

QR 버전 1–10 용량을 초과하는 데이터를 encode하면 ENCODE_ERROR를 반환합니다.

📥 Input
{
  "action": "generate_qr",
  "data": "A very very very long string that exceeds QR version 10 H capacity and cannot be encoded within version 1 to 10 range aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "error_correction": "H"
}
📤 Output
{
  "error": {
    "code": "ENCODE_ERROR",
    "message": "Data too large for QR version 1\u201310 with ECL=H. Byte length=230. Try shorter data, ECL=L, or a higher version (not supported)."
  }
}

All examples are also available via the agent API: /v1/agent/skills/bd03f070-2a1d-42c2-ac73-99e09e831183/schema

Reviews & Ratings

No reviews yet. Be the first to leave one!

✍️ Write a Review