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.
pinned to #c2d3a52updated 2 months ago
Ask your AI client: “install skills/upload-photo”.
Requires the metahub MCP server installed in your client. Set up MCP.
mh install skills/upload-photometahub onboarded this repo on the author's behalf.
If you own github.com/Devin-AXIS/iPolloWork on GitHub, claim the listing to take over publishing. Your claim preserves the existing eval history and badges; only the curator label is replaced with verified-publisher on your next publish.
Stars
1,202
Last commit
2 months ago
Latest release
published
- #a2a-protocol
- #ai-agent-network
- #bnb-chain
- #ethereum
- #mcp-server
- #protocol
- #smart-contracts
- #token-economy
- #web3
- #x402-compatible
About this skill
Pulled from SKILL.md at publish time.
Upload local image files to Vercel Blob and return public URLs for sharing.
Automated checks the publisher passed at publish time — structure, docs, safety, and whether the artifact behaves as claimed.c2d3a52· 2 months ago
Behavioral checks ran but aren't published for this artifact; the static checks above ran at publish time.
Kind-specific
3 passed1 warningSkill: triggers declaredwarn
No `trigger` phrases in SKILL.md frontmatter
Add `trigger:` lines so Claude knows when to activate this skill — e.g. `when building MCP servers` or `for diagram creation`.
Skill: SKILL.md present
found at .opencode/skills/upload-photo/SKILL.md · frontmatter source: SKILL.md
Skill: body content present
168 words · 1,259 chars · 5 sections · 4 code blocks
Skill: allowed-tools scope
no allowed-tools restriction (Claude may use anything)
Release history
1- releasecurrentc2d3a52warn2 months ago
Contents
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.
Reviews
No reviews yet. Be the first.
Related
Verification Before Completion
Evidence before assertions, always
Writing Plans
Turn specs into phased implementation plans
Test-Driven Development
Red → green → refactor discipline for any feature or bugfix
mh install skills/upload-photo