CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/cdn-cache-purge-tests

Use when CDN or browser caching needs tests: purges and invalidations on Cloudflare, Fastly (surrogate keys) and CloudFront, end-to-end write, purge and fresh-read checks, propagation delay and cache-status headers, plus browser Cache-Control, ETag and service-worker caching with Playwright.

Quality

87%

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

Overview
Quality
Evals
Security
Files

Quality

Content

75%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-structured, largely executable testing skill with strong vendor coverage (Cloudflare/Fastly/CloudFront), a clear canonical purge workflow, honest limitations, and a genuine one-level-deep reference split. It falls short of top marks on duplicated cache-status tables, an undefined helper in the multi-region example, sleep-based waits that contradict its own anti-patterns guidance, and CI-referenced scripts missing from the bundle.

Suggestions

Define or inline the `purge_url()` helper in the multi-region example, and replace the fixed `time.sleep(10)`/`time.sleep(30)` waits with the poll-until-`cf-cache-status: MISS` (timeout 30s) pattern the anti-patterns table itself prescribes.

Merge the 'Parsing results' table into the 'Cache-Status header verification' table — both explain the same cf-cache-status values.

Ship `scripts/write-test-fixture.sh` and `scripts/purge-test-paths.sh` in the bundle, or replace the CI run steps with the inline curl/pytest commands already shown in the Authoring section.

DimensionReasoningScore

Conciseness

The body is dense with concrete curl/pytest/CI examples and assumes competence (no 'what is a CDN' padding), but the cf-cache-status values are explained twice — once in the 'Cache-Status header verification' table and again in 'Parsing results' — and the multi-region example partially repeats the canonical test. These minor redundancies keep it below the lean 'every token earns its place' anchor.

4 / 5

Actionability

Vendor-specific curl commands, an executable canonical pytest, and CI YAML are copy-paste shaped, but the multi-region example calls an undefined helper `purge_url(API, ...)` and the CI steps invoke `./scripts/write-test-fixture.sh` and `./scripts/purge-test-paths.sh` which do not exist in the bundle. Concrete with minor gaps — not fully executable.

4 / 5

Workflow Clarity

The canonical test lays out a clear numbered sequence (origin write → verify old edge state → purge → wait → assert fresh) with asserts at each step, and the anti-patterns table supplies recovery guidance. However the examples themselves use fixed `time.sleep(10)`/`time.sleep(30)` waits that the skill's own anti-patterns table says to replace with polling — a minor internal validation inconsistency.

4 / 5

Progressive Disclosure

Browser-tier content is cleanly split into `references/browser-cache-control.md` and `references/playwright-cache-recipes.md`, both real files, clearly signaled and one level deep. The gap: the CI section references `./scripts/write-test-fixture.sh` and `./scripts/purge-test-paths.sh`, and no scripts/ directory exists in the bundle.

4 / 5

Total

16

/

20

Passed

Description

92%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 specific, complete, third-person description with an explicit 'Use when' trigger and comprehensive concrete capabilities across both CDN-edge and browser-client cache tiers. Its only weakness is a handful of missing natural synonyms ('stale content', 'cache busting'), keeping trigger term quality just below the top anchor.

DimensionReasoningScore

Specificity

The description enumerates multiple concrete actions — 'purges and invalidations on Cloudflare, Fastly (surrogate keys) and CloudFront, end-to-end write, purge and fresh-read checks, propagation delay and cache-status headers, plus browser Cache-Control, ETag and service-worker caching with Playwright' — comprehensively covering both edge and client tiers. Not 4: there are no meaningful coverage gaps; named vendors, headers, and check types leave nothing material unspecified.

5 / 5

Completeness

It opens with an explicit trigger clause — 'Use when CDN or browser caching needs tests' — and follows with a concrete 'what' listing the exact test types performed. Both what and when are explicit with concrete trigger phrases, matching the top anchor rather than the merely-adequate 4 anchor.

5 / 5

Trigger Term Quality

Strong natural keyword coverage: 'CDN', 'purge', 'invalidation', 'Cloudflare', 'Fastly', 'CloudFront', 'cache-status', 'ETag', 'service-worker', 'Playwright' — all phrasing a user with this need would say. Not 5: common user-side phrasings like 'stale content', 'cache busting', or 'cache hit/miss' are absent, so a few natural synonyms are missing.

4 / 5

Distinctiveness Conflict Risk

The niche is unambiguous: CDN-edge purge/invalidation testing on named vendors plus browser-tier cache verification with Playwright. Vendor names and the cache-focused trigger make it unlikely to fire for unrelated skills; overlap with generic Playwright testing skills is minimal because the caching scope is explicit.

5 / 5

Total

19

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

On this page