CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

redis-cache-tests

Use when Redis is the app's cache and its behavior needs tests, or when choosing a cache invalidation strategy: TTLs, cache-aside write and invalidate, eviction under memory pressure, pub/sub invalidation across nodes and tenant key namespaces, plus stampede and stale-while-revalidate patterns.

Quality

76%

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/qa-cache-testing/skills/redis-cache-tests/SKILL.md

The canonical home for this skill is testland/redis-cache-tests

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 genuinely actionable test cookbook: nearly every section is runnable code against a real Redis via testcontainers, and the anti-patterns and limitations tables add real value. The weaknesses are editorial — background Redis semantics and a triple-repeated doc citation pad the token budget, the pubsub pattern is misfiled under 'Running', and most of the reference bundle is buried one hop below the companion catalog rather than discoverable from SKILL.md itself.

Suggestions

Make all reference files one level deep: add direct links in the References section to stale-while-revalidate.md, stampede-mitigations.md, rfc-9111-http-caching-directives.md, and cross-tier-coherence-and-test-surface.md (or fold the stampede.md / stampede-mitigations.md pair into one file), since the description promises stale-while-revalidate coverage that SKILL.md never points to.

Tighten conciseness by cutting the 'Parsing results' section and the Overview recap of EXPIRE/PEXPIRE/EXPIREAT and the NX/XX/GT/LT flags (Claude knows Redis semantics), and cite the redis.io EXPIRE doc once instead of three times.

Move the 'Pub-sub invalidation across nodes' subsection out of '## Running' into the test-pattern sections under Authoring, and add a short numbered workflow (add session fixture → write test with flushdb reset → run pytest tests/redis/ -v → wire the CI service block) to give the catalog an explicit sequence.

DimensionReasoningScore

Conciseness

The body is dominated by useful code, but it re-explains things Claude already knows — the Overview recaps EXPIRE/PEXPIRE/EXPIREAT and the Redis 7 NX/XX/GT/LT flags, and a 'Parsing results' section explains that Redis returns ints, strings, or None and what TTL -1/-2 mean. The redis.io EXPIRE doc URL is also cited three separate times (Overview, 'Basic TTL tests', References). This is 'mostly efficient but includes some unnecessary explanation or could be tightened' rather than the minor-trim level of 4.

3 / 5

Actionability

Most patterns are copy-paste ready against a real fixture — the testcontainers fixture, TTL, conditional-expire, eviction, stampede, and pubsub tests are complete and executable, with a runnable pytest command and CI service config. It misses 5 because two key examples depend on undefined application-side helpers: 'test_write_invalidates_cache(r, db)' calls an undefined 'update_user_via_app' and 'test_tenant_namespaced_keys(r, cache)' uses an undefined 'cache' object, so those blocks cannot run as written.

4 / 5

Workflow Clarity

The skill is a pattern catalog with a loose install → fixture → write tests → run → CI progression, but it never states that sequence, and there are no validation checkpoints between steps. Sequencing is also muddled: the 'Pub-sub invalidation across nodes' test pattern is nested under '## Running' after the pytest instructions, separating it from the other test patterns in '## Authoring'. This is 'steps/patterns listed but validation gaps; checkpoints missing or implicit'.

3 / 5

Progressive Disclosure

SKILL.md links to only 2 of the 6 bundle files (stampede.md and cache-coherence-patterns.md); the other four (stale-while-revalidate.md, stampede-mitigations.md, rfc-9111-http-caching-directives.md, cross-tier-coherence-and-test-surface.md) are reachable only through a second hop via cache-coherence-patterns.md, which labels itself a 'Deep reference' — i.e., references are two levels deep and not directly signaled from SKILL.md. The stale-while-revalidate file is especially orphaned given the description promises that pattern. This fits 'references present but not clearly signaled / could be better organized' rather than the minor-gap level of 4.

3 / 5

Total

13

/

20

Passed

Description

82%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 strong, trigger-rich description with explicit 'Use when' guidance and an unusually comprehensive enumeration of the cache-testing surface (TTLs, eviction, pub/sub, stampede, SWR, tenant namespacing). Its main weakness is that the core action — writing tests against these behaviors — is implied by the pattern list rather than stated, leaving the 'what' slightly under-specified relative to the 'when'.

DimensionReasoningScore

Specificity

The description enumerates several concrete capability areas — 'TTLs, cache-aside write and invalidate, eviction under memory pressure, pub/sub invalidation across nodes and tenant key namespaces, plus stampede and stale-while-revalidate patterns' — which matches the 'several specific actions; minor gaps' anchor. It falls short of 5 because the actual action (writing tests for these behaviors) is never stated as an explicit verb; the pattern list implies it rather than names it.

4 / 5

Completeness

The 'when' is explicit and strong ('Use when Redis is the app's cache and its behavior needs tests, or when choosing a cache invalidation strategy'), and the enumerated pattern list conveys the 'what', but the what is never expressed as a concrete action (e.g., 'Writes tests for...'). This matches anchor 4 ('both present; one could be more explicit') rather than anchor 5, which requires an explicitly stated capability paired with the trigger clause.

4 / 5

Trigger Term Quality

Covers the natural vocabulary a user would invoke when needing this skill — 'Redis', 'cache', 'cache invalidation', 'TTLs', 'eviction', 'stampede', 'stale-while-revalidate', 'pub/sub', 'cache-aside' — including both the informal terms (Redis, cache) and the technical synonyms (TTL, eviction, SWR). This is comprehensive trigger coverage for the niche; nothing common is missing.

5 / 5

Distinctiveness Conflict Risk

The Redis-as-app-cache testing niche is clear and distinct from generic cache or database skills, but the clause 'or when choosing a cache invalidation strategy' deliberately broadens the skill beyond testing into strategy selection, creating minor overlap risk with sibling caching skills (e.g., the cdn-cache-purge-tests skill it itself references). This is 'mostly distinct; minor overlap risk' rather than a fully clean 5.

4 / 5

Total

17

/

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/redis-cache-tests/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.