almeidamarcell/claude-code-skills/seo-images
- community
Checking that the SKILL.md file is still in the repository.
Image optimization analysis for SEO and performance. Checks alt text, file sizes, formats, responsive images, lazy loading, and CLS prevention. Use when user says "image optimization", "alt text", "image SEO", "image size", or "image audit".
Install
npx vskill@latest install almeidamarcell/claude-code-skills/seo-imagesSKILL.md
Image Optimization Analysis
Checks
Alt Text
- Present on all
<img>elements (except decorative:role="presentation") - Descriptive: describes the image content, not "image.jpg" or "photo"
- Includes relevant keywords where natural, not keyword-stuffed
- Length: 10-125 characters
Good examples:
- "Professional plumber repairing kitchen sink faucet"
- "Red 2024 Toyota Camry sedan front view"
- "Team meeting in modern office conference room"
Bad examples:
- "image.jpg" (filename, not description)
- "plumber plumbing plumber services" (keyword stuffing)
- "Click here" (not descriptive)
File Size
Tiered thresholds by image category:
| Image Category | Target | Warning | Critical | |
|---|---|---|---|---|
| Thumbnails | < 50KB | > 100KB | > 200KB | |
| Content images | < 100KB | > 200KB | > 500KB | |
| Hero/banner images | < 200KB | > 300KB | > 700KB |
Recommend compression to target thresholds where possible without quality loss.
Format
| Format | Browser Support | Use Case | |
|---|---|---|---|
| WebP | 97%+ | Default recommendation | |
| AVIF | 92%+ | Best compression, newer | |
| JPEG | 100% | Fallback for photos | |
| PNG | 100% | Graphics with transparency | |
| SVG | 100% | Icons, logos, illustrations |
Recommend WebP/AVIF over JPEG/PNG. Check for <picture> element with format fallbacks.
Recommended <picture> Element Pattern
Use progressive enhancement with the most efficient format first:
The browser will use the first supported format. Current browser support: AVIF 93.8%, WebP 95.3%.
JPEG XL: Emerging Format
In November 2025, Google's Chromium team reversed its 2022 decision and announced it will restore JPEG XL support in Chrome using a Rust-based decoder. The implementation is feature-complete but not yet in Chrome stable. JPEG XL offers lossless JPEG recompression (~20% savings with zero quality loss) and competitive lossy compression. Not yet practical for web deployment, but worth monitoring for future adoption.
Responsive Images
srcsetattribute for multiple sizessizesattribute matching layout breakpoints- Appropriate resolution for device pixel ratios
Lazy Loading
loading="lazy"on below-fold images- Do NOT lazy-load above-fold/hero images (hurts LCP)
- Check for native vs JavaScript-based lazy loading
fetchpriority="high" for LCP Images
Add fetchpriority="high" to your hero/LCP image to prioritize its download in the browser's network queue:
Critical: Do NOT lazy-load above-the-fold/LCP images. Using loading="lazy" on LCP images directly harms LCP scores. Reserve loading="lazy" for below-the-fold images only.
decoding="async" for Non-LCP Images
Add decoding="async" to non-LCP images to prevent image decoding from blocking the main thread:
CLS Prevention
widthandheightattributes set on all<img>elementsaspect-ratioCSS as alternative- Flag images without dimensions
File Names
- Descriptive:
blue-running-shoes.webpnotIMG_1234.jpg - Hyphenated, lowercase, no special characters
- Include relevant keywords
CDN Usage
- Check if images served from CDN (different domain, CDN headers)
- Recommend CDN for image-heavy sites
- Check for edge caching headers
Output
Image Audit Summary
| Metric | Status | Count | |
|---|---|---|---|
| Total Images | - | XX | |
| Missing Alt Text | ❌ | XX | |
| Oversized (>200KB) | ⚠️ | XX | |
| Wrong Format | ⚠️ | XX | |
| No Dimensions | ⚠️ | XX | |
| Not Lazy Loaded | ⚠️ | XX |
Prioritized Optimization List
Sorted by file size impact (largest savings first):
| Image | Current Size | Format | Issues | Est. Savings | |
|---|---|---|---|---|---|
| ... | ... | ... | ... | ... |
Recommendations
- Convert X images to WebP format (est. XX KB savings)
- Add alt text to X images
- Add dimensions to X images
- Enable lazy loading on X below-fold images
- Compress X oversized images
Error Handling
| Scenario | Action | |
|---|---|---|
| URL unreachable | Report connection error with status code. Suggest verifying URL and checking if site requires authentication. | |
| No images found on page | Report that no <img> elements were detected. Suggest checking if images are loaded via JavaScript or CSS background-image. | |
| Images behind CDN or authentication | Note that image files could not be directly accessed for size analysis. Report available metadata (alt text, dimensions, format from markup) and flag inaccessible resources. |
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingclaude-seo/seo-images/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/almeidamarcell/claude-code-skills/seo-images)