CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

video2dsprite

Turn one approved master still into a character's whole animated sprite set - one image-to-video clip per action (idle, walk, run, attack, jump, hurt, cast and so on), all from that still, generated through generate2dmedia route_media.py (the xAI API when a key is configured, else the local Grok CLI) - then gate each take, key it with a soft matte, register it to the master, pick loops or retime actions, finish (HD by default, pixel on request) and package fixed-canvas frames, alpha WebM, packed MP4 for iPhone and a PNG fallback with engine metadata and a JS runtime. Also processes a supplied clip. Use for character and creature animation, fluid motion and any video-to-sprite work. Not for FX, icon or prop sheets (generate2dsprite), maps or plate loops (generate2dmap), code-drawn animation (codeart2d, only on request) or calling a video API by itself (generate2dmedia).

Quality

95%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Medium

Suggest reviewing before use

SKILL.md
Quality
Evals
Security

Quality

Content

100%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

An exceptionally well-engineered skill body: dense, command-first guidance with complete workflows, validation gates, retake/resume feedback loops, and a genuine overview-to-reference split where every linked file exists. Density occasionally borders on cryptic ("A border touch inside the action means regenerate, never pad") but never becomes padding, and the two paths (whole sprite set vs one clip) are each fully traceable step by step.

DimensionReasoningScore

Conciseness

The 104-line body is telegraphic throughout: every line is a command, flag, default, or decision rule ("Box downscale with premultiplied alpha on a grid pinned to the feet, then clean alpha. Never nearest, never an upscale."), and bulk detail is pushed to reference files. No explanations of concepts Claude already known appear anywhere, and no padded sections were found to trim.

5 / 5

Actionability

Every step gives an exact, copy-paste-ready invocation ("python "<skill-dir>/scripts/sprite_set.py" plan --master <art>/master.json --output-dir <set>") with defaults, exit codes ("errors print `error: ...` and exit 1; usage errors exit 2"), and recovery commands; all scripts named in the body exist in scripts/. Only minor parameter formats (e.g. `--spans <spans>`) are delegated to a clearly linked reference, which keeps it at the top anchor rather than below it.

5 / 5

Workflow Clarity

Both flows are numbered and sequenced (sprite-set steps 1-6; one-clip pipeline steps 1-9) with explicit validation checkpoints at every gate ("register_clip.py qc", "video2dsprite.py triage", "read frames-clean/matte-report.json", "engine_export.py verify", "validate_animation.py") and explicit feedback loops ("up to 3 takes, each retake carrying the fix clause for the gate that failed", "Run it again to resume; nothing is generated twice"). The batch-generation workflow even hard-codes human review: "Never call an action approved before you have looked at its sheet".

5 / 5

Progressive Disclosure

The body is a true overview (108 lines) over 11 real reference files, each verified present in the bundle (sprite-set.md, motion-prompts.md, pipeline.md, matte.md, animation-review.md, prompt-rules.md, finishing.md, packed-alpha-runtime.js, runtime/packed-alpha-webgl.mjs, runtime/forge-runtime.mjs, schemas/video.schema.json) and clearly signaled at point of use ("Details: [pipeline.md](references/pipeline.md), keying [matte.md](references/matte.md), review and cuts [animation-review.md](references/animation-review.md), prompts [prompt-rules.md](references/prompt-rules.md)"). References are one level deep and organized by concern, with the body carrying only summary-level defaults.

5 / 5

Total

20

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A dense, explicit description that fully answers what and when, and uniquely also answers when-not with named sibling-skill exclusions, keeping conflict risk very low. The only weakness is trigger-term breadth: it names pipeline and format vocabulary thoroughly but omits a few of the most natural user phrasings ("sprite sheet", "game character") that would help routing.

Suggestions

Add the natural user phrasings that are currently missing from the trigger clause — e.g. "sprite sheet", "game character", "animate a character from a still" — alongside the existing "character and creature animation, fluid motion and any video-to-sprite work".

Frame one or two terms from the user's side of the exchange rather than only the pipeline's side (e.g. "turn an MP4 clip into transparent, looping game frames") so the description matches how a user would phrase the request.

DimensionReasoningScore

Specificity

The description lists the full concrete pipeline: "gate each take, key it with a soft matte, register it to the master, pick loops or retime actions, finish (HD by default, pixel on request) and package fixed-canvas frames, alpha WebM, packed MP4 for iPhone and a PNG fallback with engine metadata and a JS runtime. Also processes a supplied clip." This is comprehensive, format-level coverage of input, routing, gating, keying, registration, timing, finishing, and packaging — above anchor 4, which allows minor coverage gaps.

5 / 5

Completeness

Both questions are answered explicitly: the "what" is the full pipeline above, and the "when" is a concrete trigger clause — "Use for character and creature animation, fluid motion and any video-to-sprite work" — reinforced by a supplied-clip case ("Also processes a supplied clip") and explicit exclusions ("Not for FX, icon or prop sheets (generate2dsprite), maps or plate loops (generate2dmap), code-drawn animation (codeart2d, only on request) or calling a video API by itself (generate2dmedia)").

5 / 5

Trigger Term Quality

Good natural coverage: "animated sprite set", "character and creature animation", "fluid motion", "video-to-sprite work", the action names ("idle, walk, run, attack, jump, hurt, cast"), and format terms ("alpha WebM", "packed MP4", "PNG"), with synonyms (character/creature, animation/motion). It falls short of anchor 5's comprehensive natural-term coverage — common user phrasings like "sprite sheet", "game character", or "animate my character" are absent — but is well above anchor 3's partial coverage.

4 / 5

Distinctiveness Conflict Risk

The niche (one master still → video-model sprite set) is distinct, and every adjacent skill is explicitly disambiguated by name in the "Not for..." clause (generate2dsprite, generate2dmap, codeart2d, generate2dmedia), which is exactly the negative-boundary pattern the top anchor rewards. Conflict risk with sibling media skills is minimal.

5 / 5

Total

19

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 6 suspicious

Warning

referenced_paths_exist

Referenced path issues: 3 deeper-than-1-level

Warning

Total

14

/

16

Passed

Repository

0x0funky/agent-sprite-forge

Path

skills/video2dsprite/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.