From image-production
Use when the user wants to AI-upscale images 2× / 3× / 4× — recovering detail in low-res sources, prepping small photos for print, enlarging AI-generated images. Wraps `upscayl-bin` (the CLI bundled with Upscayl) with its model library; falls back to standalone `realesrgan-ncnn-vulkan` if Upscayl isn't installed. GPU-accelerated via Vulkan.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin image-productionThis skill uses the workspace's default tool permissions.
AI upscaling via `upscayl-bin` — the CLI shipped with the Upscayl GUI. Same Vulkan-accelerated `realesrgan-ncnn-vulkan` engine as standalone, but with Upscayl's curated model selection bundled.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
AI upscaling via upscayl-bin — the CLI shipped with the Upscayl GUI. Same Vulkan-accelerated realesrgan-ncnn-vulkan engine as standalone, but with Upscayl's curated model selection bundled.
Do not use this skill when:
fast-resize is the right tool (much faster, no AI).tesseract re-OCR + re-typeset instead.2, 3, or 4 (Upscayl's bundled models are 4× natively; 2× and 3× are produced by post-resize). Default 4.upscayl-standard-4x (default — best general-purpose photo upscaler).upscayl-lite-4x (faster, lower quality, good for batches).realesrgan-x4plus (classic, slightly different texture handling).realesrgan-x4plus-anime (illustrations, line art, anime).remacri-4x / ultramix-balanced-4x (alternative photo models if installed).--model-path <dir> --model-name <name> to point at a custom model.<input-dir>/upscaled/. Skill never overwrites originals.png (lossless preserves the upscale fidelity). jpg option for size-sensitive batches (uses quality 92).--recursive for directory descent.--gpu <n> to pick a specific GPU. --cpu to force CPU (slow — only for headless boxes).Locate the binary. Check in order:
which upscayl-bin/opt/Upscayl/resources/bin/upscayl-bin~/.var/app/org.upscayl.Upscayl/data/bin/upscayl-bin (Flatpak)which realesrgan-ncnn-vulkan (fallback — same syntax, smaller model selection)If none found, point the user at install-deps (Upscayl install instructions: https://upscayl.org).
Locate the models directory. For upscayl-bin, typically:
/opt/Upscayl/resources/models/~/.var/app/org.upscayl.Upscayl/data/models/~/.config/Upscayl/models/For standalone realesrgan-ncnn-vulkan, models are alongside the binary or in ./models/.
Verify the requested model exists in the resolved dir (each model is a .param + .bin pair).
Enumerate inputs (image extensions only).
For each file:
<binary> \
-i "<input>" \
-o "<output>.png" \
-s 4 \
-m "<models-dir>" \
-n "<model>"
The -s flag is fixed at the model's native scale (almost always 4). For non-4× output:
vipsthumbnail to (orig × scale) dimensions:
vipsthumbnail "<intermediate-4x.png>" --size "<target-w>x<target-h>" \
--output "<final>.<ext>[Q=92]"
Output format conversion if --output-format jpg:
cjpeg-mozjpeg -quality 92 -progressive < "<output>.png" > "<output>.jpg"
rm "<output>.png"
Sequential, not parallel. Vulkan GPU is single-resource — running multiple upscales concurrently doesn't help and may OOM the GPU on large images. Run one at a time.
Memory awareness. For very large inputs (>4000px on the long side), the Vulkan tile size matters. Default is fine; if the binary reports OOM, retry with -t 100 (smaller tile = less VRAM, slightly slower). Surface this to the user rather than silently failing.
<output-dir>/.upscayl-standard-4x produces visibly better results than vanilla realesrgan-x4plus on most photos — keep the default unless the user has a reason.realesrgan-x4plus-anime or one of the anime-specific Upscayl variants. Photo models smear line art.web-ready after upscale → use the gallery profile to ship the upscaled output to the web at sensible quality.images-to-pdf after upscale → enlarge then print at higher DPI.