SKILL-035 Data modeling and migrations Locked skill

File uploads

Bytes go directly to storage, never through your app — but the attachment row, ownership, and access control are entirely your job.

01

What this skill helps you build

Let users upload files straight to object storage with presigned URLs, then track ownership and serve them back through short-lived signed links.

The production takeaway

Bytes go directly to storage, never through your app — but the attachment row, ownership, and access control are entirely your job.

02

Inside this skill

The full skill expands these implementation areas with decisions, edge cases, prompts, tests, and framework-specific code.

Data modeling and migrations
What this helps you build

A robust file upload pipeline for a SaaS app: the browser uploads bytes directly to object storage S3, R2, GCS using a short lived presigned URL, your server records an attachment

🔒
Data modeling and migrations
When to use this

Reach for this pattern the moment users put their own files into your product: Avatars, logos, and other profile media Document attachments on records invoices, tickets, messages C

🔒
Data modeling and migrations
The core idea

Don't proxy bytes through your application. Instead, mint a presigned URL — a temporary, signed permission slip that lets the browser PUT one specific object into your bucket direc

🔒
03

Unlock the full implementation

Paid access includes the complete skill body, implementation prompt, common mistakes, production checklist, and code examples where this skill includes them.