Agent skill

Image Resize

by godot-fun in godot-fun/gai

Resizes a single image to explicit width and height using ImageMagick.

MITAuto-check passedGame Development

Install Image Resize

skills CLI
$ npx skills add godot-fun/gai --skill image-resize -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install godot-fun/gai image-resize --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/godot-fun/gai.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/image-resize .claude/skills/image-resize && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
image-resize
GitHub stars
182
Token cost
~1.3k tokens
SKILL.md length
482 words
Files
1
Skills in repo
36
Repo updated
First seen
Licence
MIT

At a glance

Resizes a single image to explicit width and height using ImageMagick.

  • Works in 2 steps: Download ImageMagick portable build from… → Register in .dependency/manifest.json
  • The user wants image resize
  • SKILL.md covers Rules, Setup (first run), Quick Start and Resize Modes, plus 5 more sections
  • Calls python, magick and git

What it does

Image Resize is an agent skill from godot-fun/gai. Resizes a single image to explicit width and height using ImageMagick. Use when the user wants image resize, scale a sprite/texture, resize a UI asset or icon, or mentions ImageMagick resize — target size must be specified before running.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Game Development. The repository describes itself as: A lightweight AI agent and skill workflow framework built with Godot. The licence is MIT.

When your agent uses it

  • The user wants image resize
  • Scale a sprite/texture
  • Resize a UI asset
  • Mentions ImageMagick resize — target size must be specified before running

Example prompts

  • “Use the image-resize skill to resiz a single image to explicit width and height using ImageMagick”
  • “/image-resize”

Requirements

  • Python 3

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Download ImageMagick portable build from imagemagick.org and extract to .dependency/imagemagick/.
  2. Register in .dependency/manifest.json

What it can do on your machine

Read from SKILL.md and the folder at commit aa1ac71. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python
    • magick
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • imagemagick.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Image Resize loads about 1.3k tokens when it runs. Until then it costs about 63 tokens; SKILL.md has 482 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~63
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from godot-fun/gai at commit aa1ac71, republished under its MIT licence (© godot-fun). 482 words, ~1,262 tokens.

