Skills aavegotchi-sprites-generator-skill
Generate official-style Aavegotchi game sprites and animated GIFs with the upstream gotchi-generator package. Use when the user wants sprite-sheet style outputs rather than OG SVG renders or 3D renders.
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/aaigotchi/aavegotchi-sprites-generator" ~/.claude/skills/clawdbot-skills-aavegotchi-sprites-generator-skill && rm -rf "$T"
manifest:
skills/aaigotchi/aavegotchi-sprites-generator/SKILL.mdsource content
aavegotchi-sprites-generator-skill
This skill generates Aavegotchi game sprites by wrapping the official
gotchi-generator package from aavegotchi/aavegotchi-game-sprites.
When to use it
Use this skill when the user wants:
- game sprite style gotchi art
- sprite PNG output
- animated sprite GIF output
- trait-layer compositing based on official sprite assets
- retro or battle-sprite style gotchi output
- batch sprite generation from gotchi JSON payloads
Do not use this skill when the user wants:
- OG onchain SVG style output
- 3D gotchi renders
Chat-first behavior
For Telegram or normal chat replies, prefer:
bash ./scripts/show-gotchi-sprite.sh ...
That helper prints:
SPRITE_MEDIAGIF_MEDIACAPTION_SPRITECAPTION_GIFSUMMARY
and always uses a fresh output folder so chat replies do not reuse stale files.
For Telegram delivery:
- animated sprite GIF requests should send
as a downloadable file/document usingGIF_MEDIAfilePath - static sprite replies can still send
as normalSPRITE_MEDIAmedia - do not send animated GIF replies as Telegram animated media if the goal is to preserve the actual
file.gif
Background logic
Background logic matches the gotchi SVG skill:
- default background:
common - explicit
: transparent outputtransparent - explicit
,uncommon
,rare
,legendary
,mythical
: use that exact rarity colorgodlike
Official colors:
->common#806AFB
->uncommon#20C9C0
->rare#59BCFF
->legendary#FFC36B
->mythical#FF96FF
->godlike#51FFA8
GIF behavior
- GIFs are generated by default
- GIFs are the default chat output
- default GIF row sequence:
(idle
)row 0 - default FPS:
12 - default GIF scale:
1x - default canvas size:
250x250 - default body placement: centered on the canvas vertical axis and anchored
upward3px - default gotchi zoom:
100% - supported zoom sizes:
,25%
,50%100%
Supported row presets:
idleflythrowattackhurtdeathall- or a custom numeric list like
0,2,3
Natural-language mapping
The wrapper accepts friendly aliases.
Collateral aliases
->ETHaWETH
->DAIaDAI
->USDCaUSDC
->USDTaUSDT
->AAVEaAAVE
->LINKaLINK
->TUSDaTUSD
->WBTCaWBTC
->UNIaUNI
Eye presets
Use the closest sprite preset for plain-language eye requests:
->common eyes--eye-shape common --eye-color common
->uncommon high eyes--eye-shape uncommon_high --eye-color uncommon_high
->uncommon low eyes--eye-shape uncommon_low --eye-color uncommon_low
->rare high eyes--eye-shape rare_high --eye-color rare_high
->rare low eyes--eye-shape rare_low --eye-color rare_low
->mythical high eyes--eye-shape mythic_high --eye-color mythical_high
->mythical low eyes--eye-shape mythic_low --eye-color mythical_low
If the user only says
common, uncommon, rare, or mythical, use the closest high variant by default.
Commands
Full JSON request
node ./scripts/render-gotchi-sprite.mjs \ --input ./Requests.sample.json \ --output-dir ./output/sample
Slot-based request
node ./scripts/render-gotchi-sprite.mjs \ --id 999001 \ --collateral ETH \ --eye-shape common \ --eye-color common \ --body "Witchy Cloak" \ --background mythical \ --gif-rows all \ --frame-size 80 \ --output-dir ./output/custom
Chat helper
bash ./scripts/show-gotchi-sprite.sh \ --collateral ETH \ --eye-shape common \ --eye-color common \ --body "Witchy Cloak" \ --background common
Response format
When using this skill, report:
- sprite PNG path
- sprite GIF path when available
- manifest JSON path
- whether generation succeeded
- any missing layer warnings
Implementation notes
- The upstream package expects Node.js and filesystem access.
- The wrapper script loads the package config from
.getPackageBasePath() - If generation fails because trait values do not match asset names, return the missing layer details instead of guessing.
Frame crop behavior
- default source frame size:
100x100 - default output canvas:
250x250
crops each source sprite frame to--frame-size 80
before layout80x80
controls the final output canvas per frame--canvas-size 250- hands and pets do not shift the body anchor used for placement
- Telegram/chat prompts can say
or80x80 cropped canvas
when they want a tighter source croptight crop
Zoom behavior
- default zoom:
100%
centers the gotchi at half-size in each sprite frame--zoom 50
centers the gotchi at quarter-size in each sprite frame--zoom 25- Telegram/chat prompts can say
or25% zoom50% zoom