mcpbeat Sign in

Upload Photo Agent Skill

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.

373 tokens
context cost
SKILL.md, read when the skill is used
2
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
3 593
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/Devin-AXIS/iPolloWork --skill upload-photo

What comes with it

3 417 bytes besides the instruction
scripts/upload.mjs

The instruction itself

6 sections, as written by the author

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.

How to use it

Copy the folder

Take devin-axis/upload-photo from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.