extension-object-storage

The extension-object-storage skill provides off-chain file and object storage for Caffeine AI applications. It enables management of bulk data like images and videos by storing file references on-chain while offloading actual content to a storage gateway.

5.8K
Installs
4
Use cases
5/10
Quality

Is extension-object-storage safe to install?

Review the source first

Review the source first: our audit of extension-object-storage's source files found 1 shell command, 0 external URLs, file reads and writes (high risk). Every command and URL listed appears verbatim in the skill's source. The skill requires modifying backend configuration files and installing external dependencies. Incorrect implementation of storage methods or missing dependencies results in 403 Forbidden errors.

How we audit skills: our security review methodology.

Who is this skill for?

Developers building applications on Caffeine AI who need to store and retrieve files, images, or documents.

What can you do with it?

  • Storing and displaying image galleries
  • Managing video content
  • Handling document uploads and downloads
  • Storing bulk data files exceeding IC limits

How good is this skill?

Quality score: 5/10. The documentation is clear, provides specific code examples for both backend and frontend, and includes a troubleshooting guide for common errors.

What does the skill file contain?

SKILL.md
# Object Storage
Object storage extension for [Caffeine AI](https://caffeine.ai?utm_source=caffeine-skill&utm_medium=referral).

## 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.

1. **mops dependency** — add `caffeineai-object-storage` to `mops.toml` under `[dependencies]...

Frequently asked questions

Can I implement my own storage methods?

No. You must use the MixinObjectStorage mixin. Hand-written implementations of platform-reserved methods like _immutableObjectStorageCreateCertificate cause upload failures.

How do I determine the file type of an uploaded object?

Use the filename or mimeType field from your backend record. Never inspect the URL returned by getDirectURL() as it is an opaque proxy URL without a file extension.

What happens if I only install the npm package?

The storage will fail. You must install both the @caffeineai/object-storage npm package and the caffeineai-object-storage mops dependency for the system to function.

Data sourced from caffeinelabs/skills on GitHub. Install counts from skills.sh. The summary and security audit are derived from the skill's source files: every command and URL listed appears verbatim in the source.

Related skills

convex-create-component

82.5K

Convex developers building modular backend logic, reusable integrations, or component-based architectures

This skill guides the creation of reusable Convex components by defining isolated tables, schemas, and backend functions. It enforces architectural boundaries by requiring authentication, environment variables, and HTTP routing to remain in the parent application.

highConvexBackendget-convex

convex-migration-helper

81.1K

Developers managing Convex database schemas who need to perform breaking changes, backfills, or table restructuring

The Convex Migration Helper provides a structured workflow for executing breaking schema changes and data migrations in Convex applications. It emphasizes a widen-migrate-narrow pattern to ensure data integrity and zero-downtime deployments using the @convex-dev/migrations component.

highConvexDatabaseget-convex

convex-setup-auth

80.1K

Developers building applications on the Convex platform who need to integrate authentication providers like Clerk, Auth0, WorkOS, or Convex Auth

This skill provides a structured workflow for implementing authentication, identity mapping, and access control within Convex applications. It guides the agent to identify the appropriate auth provider, consult official documentation, and apply secure patterns for protecting backend functions.

lowconvexauthenticationget-convex

convex-quickstart

78.3K

Developers and AI agents building applications with Convex who need to initialize projects or integrate Convex into existing codebases

This skill automates the setup and configuration of Convex in new or existing web applications. It handles project scaffolding, environment variable generation, provider wiring, and local deployment provisioning.

highconvexbackendget-convex