agentsclimarketplace

Compression runtime

Skill onfire7777/universal-ai-skills-library/skills/compression-runtime

Compress or convert generated images for delivery, preview, and social upload. Use when the user asks to compress an image, optimize image size, convert to webp, or reduce file size after generation.From its SKILL.md

Install
npx -y skills add onfire7777/universal-ai-skills-library --skill compression-runtime

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 14 stars14 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.9 KB, 925 tokens by cl100k_base, as published. Nobody here has run it

Bundled Compression Runtime

Compress or convert generated images for delivery, preview, and social upload. Optimize image size, convert to webp, or reduce file size after generation.

This skill uses the best available local toolchain and stays self-contained.

Script:

  • scripts/main.ts

Use Cases

  • files are too large to share easily
  • output needs to be converted to webp
  • a lighter preview image is needed
  • images should be optimized before social upload

Example Prompts

  • Compress my cover image to webp for social upload
  • Optimize all images in the output directory to reduce file size
  • Convert this PNG to a lighter webp format at quality 80

Important: at least one of cwebp, magick, or sips must be available locally.

Backend Preference

Preferred order:

  1. cwebp for WebP output
  2. magick or convert for conversion and flexible processing
  3. sips as a macOS-native fallback

CLI

${BUN_X} {baseDir}/scripts/main.ts <input> [options]

Options

OptionDescription
<input>input file or directory
--output, -ooutput file or directory
--format, -fwebp, png, or jpeg (default: webp)
--quality, -qquality 0-100 (default: 80)
--keep, -kkeep the original when the output extension matches the input
--recursive, -rprocess directories recursively
--jsonreturn JSON output

Common Examples

Single image to WebP:

${BUN_X} {baseDir}/scripts/main.ts input.png -f webp -q 80

Single image to JPEG:

${BUN_X} {baseDir}/scripts/main.ts input.png -f jpeg -q 82

Recursive directory compression:

${BUN_X} {baseDir}/scripts/main.ts ./images -r -f webp

JSON output:

${BUN_X} {baseDir}/scripts/main.ts input.png --json

Workflow

  1. Identify the input: a single image file or a directory of images.
  2. Choose the target format (webp, png, or jpeg) and quality level.
  3. Run the CLI with the chosen options.
  4. Verify the output exists and is smaller than the input.
  5. If processing a directory, use --recursive to handle nested folders.

Output Convention

Recommended behavior:

  • keep the original image untouched
  • write the compressed result under a new name
  • store results in the same directory or in a compressed/ subdirectory

Example:

cover-image/topic-slug/
├── cover.png
└── compressed/
    └── cover.webp

Re-run Behavior

  • Re-compressing the same input produces a new output file (or overwrites an existing one at the same path).
  • The original input is never modified unless --keep is used and the output extension matches the input.
  • --recursive re-processes all matching files in the directory, including previously compressed ones.
  • To avoid double-compression, point --output to a separate compressed/ subdirectory.

Definition of Done

  • The compressed output file exists and is smaller than the input.
  • The original file is preserved (not overwritten) unless --keep is used with matching extensions.
  • Output format matches the requested --format.
  • --json mode produces a valid JSON summary with input size, output size, and compression ratio.

Current Behavior

  • prefers cwebp -> magick / convert -> sips
  • supports single files and directories
  • supports recursive scanning
  • supports JSON summaries
  • does not delete the original just because the format changes; use --keep when the output extension matches the input
  • webp output requires cwebp or ImageMagick; if only sips is available, prefer png or jpeg

What ships with it: 4 files

12.8 KB alongside SKILL.md, 1 of them executable

scripts/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.