Content
78%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
A high-quality, dense reference that is strong on executable guidance: complete TypeScript and curl examples for every operation, Netlify-specific footguns and limits stated up front, and an explicit Cache-Status verification path. Its main structural weakness is that everything — including the purge API and @netlify/cache helper references — lives in one ~310-line file with no progressive disclosure, and the Directives section spends tokens re-explaining standard HTTP semantics.
Suggestions
Move the deep API-detail material (direct purge API curl payload, identifier mapping, rate limits; @netlify/cache helper signatures) into a references/ file and keep SKILL.md as an overview with well-signaled one-level-deep pointers.
Trim the Directives section to only Netlify-specific behavior (s-maxage overriding max-age in Netlify's shared cache, durable) and drop re-explanations of standard directives like max-age and stale-while-revalidate that Claude already knows.
Add a short numbered end-to-end workflow (set Netlify-CDN-Cache-Control → deploy → verify Cache-Status on a deployed URL → repeat requests to warm) to link the header, deployment, and verification guidance into one sequence.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is dense and fact-forward — nearly every line is a Netlify-specific behavior Claude cannot know ("Static assets are fresh for up to a year. A shorter max-age is ignored", "basic-auth on ANY page disables caching for the ENTIRE site", "100 lookups, 20 insertions/deletions" per invocation), with no padded prose. Not 5 because the Directives section re-teaches standard HTTP semantics Claude already knows ("max-age=N sets seconds in any cache", "stale-while-revalidate=N serves stale for N seconds after expiry while revalidating in the background") — only the Netlify-shared-cache mapping of those lines adds value. | 4 / 5 |
Actionability | Every major operation ships copy-paste-ready, complete code: a working Functions response with 'Netlify-CDN-Cache-Control', purgeCache examples for modern, Lambda-compatible (token-passing), and direct curl API paths, a full Cache API miss/hit/put handler, and executable cacheHeaders/fetchWithCache/needsRevalidation snippets including the waitUntil background-revalidation pattern. Not 4: coverage spans the common cases end-to-end with concrete syntax, limits, and error behavior stated. | 5 / 5 |
Workflow Clarity | Decision guidance is explicit ("Header choice (most specific wins...)", "Reach for this", a Footguns "read first" section) and verification exists via the Cache-Status debugging section ("Check it on a deployed URL", expected miss values, warm-up guidance, negative-ttl meaning). Not 5 because there is no end-to-end sequenced workflow (e.g., add header → deploy → verify via Cache-Status) tying the pieces together; not 3 because the purge (destructive) guidance does include safeguards — the empty cache_tags purges-nothing warning, the 2-per-5s rate limit, and token-from-env-var rule. | 4 / 5 |
Progressive Disclosure | The single SKILL.md (~310 lines, no references/, scripts/, or assets/ exist) is well-sectioned with clear headers, but all content is inline in one file — the purge API reference (curl payloads, identifier mapping, rate limits) and the @netlify/cache helper reference (cacheHeaders/fetchWithCache/getCacheStatus/needsRevalidation signatures) are exactly the kind of bulk API detail the anchor-3 example says could live in a separate file. Not 2 because the file is clearly navigable with strong section headers and nothing is buried; not 4 because no content is split out at all and the skill far exceeds the under-50-lines exception for header-only organization. | 3 / 5 |
Total | 16 / 20 Passed |