Sprite Animator
v0.1.0Generate animated pixel art sprites from any image using AI. Send a photo, get a 16-frame animated GIF.
Security Scan
OpenClaw
Suspicious
medium confidencePurpose & Capability
The description and declared env var (GEMINI_API_KEY) align with calling a Gemini model. However the SKILL.md invokes a 'sprite-animator' CLI (e.g., 'uv run --with sprite-animator sprite-animator -i ...') but the package contains no code, no install spec, and 'sprite-animator' is not listed as a required binary — only 'uv' is required. The SKILL.md also references a GitHub repo while the registry 'Source' is 'unknown'. These mismatches make it unclear what will actually be run and where the implementation lives.
Instruction Scope
Instructions describe sending the template + user image to Gemini in a single request and assembling frames locally; they do not include low-level API call details, explicit consent/data-retention statements, or where the generation code executes. That means user images will be transmitted to an external model (potential privacy/exfiltration risk) and it's unclear whether the 'sprite-animator' command runs locally, is provided by the platform, or would be downloaded/executed from elsewhere.
Install Mechanism
There is no install spec (instruction-only), which is low-risk in general. However the Quick Start examples assume a 'sprite-animator' executable is available; because no code or install instructions are provided, it's unclear how that executable is delivered. Lack of an install mechanism combined with a referenced executable is an inconsistency the user should resolve before use.
Credentials
The single required environment variable (GEMINI_API_KEY) is proportional to the described use of Gemini. That said, the SKILL.md does not document the scope/permissions required for that key, nor how images are transmitted/stored by the model provider — important for assessing exposure of sensitive images.
Persistence & Privilege
The skill does not request 'always: true' and does not declare any config paths or other elevated presence. Default autonomous invocation is allowed (platform default) but is not combined with other high-privilege requests here.
Scan Findings in Context
[no-findings] expected: The registry scan found no code-level patterns because this is an instruction-only skill (only SKILL.md present). Absence of findings does not mean the skill is safe; most runtime behavior is described only in prose.
What to consider before installing
Do not install or run this skill until the following are clarified: (1) Where is the implementation? Provide the GitHub repo or an install spec and explain how the 'sprite-animator' executable is delivered. (2) Confirm runtime execution model: does generation happen on your machine, on the platform, or by sending images to Gemini's servers? If images are sent externally, understand retention and privacy policies. (3) Verify the exact Gemini API endpoints, required scopes for GEMINI_API_KEY, and whether the key will be stored. If you cannot confirm these, avoid providing sensitive photos or API keys. If the owner supplies the repo or an install script you can review, re-evaluate; if that code matches the SKILL.md and exposes no additional credentials or unexpected network calls, the concern level would drop.Like a lobster shell, security has layers — review code before you run it.
Runtime requirements
🎮 Clawdis
Binsuv
EnvGEMINI_API_KEY
Primary envGEMINI_API_KEY
latest
Sprite Animator
Generate animated pixel art sprites from any image. Uses nano-banana-pro (Gemini) to create a 16-frame sprite sheet in a single request, then assembles it into an animated GIF.
Quick Start
# Wave animation (default 16 frames)
uv run --with sprite-animator sprite-animator -i photo.png -o sprite.gif -a wave
# Bounce animation with larger sprites
uv run --with sprite-animator sprite-animator -i avatar.png -o bounce.gif -a bounce -s 256
# Keep the raw sprite sheet and individual frames
uv run --with sprite-animator sprite-animator -i pet.jpg -o dance.gif -a dance --keep-sheet --keep-frames
Animations
| Type | Description |
|---|---|
idle | Subtle breathing + blinking loop |
wave | Arm raises, waves back and forth, lowers |
bounce | Crouch → jump → land → recover |
dance | Lean, spin, jump — fun and energetic |
Options
| Flag | Description |
|---|---|
-i, --input | Input image (photo, drawing, etc.) |
-o, --output | Output GIF path |
-a, --animation | Animation type: idle, wave, bounce, dance (default: idle) |
-d, --duration | Frame duration in ms (default: 100) |
-s, --size | Output sprite size in px (default: 128) |
-r, --resolution | Generation resolution: 1K or 2K (default: 1K) |
--keep-sheet | Save the raw sprite sheet |
--keep-frames | Save individual frame PNGs |
-v, --verbose | Verbose output |
How It Works
- Creates a labeled 4x4 grid template (16 cells)
- Sends the template + source image to Gemini in ONE request
- AI fills each cell with a pixel art frame following the animation sequence
- Frames are extracted from the sheet and assembled into a looping GIF
Single-request generation ensures consistent style across all frames.
Source
Comments
Loading comments...
