CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

cloudflare-images

This skill should be used when the user asks to "upload images to Cloudflare", "implement direct creator upload", "configure image transformations", "optimize WebP/AVIF", "create image variants", "generate signed URLs", "add image watermarks", "integrate with Next.js/Remix", "configure webhooks", "debug CORS errors", "troubleshoot error 5408/9401-9413", or "build responsive images with Cloudflare Images API".

58

Quality

73%

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 ./plugins/cloudflare-images/skills/cloudflare-images/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%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.

A well-organized, largely executable overview with concrete code for the main use cases. Its weaknesses are a triple-repeated reference catalog, no validation checkpoints in the upload workflows, and — most seriously — a bundle inventory that advertises templates, examples, agents, and commands directories that are not actually present.

Suggestions

Either add the missing `templates/`, `examples/`, `agents/`, and `commands/` directories or delete every pointer to them — the body currently directs Claude to load ~22 files that do not exist, which is the single biggest quality issue (progressive_disclosure).

Add validation checkpoints to the Quick Start and upload workflows (e.g., check the API response `success` field, verify the image is served via imagedelivery.net, and a validate→fix→retry loop for error codes 5408/9401–9413) to lift workflow_clarity past 3.

Collapse the "When to Load References" and "Using Bundled Resources" sections into a single reference index and cut the "What Is Cloudflare Images?" benefits list to remove the duplicated catalog (conciseness).

DimensionReasoningScore

Conciseness

The body is mostly lean — compact code samples, no explaining of concepts Claude already knows — but the reference catalog is repeated three times (inline "Load X" pointers in the use-case sections, the "When to Load References" section, and the "Using Bundled Resources" inventory), and the "What Is Cloudflare Images?" benefits list is padding. Consolidating these into one signaled index would cut a third of the body. Not a 4 because the duplication is substantial rather than minor; not a 2 because the code and rules sections themselves are efficient.

3 / 5

Actionability

Mostly executable guidance: a copy-paste curl upload, a complete Workers fetch with cf.image options, full backend+frontend direct-upload snippets, srcset HTML, and runnable script invocations. It misses a 5 because the CORS "solution" snippet shows a direct_upload API call with metadata but never actually shows any CORS header/origin configuration, and the direct-upload frontend snippet omits error handling the skill itself lists as mandatory.

4 / 5

Workflow Clarity

The Quick Start gives a clear 5-step sequence (enable → upload → serve → enable transformations → transform), but there are no validation checkpoints anywhere in the body — no "verify the upload response", no check that the image is served, no validate→fix→retry loop. Since the skill covers batch upload and upload workflows, the missing feedback loops cap this at 3 per the rubric even though the sequencing itself is good.

3 / 5

Progressive Disclosure

The structure is genuinely good — one-level-deep references with explicit "Load X when" conditions, and all 16 reference files, 5 scripts, and 3 diagrams exist in the bundle. However, the body advertises a large portion of the bundle that does not exist on disk: the `templates/` (16 files), `examples/` (3 projects), `agents/` (3), and `commands/` (3) directories are all absent, so roughly half the "Load X" pointers are broken. Clearly-signaled but partly broken navigation sits between anchors 2 and 3; it stays at 3 because the deepest content (references) is real and well organized.

3 / 5

Total

13

/

20

Passed

Description

77%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 trigger-rich, well-targeted description with excellent natural keyword coverage and near-zero conflict risk. Its main weakness is that it never explicitly states what the skill does (provides API docs, templates, scripts for Cloudflare Images), relying entirely on the "use when" framing.

Suggestions

Lead with one sentence stating the skill's own capabilities, e.g. "Uploads, transforms, and serves images via the Cloudflare Images API, with templates and scripts for direct creator upload, variants, signed URLs, and webhooks." before the "use when" clause, which would raise completeness to the 4–5 anchors.

Trim the longest quoted trigger ("build responsive images with Cloudflare Images API") to a tighter natural phrase like "build responsive images" — it currently duplicates keywords already covered.

DimensionReasoningScore

Specificity

The description enumerates many concrete actions — "upload images to Cloudflare", "implement direct creator upload", "configure image transformations", "optimize WebP/AVIF", "generate signed URLs", "add image watermarks", "troubleshoot error 5408/9401-9413" — giving broad, specific coverage of the domain. It falls short of a 5 because every action is framed as a quoted user request rather than a stated skill capability, so what the skill itself does is never directly asserted.

4 / 5

Completeness

The "when" is explicit and strong ("This skill should be used when the user asks to..."), but the "what" is never explicitly stated — the description only implies the skill's purpose through the mirrored user requests. Per the guideline to score only what is explicitly stated, this cannot reach 4 ("has both what and when"), but it is clearly richer than the anchor-2 example ("Use when working with documents") because each trigger phrase names a concrete capability.

3 / 5

Trigger Term Quality

Trigger phrases are natural things a user would actually say ("upload images to Cloudflare", "debug CORS errors", "create image variants", "build responsive images") and cover synonyms across the domain — upload, transformation, variants, signed URLs, watermarks, webhooks, framework names, and specific error codes. Not a 4 because coverage includes both high-level intents and low-level technical specifics (error numbers, WebP/AVIF, Next.js/Remix) with no obvious natural phrasing missing.

5 / 5

Distinctiveness Conflict Risk

The description is anchored to a clear niche (Cloudflare Images API) with distinct, product-specific triggers ("direct creator upload", "error 5408/9401-9413", "imagedelivery"-style workflows). Unlikely to fire for a different skill; matches the anchor-5 example pattern of a focused tool with distinct triggers.

5 / 5

Total

17

/

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

metadata_field

'metadata' should map string keys to string values

Warning

Total

15

/

16

Passed

Repository

secondsky/claude-skills

Path

plugins/cloudflare-images/skills/cloudflare-images/SKILL.md

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.