skills/compress-images/SKILL.md
Compress images for web/SEO performance using cwebp. Use when optimizing images for faster page loads, reducing file sizes, or converting JPG/PNG to WebP format.
npx skillsauth add rameerez/claude-code-startup-skills compress-imagesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Compress all images in $ARGUMENTS (or app/assets/images/content/ if no path provided) to WebP format, optimized for SEO performance (target: under 100KB per image).
originals/ subfolder inside the target directory and move source files there. Never destroy source files.originals/ to the parent directory as .webp.webptarget-directory/
├── originals/ # High-quality source files preserved here
│ ├── hero.jpg
│ └── feature.png
├── hero.webp # Compressed, web-optimized
└── feature.webp
IMPORTANT: Keep compressing until ALL images are under 100KB. Check sizes after each pass and re-compress any that exceed the target.
cwebp -q 70 -resize 1200 0 originals/image.jpg -o image.webp
ls -lh image.webp # Check size
# Try these in order until under 100KB:
cwebp -q 60 -resize 1200 0 originals/image.jpg -o image.webp
cwebp -q 50 -resize 1200 0 originals/image.jpg -o image.webp
cwebp -q 45 -resize 1200 0 originals/image.jpg -o image.webp
cwebp -q 40 -resize 1200 0 originals/image.jpg -o image.webp
cwebp -q 35 -resize 1200 0 originals/image.jpg -o image.webp
# If q 35 at 1200px is still over 100KB, reduce to 1000px:
cwebp -q 30 -resize 1000 0 originals/image.jpg -o image.webp
cwebp -q 25 -resize 1000 0 originals/image.jpg -o image.webp
From actual compression run on content images:
| Image | Original | First Try | Final | Settings Used | |-------|----------|-----------|-------|---------------| | waves.jpg | 198KB | 33KB | 33KB | q 70, 1200px (1 pass) | | calendar.jpg | 246KB | 42KB | 42KB | q 70, 1200px (1 pass) | | floating.jpg | 230KB | 43KB | 43KB | q 70, 1200px (1 pass) | | cash.jpg | 409KB | 88KB | 88KB | q 70, 1200px (1 pass) | | knot.jpg | 395KB | 96KB | 96KB | q 70, 1200px (1 pass) | | floating-dark.jpg | 414KB | 94KB | 94KB | q 70, 1200px (1 pass) | | keyboard2.jpg | 459KB | 102KB | 102KB | q 70, 1200px (1 pass, acceptable) | | perpetual.jpg | 565KB | 130KB | 96KB | q 40, 1200px (3 passes) | | keyboard.jpg | 718KB | 196KB | 98KB | q 25, 1000px (5 passes) |
ls -lh *.webp - re-run compression on any exceeding targetoriginals/ folder for future reference or re-compressioncontent-media
Post to X (Twitter) from the command line. Text, images, and video.
devops
Generate subtitles (SRT/VTT) and plain text transcripts from video or audio files using AWS Transcribe. Use when creating captions, extracting spoken content, generating transcripts for notes, or making video content searchable.
testing
Download videos from social media URLs (X/Twitter, YouTube, Instagram, TikTok, etc.) using yt-dlp. Use when saving a video locally, extracting content for transcription, or archiving video references.
content-media
Deep-dive into customer empathy and user journey thinking. Use when designing onboarding, improving UX, planning features, or trying to understand how to delight users faster.