CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

cache-key-discriminator-audit

Use whenever a user saw another user's or tenant's data, or a per-user response goes through a shared cache, Redis or a CDN, or a cache key is designed or changed. Checks the key holds every value the response depends on (tenant, user, scope, locale), writes the fixed key, Vary header and tests.

Quality

97%

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

The canonical home for this skill is testland/cache-key-discriminator-audit

SKILL.md
Quality
Evals
Security

Quality

Content

92%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 highly effective body: executable fix recipes, a worked before/after example, a sequenced audit procedure with an explicit regression-test validation gate, and clean one-level-deep reference files. The only weakness is moderate length with a few passages of background explanation and RFC definitions that Claude already knows and that could be trimmed or pushed entirely into the reference files.

DimensionReasoningScore

Conciseness

The body is dense and mostly purpose-built (discriminator table, severity bands, fix recipe, worked example), but at ~350 lines it includes some over-explanation Claude does not need, such as inline RFC 9111 shared/private-cache definitions, PortSwigger keyed/unkeyed definitions, two-sentence background on cache poisoning/deception, and rhetorical framing like "The worst version of this is not slow, and it is not stale." This fits the score-4 anchor (efficient with minor instances that could be trimmed) better than score 5, since not every token earns its place, and better than score 3, because the padding is minor and the material is largely non-obvious domain knowledge.

4 / 5

Actionability

Guidance is fully executable: a copy-paste-ready key builder ("def cache_key(*parts, tenant_id, user_id=None, locale=None, schema=\"v1\")"), concrete Vary/Cache-Control directives ("Cache-Control: private, max-age=300 / Vary: Authorization, Accept-Language, X-Tenant-Id"), a complete before/after worked example with actual key values, and a concrete output template with a filled-in findings table. This matches the score-5 anchor of copy-paste-ready code covering the common cases.

5 / 5

Workflow Clarity

The audit is a clearly sequenced 6-step process ("Pin the response, not the endpoint" through "Check the tier") with an explicit checklist instruction ("Read the table as a checklist against one concrete response") and a hard validation gate: "pair every critical finding with a regression test that would have caught it. A key fix with no test that exercises two distinct principals against the same slot is not finished." Explicit validation steps plus checklist match the score-5 anchor; this is an audit skill, so the destructive/batch cap does not apply, and the regression-test requirement is an explicit checkpoint, not an implicit one.

5 / 5

Progressive Disclosure

The body carries the working method while full mechanism and citations are delegated one level deep to clearly signaled real files: "Full mechanism and Python-doc citations: [references/lru-cache-trap.md]" and "Full RFC and OWASP citations: [references/http-cache-directives.md]" — both exist in the bundle. Each section summarizes just enough to triage and points to the reference for depth, matching the score-5 anchor of a clear overview with well-signaled one-level-deep references; it is not score 4 because the split is clean with no buried or redundant deep content.

5 / 5

Total

19

/

20

Passed

Description

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

An exemplary description: it names concrete actions in third person, gives an explicit "Use whenever" trigger clause covering symptom-level, infrastructure-level, and design-time use, and occupies a clear niche with negligible overlap risk. Both what and when are answered with concrete trigger phrases.

DimensionReasoningScore

Specificity

"Checks the key holds every value the response depends on (tenant, user, scope, locale), writes the fixed key, Vary header and tests" lists four concrete, specific actions (audit the key, write the fixed key, write the Vary header, write tests) that comprehensively cover the skill's workflow. This matches the score-5 anchor of multiple specific concrete actions with comprehensive coverage, not score 4, because no meaningful action in the skill's scope is omitted.

5 / 5

Completeness

The "what" is explicit ("Checks the key holds every value the response depends on... writes the fixed key, Vary header and tests") and the "when" is explicit via "Use whenever" with three concrete trigger conditions. Both are answered clearly with concrete trigger phrases, matching the score-5 anchor; it is not score 4 because the when-clause is already fully explicit rather than merely improvable.

5 / 5

Trigger Term Quality

Triggers span the natural phrasings users would say: "a user saw another user's or tenant's data" (symptom), "shared cache, Redis or a CDN" (infrastructure, with synonyms), and "a cache key is designed or changed" (design time). Coverage is comprehensive with synonym variation, matching the score-5 anchor rather than score 4, which would expect missing natural terms.

5 / 5

Distinctiveness Conflict Risk

The niche is distinct: cache-key discriminator auditing for cross-user data exposure in shared caches. Triggers like "user saw another user's or tenant's data" and "cache key is designed or changed" would not fire for general caching, performance, or invalidation skills. Minimal conflict risk, matching the score-5 anchor.

5 / 5

Total

20

/

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.

Repository

testland/qa

Path

plugins/qa-cache-testing/skills/cache-key-discriminator-audit/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.