file-upload

A guide for uploading files through Fusebase, from temporary upload to stored file and displayable URL.

In plain words
What is it for?
Use it when building file uploads, stored-file records, download links, or file descriptors for other apps.
Why use it?
Saving file contents directly in a database can create size, permission, and security problems. This defines how to store file references and metadata instead.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/fusebase-dev/fusebase-flow/file-upload
Any agent
npx skills add fusebase-dev/fusebase-flow --skill file-upload
Clone the repo
git clone --depth 1 https://github.com/fusebase-dev/fusebase-flow

Made for: Claude Code, Codex.

Per session 35 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 634 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00035 $0.00634
Opus 5 $0.00017 $0.00317
Sonnet 5 $0.00007 $0.00127
Haiku 4.5 $0.00003 $0.00063

Measured 2d ago against content hash f62094faea2f, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

file-upload scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.agents/skills/file-upload/SKILL.md · 38 lines

How it starts

The opening of the file, as written. The whole thing — 38 lines — stays where its author put it; the contents beside it link to each section on GitHub.

File Upload

This skill is the single source of truth for the low-level file upload lifecycle. Load Upload Lifecycle for the canonical tempStoredFileName -> storedFileUUID -> readUrl / relative url -> file descriptor flow.

Hard rules

  • Never store user file/binary bytes in a FuseBase PostgreSQL isolated store (base64 / bytea / data URL), including “MVP” shortcuts. Upload with this skill / Gate files ops; persist only storedFileUUID, readUrl, and small metadata in SQL or dashboard cells.
  • Needing files.write is not a reason to put attachments in SQL. Sync Gate permissions (fusebase app update <appId> --sync-gate-permissions) instead.
  • Visitor / anonymous / public-link apps: browser visitor tokens usually cannot call files.write. Broker upload on the app feature backend with FBS_FEATURE_TOKEN, then return storedFileUUID / readUrl to the client.
  • Ordinary isolated-SQL write/execute paths are not the 64MiB importIsolatedStoreSqlRows cap — practical bodies are ~100–150 KB. Do not design attachments against SQL payload size.

When NOT To Use This Skill

  • Do not use this skill to describe how to write dashboard cell data. For dashboard files columns, load fusebase-dashboards and pass the already-uploaded file descriptor to batchPutDashboardData.
  • Do not use this skill for Gate MCP operation auth, scopes, or operation discovery. For Gate startMultipartFileUpload, completeMultipartFileUpload, and deleteFile, load fusebase-gate (prompt/reference files).
  • Do not copy upload endpoint or payload blocks into neighboring skills. Link to Upload Lifecycle and keep only a short handoff.

Scope

  • Owns: temp file creation, stored file creation, display URL rules, and file descriptor terminology.
  • Neighbor skills: fusebase-dashboards owns dashboard files cell writes; fusebase-gate owns Gate operation names, auth, and scope.
  • Required terminology: tempStoredFileName, storedFileUUID, readUrl, relative url, file descriptor.

Read the full file on GitHub · 38 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 38 lines · 35 tokens per session scan A f62094faea2f

Subscribe to this mod's changes

file-upload is a skill published in the GitHub repository fusebase-dev/fusebase-flow (9 stars, last pushed 7d ago), licensed MIT. It adds 35 tokens to every session and 634 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

adobe-express-core

Adobe Express environment essentials, two-runtime architecture, project setup, and MCP server configuration. Use when starting add-on development, understanding iframe vs sandbox boundaries, configuring MCP servers, setting up local projects, or validating manifest configuration.

Sandgrouse/adobe-express-dev-skill · 50 tokens

adobe-express-monetization

Monetize Adobe Express add-ons with subscriptions and payments. Use when designing checkout flows, defining subscription tiers, implementing webhook verification, managing entitlements, or securing backend billing logic.

Sandgrouse/adobe-express-dev-skill · 44 tokens

adobe-express-spectrum-ui-ux

Build or review Adobe Express add-on panel UI with Spectrum patterns, stack selection guidance (raw SWC, swc-react, React Spectrum), Express theme setup, state and navigation design, and actionable UX quality checks. Use when implementing or auditing panel layouts, interaction states, multi-screen flows, and…

Sandgrouse/adobe-express-dev-skill · 70 tokens

adobe-express-cors-and-backend

Diagnose and fix CORS errors between Adobe Express add-on UI and backend APIs across local development, private listing, and public listing stages. Use when browser requests fail with preflight, Access-Control-Allow-Origin, Access-Control-Allow-Headers, or OPTIONS issues; when moving from localhost to hosted add-on…

Sandgrouse/adobe-express-dev-skill · 92 tokens

adobe-express-document-manipulation

Create and modify document content in Adobe Express add-ons using Document SDK. Use when planning document operations, inserting shapes/text/media, sequencing sandbox commands, or troubleshooting document edits.

Sandgrouse/adobe-express-dev-skill · 43 tokens

adobe-express-oauth-authentication

Implement OAuth 2.0 and authentication flows for Adobe Express add-ons. Use when connecting to cloud providers (Dropbox, OneDrive, Google Drive), managing tokens, storing credentials, or designing login surfaces.

Sandgrouse/adobe-express-dev-skill · 50 tokens