Skills aavegotchi-svg-custom
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.
git clone https://github.com/openclaw/skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/aaigotchi/aavegotchi-svg-custom" ~/.claude/skills/openclaw-skills-aavegotchi-svg-custom && rm -rf "$T"
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/aaigotchi/aavegotchi-svg-custom" ~/.openclaw/skills/openclaw-skills-aavegotchi-svg-custom && rm -rf "$T"
skills/aaigotchi/aavegotchi-svg-custom/SKILL.mdaavegotchi-svg-custom
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:
- "render an OG SVG ETH gotchi with common eyes, aagent hat, shades, shirt, headset, and pistol"
- "show me a classic gotchi SVG with xibot mohawk, cyborg eye, and an energy gun"
- "render token 3863 in the OG SVG style"
- "make a Base gotchi SVG with mythical eyes and wizard gear"
Do not wait for the user to explicitly say
aavegotchi-svg-custom.
What this skill does
- renders official-style OG Aavegotchi SVGs from the Base Aavegotchi diamond
- supports custom hypothetical loadouts and token-id renders
- writes PNGs by default alongside the SVGs for Telegram/chat delivery
- applies the centralized side-view exception table for wearable layering
- supports on-demand background modes: common by default, transparent, or any fixed rarity-tier color
- returns front, left, right, and back outputs plus a manifest JSON
- supports friendlier presets, collateral aliases, and wearable-name lookup
Constraints
- this skill is for OG SVG/classic gotchis on Base, not 3D renders
- requires
plus one raster tool for PNG output (node
,qlmanage
,rsvg-convert
,magick
, orconvert
)inkscape - token renders depend on Base RPC availability
- custom render requests must be executed through the shell wrapper, not described hypothetically
Routing Notes
- Prefer this skill when the user asks for
,OG
,SVG
,classic
,pixel
, oronchain
gotchi renders.Base - Prefer this skill when the user wants a custom gotchi outfit in the classic Aavegotchi look.
- Prefer
instead when the user explicitly wants agotchi-3d-custom-render
,3D
,portrait
,headshot
, orhosted renderer
render.Unity - Prefer this skill instead of generic image generation for gotchi outfit prompts. Do not use
or any non-Aavegotchi art generator for OG gotchi requests.image_generate - If the user gives a token ID, use
rather than reconstructing the outfit manually.--token-id
Entry points
- main wrapper:
scripts/render-custom-gotchi-svg.sh - delivery helper:
scripts/show-svg-custom.sh - direct renderer:
scripts/render-svg-custom.mjs
Execution Rules
For 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:
- a fresh
slugtg-* - fresh output files
- exact
/FRONT_MEDIA
/LEFT_MEDIA
/RIGHT_MEDIABACK_MEDIA - a matching
SUMMARY
After running the wrapper:
- read the generated manifest JSON
- prefer the PNG outputs for chat and Telegram delivery
- only send raw SVG files if the user explicitly asks for SVG
- if only one angle is needed, send the most relevant PNG from the manifest
- if multiple angles are helpful, send
,front_png
,left_png
, andright_pngback_png
Quick usage
From 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.json
For OpenClaw Agents
Use
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.
Input contract
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-png
Wearable flags can take either:
- numeric IDs like
--head 59 - quoted names like
--head 'Aagent Fedora Hat'
Friendly examples
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:
- "render a custom ETH gotchi in the OG SVG style with Aagent gear"
- "show me a Base gotchi SVG with xibot mohawk and cyborg eye"
- "render this with the rarity color background"
- "render this with a transparent background"
- "render token 3863 as PNGs"
- "make a classic pixel gotchi with mythical eyes and wizard wearables"
Background mode rules:
- default to
--background-mode common - if the user asks for
,transparent background
, orno background
, usewithout the rarity square--background-mode transparent - if the user does not specify a background color, keep it
even if the gotchi's computed rarity is differentcommon - if the user asks for a specific rarity color, use that exact tier:
--background-mode common--background-mode uncommon--background-mode rare--background-mode legendary--background-mode mythical--background-mode godlike
- also accept the explicit rarity aliases:
--background rarity-common--background rarity-uncommon--background rarity-rare--background rarity-legendary--background rarity-mythical--background rarity-godlike
- for prompts like
, passin a mythical color background
explicitly--background mythical - for prompts like
, passwith transparent background
explicitly--background transparent - if no background wording appears in the prompt, pass
explicitly in chat so the generated file and caption cannot drift--background common
Examples:
- "render this with a mythical rarity background"
- "use the godlike bg color"
- "same gotchi with the default common background"
- "same gotchi but with a rare background square"
When to read extra files
- read
when you need preset namesreferences/presets.json - read
when you need wearable name lookupreferences/wearables.tsv - read
when debugging wearable layeringreferences/side-view-exceptions.json - read
when checking Base contract or collateral aliasesreferences/base-deployment.json