> imgix
Optimize and transform images with imgix. Use when serving responsive images, implementing image CDN, adding real-time transformations, or optimizing Core Web Vitals with image delivery.
curl "https://skillshub.wtf/TerminalSkills/skills/imgix?format=md"imgix
Overview
imgix is a real-time image processing CDN. Point it at your image storage (S3, GCS, web folder), and it serves optimized, transformed images via URL parameters. No pre-processing needed — transformations happen on request and are cached globally.
Instructions
Step 1: URL API
// lib/imgix.ts — Image URL builder
import ImgixClient from '@imgix/js-core'
const client = new ImgixClient({
domain: 'myapp.imgix.net',
secureURLToken: process.env.IMGIX_TOKEN, // sign URLs to prevent abuse
})
// Responsive image with auto format/quality
const url = client.buildURL('photos/hero.jpg', {
w: 1200,
h: 630,
fit: 'crop',
auto: 'format,compress', // WebP/AVIF + quality optimization
crop: 'faces', // crop around detected faces
})
// Generate srcset for responsive images
const srcset = client.buildSrcSet('photos/hero.jpg', {
auto: 'format,compress',
fit: 'crop',
ar: '16:9',
})
Step 2: React Component
import Imgix from 'react-imgix'
function ProductImage({ path, alt }: { path: string; alt: string }) {
return (
<Imgix
src={`https://myapp.imgix.net/${path}`}
sizes="(max-width: 768px) 100vw, 50vw"
imgixParams={{
auto: 'format,compress',
fit: 'crop',
ar: '1:1',
}}
htmlAttributes={{ alt, loading: 'lazy' }}
/>
)
}
Step 3: Video Thumbnails
// Extract video thumbnails via URL
const thumbnail = client.buildURL('videos/demo.mp4', {
fm: 'jpg',
frame: 1, // extract frame at 1 second
w: 640,
h: 360,
fit: 'crop',
})
Guidelines
auto=format,compressdelivers WebP/AVIF with optimal quality — always include it.- Sign URLs with secureURLToken in production — prevents parameter tampering.
- imgix doesn't store images — it proxies from your origin (S3, GCS, HTTP).
- Use
buildSrcSet()for responsive images — generates propersrcsetwith widths. - Pricing: based on origin images accessed per month, not transformations.
> related_skills --same-repo
> zustand
You are an expert in Zustand, the small, fast, and scalable state management library for React. You help developers manage global state without boilerplate using Zustand's hook-based stores, selectors for performance, middleware (persist, devtools, immer), computed values, and async actions — replacing Redux complexity with a simple, un-opinionated API in under 1KB.
> zod
You are an expert in Zod, the TypeScript-first schema declaration and validation library. You help developers define schemas that validate data at runtime AND infer TypeScript types at compile time — eliminating the need to write types and validators separately. Used for API input validation, form validation, environment variables, config files, and any data boundary.
> xero-accounting
Integrate with the Xero accounting API to sync invoices, expenses, bank transactions, and contacts — and generate financial reports like P&L and balance sheet. Use when: connecting apps to Xero, automating bookkeeping workflows, syncing accounting data, or pulling financial reports programmatically.
> windsurf-rules
Configure Windsurf AI coding assistant with .windsurfrules and workspace rules. Use when: customizing Windsurf for a project, setting AI coding standards, creating team-shared Windsurf configurations, or tuning Cascade AI behavior.