convex-file-storage

Manage file uploads, storage, serving, and metadata for Convex apps.

1|1|Updated Feb 7, 2026
One-click install
npx skills add https://github.com/mauricioacp/tanstack-convex-better-auth-template --skill convex-file-storage-mauricioacp
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: convex-file-storage
Source: https://github.com/mauricioacp/tanstack-convex-better-auth-template/tree/main/.agents/skills/convex-file-storage
Command: npx skills add https://github.com/mauricioacp/tanstack-convex-better-auth-template --skill convex-file-storage-mauricioacp

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Convex-based applications often struggle to manage file uploads, storage, retrieval via URLs, and associated metadata in a consistent, scalable way. This skill provides end-to-end file handling using Convex storage, enabling upload flows, serving, generated files storage from actions, and metadata access from system tables.

Core Features & Use Cases

  • Upload URLs: generateUploadUrl and client-side uploads to Convex storage.
  • Persistence & metadata: saveFile records with fileName, fileType, fileSize, and timestamps; query metadata from the _storage system.
  • Serving & lifecycle: serve files via generated URLs, retrieve file data, and delete files when needed; supports images, documents, and any file type.
  • Use cases: store avatars, user documents, generated assets, and assets used by actions.

Quick Start

Upload a file via the generated upload URL and store its metadata for later retrieval and serving.

Frequently Asked Questions about convex-file-storage

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I handle file uploads in a Convex application?

File uploads in a Convex application are handled by generating an upload URL, uploading the file directly to Convex storage from the client, and then saving the file reference along with its metadata for later retrieval.

Can I store and query file metadata like file size and type in Convex?

Yes, you can store and query file metadata in Convex by saving records that include the file name, type, size, and timestamps, and by retrieving file data directly from the _storage system tables.

What is the best way to serve stored files via URL in a Convex backend?

The best way to serve stored files in a Convex backend is to retrieve the generated storage URL associated with the saved file reference, allowing clients to access images, documents, and other assets directly.

Does Convex file storage support deleting files and their associated metadata?

Yes, Convex file storage supports deleting stored files while ensuring durable metadata is also removed, maintaining consistency across your storage system when assets are no longer needed.

How do I store generated files from actions in Convex?

You can store generated files from Convex actions by saving the generated assets directly to Convex storage and recording their file references and metadata for subsequent querying and serving.