Download SKILL.mdSave it as .claude/skills/image-resize/SKILL.md (or your agent's skills folder).
name
image-resize
description
Resizes a single image to explicit width and height using ImageMagick. Use when the user wants image resize, scale a sprite/texture, resize a UI asset or icon, or mentions ImageMagick resize — target size must be specified before running.

Image Resize

Resize one image file to a user-specified width and height via ImageMagick. Both dimensions are required — do not run this skill until the user (or task) provides target pixel size.

Rules

When this skill applies, read and follow skill-dependency-manager — run scripts as documented, install missing tools into .dependency/.

  • Require target size first. If width/height are missing, ask the user before running.
  • Single file only. Pass one image with --image; directories are not supported.
  • Run resize.py through the bundled script — do not hand-write magick -resize commands.
  • Never overwrite source files. Output goes to image-resize/ (or --output) by default.
  • populated: false for imagemagick is not a reason to skip. Install first, set populated: true, retry the same command.

Setup (first run)

  1. Download ImageMagick portable build from imagemagick.org and extract to .dependency/imagemagick/.

    Windows result example: .dependency/imagemagick/magick.exe

  2. Register in .dependency/manifest.json:

json
"imagemagick": {
  "populated": true,
  "bin": ".dependency/imagemagick/magick.exe"
}

Use bin/magick on Unix (no .exe).

Quick Start

Both --width and --height are required:

bash
.dependency/python/python .ai/image-resize/resize.py --image assets/sprites/hero.png --width 128 --height 128

Example: assets/ui/icon.png → assets/ui/image-resize/icon.png at 64×64

Custom output path:

bash
.dependency/python/python .ai/image-resize/resize.py --image assets/icons/badge.png -o assets/icons_64 --width 64 --height 64

Resize Modes

ModeFlagBehavior
fit (default)--mode fitFit inside WxH, preserve aspect ratio (letterbox area unused)
fill--mode fillCover WxH, center-crop overflow
exact--mode exactForce WxH, ignore aspect ratio
bash
# Fit within 128×128 (default — no distortion)
.dependency/python/python .ai/image-resize/resize.py --image assets/hero.png --width 128 --height 128

# Cover 128×128, crop center
.dependency/python/python .ai/image-resize/resize.py --image assets/hero.png --width 128 --height 128 --mode fill

# Stretch to exactly 128×128
.dependency/python/python .ai/image-resize/resize.py --image assets/hero.png --width 128 --height 128 --mode exact

Defaults

OptionDefaultNotes
--imageRequiredSingle supported image file
--width / --heightRequiredMust be positive integers
--modefitfill or exact when user needs crop or stretch
Output<source-dir>/image-resize/<source-name>Use --output for custom file or directory
FormatSame as sourceExtension preserved (.png, .jpg, etc.)

Supported inputs: .jpg, .jpeg, .png, .webp, .gif, .bmp, .tif, .tiff, .avif, .ico.

Show full SKILL.md (229 more words)Show less

Agent Workflow

  1. Confirm size — get explicit width and height from the user (e.g. "128×128", "64 wide and 64 tall"). Do not guess from context unless the user already stated dimensions.
  2. Pick mode — default fit; use fill for square thumbnails from non-square art; use exact only when the user accepts distortion.
  3. One file per run — resize one image, verify dimensions, then repeat for additional files if needed.
  4. Paths — pass whatever image path the user gives; output lands in image-resize/ next to that file by default.
  5. Revert — delete output file or git restore; sources are never modified.

Agent Notes

  1. Use the bundled script, not hand-written ImageMagick commands.
  2. Missing Python/ImageMagick → populate .dependency/ per skill-dependency-manager, retry same command.
  3. Do not copy, move, or replace the source with resized output — tell the user where the output file is.
  4. Need format conversion only (no resize) → image-to-png.
  5. Need trim borders after resize → image-trim.

Troubleshooting

IssueFix
imagemagick missing in manifestFollow Setup; update manifest
Missing --width / --heightAsk user for target size; both flags are required
Directory passed to --imageRun once per file; this skill accepts image files only
Output larger/smaller than expectedCheck --mode — fit preserves aspect inside the box
Distorted spriteSwitch from exact to fit or fill
Animated GIFOnly first frame is processed by default ImageMagick behavior

CLI

Copy-paste commands: cli/image-resize.md

© godot-fun, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/image-resize of godot-fun/gai.

Open the folder on GitHubat commit aa1ac71

Compare with similar skills

Image Resize next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Image Resize compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Image Resize this skillgodot-fun/gai182—~1.3kAutomated safety check: PassMIT
Image to Three.js Modelimg2threejs/img2threejs18k1 repos~8.2kAutomated safety check: PassApache-2.0
Web CloneJane-xiaoer/claude-skill-web-clone1k1 repos~2.7kAutomated safety check: PassMIT
Threejs Game Directormajidmanzarpour/threejs-game-skills2.5k—~2.2kAutomated safety check: PassMIT
Game Asset Generatorhtdt/godogen7.1k—~2.8kAutomated safety check: PassMIT
Threejs Gameplay Systemsvalkor-ai/loom1.2k1 repos~1.4kAutomated safety check: PassApache-2.0

Similar skills

  • Image to Three.js Model

    img2threejs/img2threejs

    Rebuilds the object in a reference image as a procedural, animation-ready Three.js model written entirely in code, using staged sculpting with quality checks.

    18k GitHub starsUsed in 1 repo~8.2k tokens
    Game DevelopmentAuto-check passed
  • Web Clone

    Jane-xiaoer/claude-skill-web-clone

    网站复刻 / 克隆方法论。USE WHEN 用户说 复刻网站、克隆网站、clone website、抄个站、仿站、 照着这个站做一个、reproduce site、还原某个网页效果、把这个站搬下来改成我的、 复刻某个交互/WebGL/Canvas/Three.js 效果。提供「先拿真源码 → 判路径 → 逆向拆解 → 搭工程 → 替换内容」的可移植决策树,覆盖静态站 /…

    1k GitHub starsUsed in 1 repo~2.7k tokens
    Game DevelopmentAuto-check passed
  • Threejs Game Director

    majidmanzarpour/threejs-game-skills

    Entrypoint for building, upgrading, and finishing Three.js browser games.

    2.5k GitHub stars~2.2k tokensUpdated 11 days ago
    Game DevelopmentAuto-check passed
  • Generates game art from text prompts: PNG images, GLB 3D models, rigged characters, animations and sprites, with background removal.

    7.1k GitHub stars~2.8k tokensUpdated 7 days ago
    Game DevelopmentAuto-check passed
  • Build and iterate playable Three.js game systems: starter scaffold, architecture, design briefs, core loops, level and encounter design, entities, input, camera, collision and physics, scoring…

    1.2k GitHub starsUsed in 1 repo~1.4k tokens
    Game DevelopmentAuto-check passed
  • Uloop Execute Dynamic Code

    CyberAgentGameEntertainment/NovaShader

    Execute C with Unity APIs when existing uloop tools cannot inspect or edit enough.

    1.6k GitHub starsUsed in 1 repo~1.9k tokens
    Game DevelopmentAuto-check passed

More from godot-fun/gai

All 36 skills in this repo
  • AI Text To Speech

    godot-fun/gai

    Zero-shot text-to-speech with voice cloning via IndexTTS2 (index-tts).

    182 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Audio Denoise

    godot-fun/gai

    Reduces background noise in a single audio file using FFmpeg afftdn.

    182 GitHub stars~465 tokensUpdated today
    Auto-check passed
  • Audio Fade

    godot-fun/gai

    Applies fade-in and fade-out at the start and end of a single audio file using FFmpeg.

    182 GitHub stars~652 tokensUpdated today
    Auto-check passed
  • Normalizes a single audio file to consistent LUFS loudness with true-peak limiting using FFmpeg.

    182 GitHub stars~684 tokensUpdated today
    Auto-check passed
  • Standardizes a single audio file to 44100 or 48000 Hz and exports 16-bit PCM WAV using FFmpeg.

    182 GitHub stars~638 tokensUpdated today
    Auto-check passed
  • Audio Split

    godot-fun/gai

    Splits a single audio file into two segments (part 1 before the split point, part 2 after) using FFmpeg.

    182 GitHub stars~554 tokensUpdated today
    Auto-check passed

Questions about Image Resize

What does Image Resize do?

Resizes a single image to explicit width and height using ImageMagick. Image Resize is an agent skill from godot-fun/gai. Resizes a single image to explicit width and height using ImageMagick.

When should I use Image Resize?

Image Resize fits situations like: the user wants image resize; scale a sprite/texture; resize a UI asset; mentions ImageMagick resize — target size must be specified before running.

How do I install Image Resize in Claude Code?

Run `npx skills add godot-fun/gai --skill image-resize -a claude-code`. Or copy the skill folder (.agents/skills/image-resize in godot-fun/gai) into .claude/skills/image-resize in your project. Claude Code loads it when a task matches its description.

How do I install Image Resize in Codex?

Run `npx skills add godot-fun/gai --skill image-resize -a codex`. Or copy the skill folder (.agents/skills/image-resize in godot-fun/gai) into .agents/skills/image-resize in your project. Codex loads it when a task matches its description.

Can I use Image Resize in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add godot-fun/gai --skill image-resize -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/image-resize, .gemini/skills/image-resize, .github/skills/image-resize and .opencode/skills/image-resize in your project.

What does Image Resize need to run?

Going by SKILL.md and its folder, Image Resize needs the command-line tools its instructions call (python, magick and git). Our summary lists: Python 3.

Does Image Resize access the network?

SKILL.md names 1 domain. As links in the text: imagemagick.org. This is read from the text; nothing was executed.

Is Image Resize safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Image Resize use?

Image Resize is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Image Resize use?

About 1.3k tokens (SKILL.md is roughly 5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Image Resize?

Skills that share tags, products or a category with Image Resize: Image to Three.js Model (img2threejs/img2threejs, 18k stars), Web Clone (Jane-xiaoer/claude-skill-web-clone, 1k stars), Threejs Game Director (majidmanzarpour/threejs-game-skills, 2.5k stars) and Game Asset Generator (htdt/godogen, 7.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Image Resize?

godot-fun (a GitHub organization) maintains it in godot-fun/gai, which has 182 GitHub stars. The repository holds 36 skills in this directory. The repository was last updated on October 9, 2026.

Source: godot-fun/gai on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.