OpenParable
Skip to content
← Back to skills

Upload Photo

Documents
upload-photo

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

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
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:

![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.