Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/godot-fun/godot-frameworknpx agentmods add skills/godot-fun/godot-framework/image-sprite-sheet-splitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/godot-fun/godot-framework/image-sprite-sheet-split)<a href="https://agentmods.dev/skills/godot-fun/godot-framework/image-sprite-sheet-split"><img src="https://agentmods.dev/badge/skills/godot-fun/godot-framework/image-sprite-sheet-split/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/godot-fun/godot-framework/image-sprite-sheet-split"><img src="https://agentmods.dev/badge/skills/godot-fun/godot-framework/image-sprite-sheet-split.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00064 | $0.01407 |
| Opus 5.5 | $0.00026 | $0.00563 |
| Sonnet 5.5 | $0.00013 | $0.00281 |
| Haiku 4.5 | $0.00006 | $0.00141 |
Grade A, and why
image-sprite-sheet-split scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 114 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Image Sprite Sheet Split
Split uniform grid sprite sheets into individual PNG frames via FFmpeg crop. Preserves per-cell dimensions and alpha. Does not remove backgrounds �?run image-remove-background on frames afterward if needed.
Rules
When this skill applies, read and follow skill-dependency-manager �?run scripts as documented, install missing tools into .dependency/.
- Run
split_frames.pythrough thepythonmanifest entry (.dependency/python/). Never use hostpython,py, orpython3. - Do not hand-write FFmpeg crop commands �?use the bundled script.
- Single file only. Pass one sprite sheet with
--image; directories are not supported. - Grid size required. Supply
--grid COLSxROWSbefore running (e.g.4x4,6x3). populated: falseis not a reason to skip. Install first, setpopulated: true, retry the same command.- Never overwrite sources. Output goes into
<image-dir>/image-sprite-sheet-split/<sheet-stem>/by default (or under-o). - Never copy or move input images. Pass the user's actual file path.
Setup (first run)
-
Ensure
pythonandffmpegare populated in.dependency/manifest.json(see skill-dependency-manager). -
FFmpeg must include
ffprobebesideffmpegin the samebin/folder.
Quick Start
Default: <image-dir>/image-sprite-sheet-split/<sheet-stem>/ beside the input sheet:
# 4×4 sheet �?image/effects/image-sprite-sheet-split/fire_sheet/fire_sheet_001.png �?fire_sheet_016.png
.dependency/python/python .ai/image-sprite-sheet-split/split_frames.py --image image/effects/fire_sheet.png --grid 4x4
Custom output root:
.dependency/python/python .ai/image-sprite-sheet-split/split_frames.py --image image/effects/fire_sheet.png --grid 4x4 -o image/effects/frames/
# �?image/effects/frames/fire_sheet/fire_sheet_001.png �?```
## Defaults
| Option | Default | Notes |
|--------|---------|-------|
| `--image` | **Required** | Single sprite sheet image file |
| `--grid` | **Required** | **COLSxROWS** (columns first), e.g. `4x4`, `6x3` |
| Output | `image-sprite-sheet-split/<stem>/` | Use `-o` / `--output` for a custom root directory |
Frames are exported **row-major** (left→right, top→bottom): `_001`, `_002`, �?
Supported inputs: `.png`, `.jpg`, `.jpeg`, `.webp`, `.gif`, `.bmp`, `.tif`, `.tiff`, `.avif`, `.ico`.
## When to use
| Good fit | Poor fit |
|----------|----------|
| Uniform N×M grid (4×4, 3×6, 8×1) | Irregular / free-form layouts |
| Gemini or Aseprite-style sheets | Packed texture atlases with variable frame sizes |
| Sheets without gutters or border padding | Sheets with grid lines, gutters, or outer padding |
| Preparing frames for per-frame background removal | Auto-detecting grid size (must be supplied) |
**rembg on whole sheets removes animation content** �?split frames first, then remove backgrounds per frame if needed.
## Agent Workflow
1. **Confirm grid size** �?ask or infer from context (`4x4`, `3x6`, etc.).
2. **Trial first** �?split one sheet, inspect `image-sprite-sheet-split/<stem>/001.png` and the last frame.
3. **Check warnings** �?if image size is not evenly divisible, verify cell crops still look correct.
4. **More sheets** �?run once per file with the same grid settings.
5. **Revert** �?delete the output folder; sources are never modified.
## Examples
4×4 explosion sheet (2048×2048 �?16 × 512×512):
```bash
.dependency/python/python .ai/image-sprite-sheet-split/split_frames.py --image sheet.png --grid 4x4
6×3 sheet:
.dependency/python/python .ai/image-sprite-sheet-split/split_frames.py --image sheet.png --grid 6x3
Agent Notes
- Use the bundled script, not hand-written FFmpeg crop commands.
- Missing Python/FFmpeg �?populate
.dependency/per skill-dependency-manager, retry same command. - Do not copy, move, or replace the source with frame outputs �?tell the user where the output folder is.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 114 lines · 64 tokens per session scan A 61ecf69f3fac
image-sprite-sheet-split is a skill published in the GitHub repository godot-fun/godot-framework (116 stars, last pushed 1mo ago), licensed MIT. It adds 64 tokens to every session and 1,407 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
playtest-report
Structured playtest report template, or turn existing playtest notes into structured feedback.
godot-signals-groups
Build event-driven, decoupled Godot 4.7 gameplay with signals and node groups: declare and emit custom signals, connect with Callables (incl. bind/one-shot), and broadcast to many nodes via groups and callgroup. Use when wiring node communication in a Godot project, replacing tight references with signals…
motion
Reconstruct a skeleton from calibrated mesh projections and sequential VLM joint annotations, then fit joints and skin weights. Generate motion from joint-position trajectories, rhythm and contact constraints through IK; refine bone orientation against the action, then export, retarget and validate on the target mesh.
unity-addressables
Manage Addressables groups, entries, profiles and content builds (com.unity.addressables, reflection-based).
threejs-exposure-color-grading
Build a measured exposure and grading path in Three.js. Use for a 64x36 encoded luminance meter, asynchronous readback, weighted log-average exposure, asymmetric adaptation, single tone-map ownership, and a generated 32-cube post-tone-map LUT.
unity-manual-component
Manually add, configure, reorder, and copy components on GameObjects using Unity Editor UI. For one-off Inspector workflows that do not need REST automation.