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.

65

Quality

78%

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

Fix and improve this skill with Tessl

tessl review fix ./.opencode/skills/upload-photo/SKILL.md

The canonical home for this skill is upload-photo in different-ai/openwork

SKILL.md
Quality
Evals
Security

Quality

Content

86%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

An exemplary lean, single-purpose skill: copy-paste ready commands, documented output and flag behavior, a concrete token fallback, and a verified bundled script. The only gaps are a trimmable basic Markdown example and the absence of any failure-handling guidance.

DimensionReasoningScore

Conciseness

The body is lean and assumes competence — token handling, the upload command, and flag semantics are each conveyed in a few lines with no conceptual padding. It is not 5 because the basic Markdown embed snippet ("![alt](url)") explains something Claude already knows and could be trimmed to a single line.

4 / 5

Actionability

The guidance is fully executable: a copy-paste command with argument and flag syntax, the documented output format ("It prints one public URL per line"), default prefix behavior, --stable semantics, and a concrete fallback command for the missing token. The referenced script exists and matches the documented CLI exactly.

5 / 5

Workflow Clarity

The single-action workflow is unambiguous: check/fetch the token, run the script from the repo root, use the printed URLs, and the documented one-URL-per-line output serves as the success checkpoint. It is not 5 because failure handling is not described (no guidance on what to do when an upload fails or a URL is missing), leaving a minor validation gap.

4 / 5

Progressive Disclosure

The skill is under 50 lines with no need for external reference files, and it is organized into clear, well-ordered sections (When to use, Requires, Upload, Embed, Rules) with a single one-level-deep script reference that verifiably exists in the bundle. This matches the simple-skill exception for a full score.

5 / 5

Total

18

/

20

Passed

Description

71%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A concise, concrete description with strong natural trigger phrases and a distinct Vercel Blob niche. Its main weakness is the absence of an explicit "Use when..." clause, which leaves the triggering conditions implicit and caps completeness.

Suggestions

Add an explicit trigger clause, e.g., "Use when an image or screenshot needs a public URL for a PR comment, doc, or chat message."

Include common file extensions and synonyms in the trigger terms (e.g., ".png", ".jpg", "picture") to improve trigger_term_quality.

Consider trimming the redundant restatement ("Upload local images to Vercel Blob and print public URLs") in favor of the missing "when" guidance.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — "upload a photo/image/screenshot", "host an image", "get a public image URL", "embed images in a PR/comment/doc", "Upload local images to Vercel Blob and print public URLs" — giving comprehensive coverage of the skill's capability space. It exceeds the 4 anchor because no meaningful action in scope is missing, and the closing sentence restates the mechanism concretely.

5 / 5

Completeness

The "what" is clear ("Upload local images to Vercel Blob and print public URLs"), but there is no explicit "Use when..." clause or equivalent trigger guidance — the PR/comment/doc contexts are capability statements that only weakly imply when. Per the judging guidelines, a missing explicit trigger clause caps completeness at 3; it is not 2 because the "what" is fully clear and usage contexts are at least present.

3 / 5

Trigger Term Quality

Natural phrases like "upload a photo", "screenshot", "host an image", "get a public image URL", and "embed images in a PR/comment/doc" match what users would actually say. It falls short of 5 because common variations and file extensions (e.g., ".png", ".jpg", "picture", "img") are absent.

4 / 5

Distinctiveness Conflict Risk

"put images on Vercel Blob" carves out a clear niche with service-specific triggers, keeping conflict risk low. It is not 5 because generic leading phrases like "upload a photo/image/screenshot" could overlap with other image-handling skills; it is well above 3 because the Vercel Blob anchor is unambiguous.

4 / 5

Total

16

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 1 missing

Warning

Total

15

/

16

Passed

Repository
Devin-AXIS/iPolloWork
Reviewed

Table of Contents

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.