What problem does it solve? Applications need a place to store uploads, avatars, documents, and generated files, but adding a separate storage provider like AWS S3 or Cloudflare R2 creates extra accounts, credentials, and drift between file state and database state across environments. This Skill sets up S3-compatible object storage that branches together with your Neon Postgres project, so files and database rows stay in sync across dev, preview, staging, and production. ## Core Features & Use Cases - Branch-aware buckets: Declare buckets in a neon.ts infrastructure-as-code file and provision them with neon deploy; every branch gets isolated copy-on-write storage state. - Standard S3 tooling: Works with AWS SDKs, boto3, the AWS CLI, and presigned URLs using injected AWS-standard env vars (AWS_ACCESS_KEY_ID, AWS_ENDPOINT_URL_S3, and more). - Files SDK integration: Use the files-sdk Neon adapter for a unified upload, download, list, copy, delete, and presigned URL API. - Use Case: An agent generates an image, uploads it to an images bucket, stores the object key in a Postgres row on the same branch, and returns a presigned URL on read — a preview branch then inherits both the rows and the files consistently. ## Quick Start Ask the AI to set up Neon Object Storage by declaring an images bucket in neon.ts, running neon deploy, and writing an upload and presigned-download flow using the files-sdk Neon adapter.