{
  "schemaVersion": "1.0",
  "item": {
    "slug": "svg-to-image",
    "name": "SVG to Image",
    "source": "tencent",
    "type": "skill",
    "category": "内容创作",
    "sourceUrl": "https://clawhub.ai/QROST/svg-to-image",
    "canonicalUrl": "https://clawhub.ai/QROST/svg-to-image",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/svg-to-image",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=svg-to-image",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "clawhub.json",
      "requirements.txt",
      "scripts/convert_svg.py",
      "test_sample.svg"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/svg-to-image"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/svg-to-image",
    "agentPageUrl": "https://openagent3.xyz/skills/svg-to-image/agent",
    "manifestUrl": "https://openagent3.xyz/skills/svg-to-image/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/svg-to-image/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "SVG to Image",
        "body": "Convert SVG files to PNG or JPG. Useful when you have vector graphics (e.g. from map-grabber, diagrams, or design tools) and need a raster image to send in chat or use in documents."
      },
      {
        "title": "Dependencies",
        "body": "cairosvg (SVG rendering)\nPillow (only for JPG output)\n\nSetup: OpenClaw does not install Python packages automatically. After installing this skill, run once: pip install -r requirements.txt (from the skill folder). On Linux (e.g. Ubuntu/Debian), install the Cairo library first: sudo apt install libcairo2. If a script fails with ModuleNotFoundError or a cairo library error, install the missing package or system library."
      },
      {
        "title": "Convert SVG to PNG or JPG",
        "body": "Parameters:\n\ninput: Path to the SVG file.\n-o, --output: Output file path (default: same name as input with .png or .jpg).\n-f, --format: png (default) or jpg.\n--width, --height: Optional output size in pixels (keeps aspect ratio if only one is set).\n--dpi: Scale for rasterization (default 96).\n\n# SVG to PNG (default)\npython3 scripts/convert_svg.py drawing.svg -o drawing.png\n\n# SVG to JPG\npython3 scripts/convert_svg.py drawing.svg -f jpg -o drawing.jpg\n\n# Fixed width 800px (height auto)\npython3 scripts/convert_svg.py map.svg -o map.png --width 800"
      },
      {
        "title": "Sending images to Telegram",
        "body": "Used from the OpenClaw Telegram conversation. Run the script with -o <path>.png or -o <path>.jpg, then send that file to the user via the OpenClaw message/media tool.\n\nOpenClaw allowed paths: The message tool only sends files from allowed dirs (~/.openclaw/media/, ~/.openclaw/agents/, or /tmp). Use e.g. -o ~/.openclaw/media/out.png or -o /tmp/out.png; do not use the skill install directory or sending will fail.\n\nAgent behavior: When the user asks to convert an SVG to PNG or JPG (or \"send as image\"), run the script directly with exec: use convert_svg.py <svg_path> -o <output>.png (or -f jpg) with output path under an allowed dir, then send the generated image. Do not ask for confirmation; execute and return the image."
      },
      {
        "title": "Examples",
        "body": "User: \"Convert this SVG to PNG so I can send it in Telegram.\"\nAction: Run convert_svg.py <path> -o /tmp/out.png, then send the PNG to the user.\n\nUser: \"Turn map.svg into a JPG, 1200px wide.\"\nAction: Run with -f jpg -o /tmp/map.jpg --width 1200, then send the JPG."
      }
    ],
    "body": "SVG to Image\n\nConvert SVG files to PNG or JPG. Useful when you have vector graphics (e.g. from map-grabber, diagrams, or design tools) and need a raster image to send in chat or use in documents.\n\nDependencies\ncairosvg (SVG rendering)\nPillow (only for JPG output)\n\nSetup: OpenClaw does not install Python packages automatically. After installing this skill, run once: pip install -r requirements.txt (from the skill folder). On Linux (e.g. Ubuntu/Debian), install the Cairo library first: sudo apt install libcairo2. If a script fails with ModuleNotFoundError or a cairo library error, install the missing package or system library.\n\nUsage\nConvert SVG to PNG or JPG\n\nParameters:\n\ninput: Path to the SVG file.\n-o, --output: Output file path (default: same name as input with .png or .jpg).\n-f, --format: png (default) or jpg.\n--width, --height: Optional output size in pixels (keeps aspect ratio if only one is set).\n--dpi: Scale for rasterization (default 96).\n# SVG to PNG (default)\npython3 scripts/convert_svg.py drawing.svg -o drawing.png\n\n# SVG to JPG\npython3 scripts/convert_svg.py drawing.svg -f jpg -o drawing.jpg\n\n# Fixed width 800px (height auto)\npython3 scripts/convert_svg.py map.svg -o map.png --width 800\n\nSending images to Telegram\n\nUsed from the OpenClaw Telegram conversation. Run the script with -o <path>.png or -o <path>.jpg, then send that file to the user via the OpenClaw message/media tool.\n\nOpenClaw allowed paths: The message tool only sends files from allowed dirs (~/.openclaw/media/, ~/.openclaw/agents/, or /tmp). Use e.g. -o ~/.openclaw/media/out.png or -o /tmp/out.png; do not use the skill install directory or sending will fail.\n\nAgent behavior: When the user asks to convert an SVG to PNG or JPG (or \"send as image\"), run the script directly with exec: use convert_svg.py <svg_path> -o <output>.png (or -f jpg) with output path under an allowed dir, then send the generated image. Do not ask for confirmation; execute and return the image.\n\nExamples\n\nUser: \"Convert this SVG to PNG so I can send it in Telegram.\"\nAction: Run convert_svg.py <path> -o /tmp/out.png, then send the PNG to the user.\n\nUser: \"Turn map.svg into a JPG, 1200px wide.\"\nAction: Run with -f jpg -o /tmp/map.jpg --width 1200, then send the JPG."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/QROST/svg-to-image",
    "publisherUrl": "https://clawhub.ai/QROST/svg-to-image",
    "owner": "QROST",
    "version": "1.1.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/svg-to-image",
    "downloadUrl": "https://openagent3.xyz/downloads/svg-to-image",
    "agentUrl": "https://openagent3.xyz/skills/svg-to-image/agent",
    "manifestUrl": "https://openagent3.xyz/skills/svg-to-image/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/svg-to-image/agent.md"
  }
}