What problem does it solve? Adding file uploads, downloads, and presigned URLs to a Node.js backend usually means scattering AWS SDK calls across services and hardcoding S3 as a requirement. This Skill provides a clean Storage interface with automatic backend selection, so services never touch the AWS SDK directly and development works without any S3 credentials. ## Core Features & Use Cases - Dual-backend Storage interface: Automatically uses AWS S3 (or MinIO, DigitalOcean Spaces, Alibaba Cloud OSS) when credentials exist, otherwise falls back to a local filesystem folder. - Presigned URL generation: Lets clients upload and download large files directly to S3, avoiding proxying through the app server. - Fastify plugin integration: Registers a single S3Client via decorator with proper cleanup on app close, plus TypeScript type augmentation. - Use Case: You are building a document upload endpoint in a Fastify API. Use this Skill to set up the storage plugin, accept multipart uploads, store files under UUID-prefixed keys, and return presigned download URLs. ## Quick Start Ask the AI to set up the S3-compatible storage Fastify plugin with a local filesystem fallback and an upload endpoint that returns presigned download URLs.