extension-object-storage

Store large files off-chain with on-chain references using Storage.ExternalBlob.

1|Updated Mar 24, 2026
One-click install
npx skills add https://github.com/caffeinelabs/skills --skill extension-object-storage
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: extension-object-storage
Source: https://github.com/caffeinelabs/skills/tree/main/skills/extension-object-storage
Command: npx skills add https://github.com/caffeinelabs/skills --skill extension-object-storage

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

General file/object storage for images, videos, documents and other bulk data, enabling scalable galleries and asset management beyond IC storage limits.

Core Features & Use Cases

  • Off-chain storage with on-chain references managed via Storage.ExternalBlob
  • Type-safe data handling for backend and frontend integration
  • Suitable for image/video galleries, document repositories, and large-file archives with browser-cached URL access

Quick Start

Configure your Motoko backend to include the MixinObjectStorage and use ExternalBlob in the frontend to upload and reference files.

Frequently Asked Questions about extension-object-storage

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

FAQPage Schema
How do I store large files off-chain while keeping references on-chain in Motoko?

Off-chain file storage with on-chain references is achieved by configuring the MixinObjectStorage in your Motoko backend and using the ExternalBlob type in the frontend to upload and reference files.

What is the best way to manage image and video galleries that exceed IC storage limits?

Off-chain object storage enables scalable galleries and asset management for large media files beyond IC limits, providing browser-cached HTTP URL access for efficient retrieval and display.

How does type-safe blob handling prevent data integrity issues in frontend and backend integration?

Type-safe blob handling enforces data integrity by strictly using Storage.ExternalBlob across Motoko backends and TypeScript frontends, preventing mismatched data structures during file uploads.

Can I use external blob storage for document repositories and large-file archives?

Yes, external blob storage is suitable for document repositories and large-file archives, supporting diverse media and documents with scalable asset management and HTTP URL access.

How do I configure my Motoko backend to include MixinObjectStorage for file uploads?

To configure off-chain file storage, include the MixinObjectStorage in your Motoko backend and use the ExternalBlob type within your TypeScript frontend to manage file uploads and references.

When should I use off-chain object storage instead of native on-chain storage?

Use off-chain object storage when managing large files or bulk data that exceeds IC storage limits, ensuring browser-cached HTTP URL access for scalable galleries and archives.