Skip to main content

blob

Upload, inspect, download and replace original files in remote Workspace, including ETag conflicts and recovery after uncertain writes. Use for Blob Resources rather than editable Univer Units or embedded image Assets.

Source facts

Repository
dream-num/univer-workspace
Last source activity
November 10, 2026 at 07:36
Detected SKILL.md language
English
Stars
2,276
Forks
228

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
blob
description
Upload, inspect, download and replace original files in remote Workspace, including ETag conflicts and recovery after uncertain writes. Use for Blob Resources rather than editable Univer Units or embedded image Assets.
# Blob files Use the [Core Skill](../core/SKILL.md) for authentication and Space/Resource discovery. Use Blob when the exact original bytes must remain a Workspace file instead of becoming an editable Univer Unit: Use `blob upload` with the original source, destination Space, optional parent, name, media type, and idempotency key. Use `blob get` with its Resource ID for metadata, and `blob download` for the original bytes. Use `blob replace` with the edited original, Resource ID, downloaded ETag, and a new stable idempotency key. Follow the `core` Skill for file transfer and source handling. `blob upload` publishes directly to the Space; no Worktree is involved and Worktree discard cannot undo it. It reserves stable `uploadId`, `nodeId`, and `resourceId`, streams the exact bytes, then publishes the Node. For important agent retries, provide a unique idempotency key. Reuse that exact key only for the same source, size, Space, parent, and name after a `workspace-result-unknown`; never change the intent while reusing the key. Follow the `core` Skill for download destinations, overwrite controls, and complete-byte-stream handling. To revise an existing Blob, download it, edit the original bytes, then use `blob replace` with the exact quoted ETag from `download.etag` and a new stable idempotency key. Replacement publishes immediately and preserves the Node, Resource, name, location, ACL and original URL; it is not a Worktree edit. The replacement result is `replacement: { operationId, resourceId, etag }`. On `PRECONDITION_FAILED`, download a fresh original and reconcile the latest bytes before starting a new replacement with a new key. Never apply a new ETag to an unreconciled older file. After a lost response, use the `core` Skill's recovery handling; `workspace-result-unknown` identifies the uncertain Operation. Inspect that Operation before retrying the exact same file, ETag and key. A pending Operation must not be started again; a failed Operation needs reconciliation and a new key. Blob downloads require a quoted strong ETag. Follow the `core` Skill for malformed-response and destination-file handling. Do not confuse these workflows: - `import`: convert Office content into a new editable Worktree-local Univer Unit. - `blob upload`: preserve and publish the source bytes as a non-editable Blob Resource. - `export`: convert one Worktree Unit head to an Office file. - `blob download`: retrieve one Blob Resource without conversion.
View on GitHub