Upload Photo
Documentsupload-photoUpload Photo is an Agent Skill for documents published in the different-ai/openwork repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
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.
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Inspect the Agent Skill at https://github.com/different-ai/openwork/blob/HEAD/.opencode/skills/upload-photo/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/upload-photo, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
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:

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.