
Extension Object Storage
Adds off-chain file storage with on-chain references for handling images, videos, and documents beyond IC limits. You use Storage.ExternalBlob types in your backend to track files while the actual content lives elsewhere with browser-cached HTTP access. Setup requires both the mops package and npm package together or uploads silently fail with 403s. The frontend ExternalBlob class handles uploads with progress tracking and gives you getDirectURL() for display or getBytes() for downloads. Main gotcha is never using Text for file fields and making sure the mixin goes in main.mo. Good fit if you need a gallery or file manager without hitting canister storage constraints.
- skills.sh installs
- 30.8K
- GitHub stars
- 2
- last updated
- Aug 21, 2026
Install
$ npx -y skills add caffeinelabs/skills --skill extension-object-storage --agent claude-codeInstalls into .claude/skills of the current project.
Files
Object Storage
Object storage extension for Caffeine AI.
Overview
This skill adds off-chain file/object storage with on-chain references. The MixinObjectStorage mixin provides infrastructure for file operations; you track uploaded files in your own data structures using Storage.ExternalBlob.
Required Setup Checklist
All four steps are mandatory. Skipping any one causes 403 Forbidden: Invalid payload at upload time.
- mops dependency — add
caffeineai-object-storagetomops.tomlunder[dependencies]. - Mixin invocation —
include MixinObjectStorage()inmain.mo(imported from"mo:caffeineai-object-storage/Mixin"). - Storage.ExternalBlob types — every data field that represents a file MUST use
Storage.ExternalBlob, neverText. - Frontend npm package —
@caffeineai/object-storageinstalled andExternalBlob.fromBytes(bytes, file.type, file.name)used at the call site.
Sponsors
Details
- Repository
- github.com/caffeinelabs/skills
- Category
- Automation & Workflows
- First seen
- Jul 14, 2026
More from caffeinelabs/skills
All 20- Extension Email30.8K
- Extension Core Infrastructure30.8K
- Extension Http Outcalls30.8K
- Extension Invite Links30.8K
- Extension Email Raw30.8K
- Extension Openai30.8K
- Extension User Approval30.8K
- Extension Oql30.3K
- Extension Posting To X29.8K
- Connector Googlemail27.7K
- Extension Querying Oql27.6K
- Extension Data Viewer9.9K
- Extension Email Calendar Events31.1K
- Extension Stripe30.9K
- Extension Qr Code30.9K
- Extension Camera30.8K
- Extension Email Marketing30.8K
- Extension Authorization30.8K
- Extension Email Verification30.8K