openclaw-asset-optimization-pipeline
v1.0.0
Published
OpenClaw skill for automated image and asset optimization pipeline
Downloads
24
Maintainers
Readme
Asset Optimization Pipeline
OpenClaw skill for automated image and asset optimization with CDN deployment support.
Features
- ✨ Image Compression - PNG, JPG, WebP, AVIF with 70-88% size reduction
- 🔄 Format Conversion - Convert between formats seamlessly
- 📱 Responsive Images - Generate multiple sizes automatically
- 🎨 SVG Optimization - SVGO integration for vector graphics
- 🔤 Icon Fonts - Generate web fonts from SVG icons
- 🧩 Sprite Sheets - Combine images into sprite sheets
- ☁️ CDN Upload - Deploy to S3/CloudFront automatically
Installation
npm install @openclaw/asset-optimization-pipelineQuick Start
# Compress images
asset-optimize compress ./images --output ./optimized --quality 85
# Convert to WebP
asset-optimize convert ./images --format webp --quality 90
# Generate responsive images
asset-optimize resize hero.jpg --sizes 640,1024,1920 --formats webp,avif
# Create icon font
asset-optimize icon-font ./icons --name my-icons --output ./fonts
# Upload to CDN
asset-optimize upload ./optimized --bucket my-assets --cdnAPI Usage
import { AssetPipeline } from '@openclaw/asset-optimization-pipeline';
const pipeline = new AssetPipeline({
quality: 85,
outputDir: './dist',
});
// Compress
const result = await pipeline.compress('./images');
console.log(`Saved ${result.totalSavingsPercent}%`);
// Convert
await pipeline.convert('./image.png', {
format: 'webp',
quality: 90,
});
// Responsive
await pipeline.responsive('./hero.jpg', {
sizes: [640, 1024, 1920],
formats: ['webp', 'avif'],
});
// Icon font
await pipeline.iconFont('./icons', {
name: 'my-icons',
output: './fonts',
formats: ['woff2', 'woff'],
});Performance
Typical compression savings:
- PNG: 76% (pngquant)
- JPG: 77% (mozjpeg)
- WebP: 83% vs PNG
- AVIF: 88% vs PNG
- SVG: 76% (SVGO)
CI/CD Integration
# .github/workflows/optimize-assets.yml
name: Optimize Assets
on:
push:
paths: ['assets/**']
jobs:
optimize:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: npm i -g @openclaw/asset-optimization-pipeline
- run: asset-optimize compress ./assets --output ./dist
- run: asset-optimize upload ./dist --bucket ${{ secrets.S3_BUCKET }}
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET }}License
MIT
