Render OG Aavegotchi SVG and PNG images from Base for custom hypothetical loadouts or existing token IDs. Use when the user wants classic onchain SVG-style gotchis rather than 3D renders.
Use this skill when the user wants a custom OG Aavegotchi render in the classic SVG style from selected traits, wearable names, wearable IDs, or a token ID on Base.
Plain-language requests should also route here, for example:
Do not wait for the user to explicitly say aavegotchi-svg-custom.
node plus one raster tool for PNG output (qlmanage, rsvg-convert, magick, convert, or inkscape)OG, SVG, classic, pixel, onchain, or Base gotchi renders.gotchi-3d-custom-render instead when the user explicitly wants a 3D, portrait, headshot, hosted renderer, or Unity render.image_generate or any non-Aavegotchi art generator for OG gotchi requests.--token-id rather than reconstructing the outfit manually.scripts/render-custom-gotchi-svg.shscripts/show-svg-custom.shscripts/render-svg-custom.mjsFor local/manual render requests outside chat, run the wrapper directly:
bash scripts/render-custom-gotchi-svg.sh ...
Do not just describe what the render would look like. Do not switch to generic image generation. Do not answer with hosted 3D renderer language.
For OpenClaw chat and Telegram replies, do not use the raw wrapper directly. Always use:
bash scripts/show-svg-custom.sh ...
That helper is the only allowed delivery path in chat because it guarantees:
tg-* slugFRONT_MEDIA / LEFT_MEDIA / RIGHT_MEDIA / BACK_MEDIASUMMARYAfter running the wrapper:
front_png, left_png, right_png, and back_pngFrom the skill root:
bash scripts/render-custom-gotchi-svg.sh --preset blank-eth --slug blank-eth
Default mode produces both SVG and PNG outputs. Use --no-png only when SVG-only output is explicitly wanted.
Outputs land in:
Renders/<slug>-front.svgRenders/<slug>-left.svgRenders/<slug>-right.svgRenders/<slug>-back.svgRenders/<slug>-front.pngRenders/<slug>-left.pngRenders/<slug>-right.pngRenders/<slug>-back.pngRenders/<slug>-manifest.jsonUse scripts/show-svg-custom.sh when the goal is to send the render back into chat. It runs the renderer, auto-generates a fresh slug when one is not provided, and prints the exact media variables to use with the message tool.
cd ~/.openclaw/workspace/skills/aavegotchi-svg-custom
bash scripts/show-svg-custom.sh --collateral ETH --eye-shape common --eye-color common --head 'Aagent Fedora Hat' --eyes 'Aagent Shades' --face 'Aagent Headset' --body 'Aagent Shirt' --hand-right 'Aagent Pistol'
Example output:
FRONT_MEDIA=./skills/aavegotchi-svg-custom/Renders/tg-1775338000-12345-front.png
RIGHT_MEDIA=./skills/aavegotchi-svg-custom/Renders/tg-1775338000-12345-right.png
CAPTION_FRONT=OG SVG gotchi - front view
CAPTION_RIGHT=OG SVG gotchi - right view
SUMMARY=OG SVG gotchi rendered. Rarity: rare (Malibu). Outfit: Aagent Shirt, Aagent Headset, Aagent Shades, Aagent Fedora Hat, Aagent Pistol.
Then use the message tool like this:
message(action: "send", media: FRONT_MEDIA, caption: CAPTION_FRONT)
message(action: "send", media: RIGHT_MEDIA, caption: CAPTION_RIGHT)
Do not pass chatId in normal Telegram reply handling.
Do not use filePath for images when media is enough.
Prefer workspace-relative paths like ./skills/aavegotchi-svg-custom/Renders/... over absolute paths.
Do not reuse the literal example slug from this document; let the helper generate a fresh slug unless the user explicitly asks for a specific one.
Never send eth-preview-* or any other stale pre-existing render. Only send the exact FRONT_MEDIA, LEFT_MEDIA, RIGHT_MEDIA, and BACK_MEDIA emitted by the current helper run.
Supported flags:
--token-id--preset--slug--collateral--eye-shape--eye-color--body--face--eyes--head--pet--hand-left--hand-right--left-hand--right-hand--bg--background-mode--find-wearable--list-collaterals--list-presets--no-pngWearable flags can take either:
--head 59--head 'Aagent Fedora Hat'bash scripts/render-custom-gotchi-svg.sh --find-wearable aagent
bash scripts/render-custom-gotchi-svg.sh --preset blank-eth --slug blank-eth
bash scripts/render-custom-gotchi-svg.sh --token-id 3863 --slug token-3863
bash scripts/render-custom-gotchi-svg.sh --collateral ETH --eye-shape common --eye-color common --head 'Aagent Fedora Hat' --eyes 'Aagent Shades' --face 'Aagent Headset' --body 'Aagent Shirt' --hand-right 'Aagent Pistol' --slug aagent-svg
bash scripts/render-custom-gotchi-svg.sh --collateral ETH --eye-shape common --eye-color common --head 'Xibot Mohawk' --eyes 'Cyborg Eye' --body 'Punk Shirt' --face 'Beard of Wisdom' --hand-right 'Energy Gun' --hand-left 'Portal Mage Black Axe' --slug xibot-svg
Natural-language request examples this skill should handle:
Background mode rules:
--background-mode commontransparent background, no background, or without the rarity square, use --background-mode transparentcommon even if the gotchi's computed rarity is different--background-mode common--background-mode uncommon--background-mode rare--background-mode legendary--background-mode mythical--background-mode godlike--background rarity-common--background rarity-uncommon--background rarity-rare--background rarity-legendary--background rarity-mythical--background rarity-godlikein a mythical color background, pass --background mythical explicitlywith transparent background, pass --background transparent explicitly--background common explicitly in chat so the generated file and caption cannot driftExamples:
references/presets.json when you need preset namesreferences/wearables.tsv when you need wearable name lookupreferences/side-view-exceptions.json when debugging wearable layeringreferences/base-deployment.json when checking Base contract or collateral aliases