CtrlK
BlogDocsLog inGet started
Tessl Logo

upload-photo

upload a photo/image/screenshot, host an image, get a public image URL, put images on Vercel Blob, embed images in a PR/comment/doc. Upload local images to Vercel Blob and print public URLs.

69

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Skill: upload-photo

Upload local image files to Vercel Blob and return public URLs for sharing.

When to use

Use whenever an image or screenshot needs a public URL, including PR comments, docs, and sharing.

Requires

BLOB_READ_WRITE_TOKEN must be set in the environment. If it is missing, use the get-env-var skill to fetch it from Infisical:

export BLOB_READ_WRITE_TOKEN="$(infisical secrets get BLOB_READ_WRITE_TOKEN --plain --silent)"

Upload

Run the bundled script from the repo root:

node .opencode/skills/upload-photo/scripts/upload.mjs <file.png> [more files...] [--prefix <path/prefix>] [--stable]

It prints one public URL per line (https://<store>.public.blob.vercel-storage.com/...). --prefix defaults to uploads/<YYYY-MM-DD>. By default Vercel Blob appends a random suffix to the pathname for collision safety; --stable disables that (x-add-random-suffix: 0) for deterministic URLs, so overwrites are possible.

Embed

Use Markdown:

![alt](url)

Or HTML for size control in GitHub comments:

<img src="url" width="700">

Rules

  • Never log BLOB_READ_WRITE_TOKEN.
  • The store is public; do not upload anything sensitive.
  • Prefer PNG, JPEG, or WebP images.
Repository
different-ai/openwork
Last updated
First committed

Also appears in

Devin-AXIS/iPolloWork
In sync

since Jul 28, 2026

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.