CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/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

84%

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 solid, highly actionable test-pattern catalog built on real-Redis testcontainers with good anti-pattern and limitations sections. The main issues are modest: some duplicated TTL semantics and basic-concept prose to trim, two examples relying on undefined app fixtures, a missing config-restore step in the eviction test, and half the bundle's reference files never surfaced from the body.

Suggestions

Deduplicate TTL return-code semantics: drop the 'Parsing results' section and keep the -1/-2 semantics in one place (the test comments), and trim the Overview's EXPIRE/PEXPIRE/EXPIREAT explainer to just the Redis 7+ NX/XX/GT/LT flags, which are the genuinely version-sensitive detail.

Make the dependent examples self-contained or explicitly marked as templates: stub the `db` and `cache` fixtures and `update_user_via_app` (e.g., a one-line conftest or a comment noting they are the app's own write path), and add a teardown/restore step in the eviction test so `maxmemory`/`maxmemory-policy` mutations don't leak into subsequent tests.

Link the remaining bundle files: add `stale-while-revalidate.md` (promised in the description), `stampede-mitigations.md`, `rfc-9111-http-caching-directives.md`, and `cross-tier-coherence-and-test-surface.md` to the References section, and move the 'Pub-sub invalidation' section out from under '## Running' into the test-pattern sequence.

DimensionReasoningScore

Conciseness

The overwhelming majority of the body is dense, high-value executable test code, but there are minor instances that could be trimmed: the Overview's explanation of EXPIRE/PEXPIRE/EXPIREAT basics, the throwaway claim "Redis is the dominant application-tier cache", and TTL return-code semantics (-1/-2) stated three times (test comments, the 'Parsing results' section, and the Overview). Not anchor 3 because the unnecessary prose is a small fraction of the document; not anchor 5 because the duplication and basic-concept explanation are real trimming targets.

4 / 5

Actionability

Mostly copy-paste-ready pytest/YAML: session-scoped testcontainers fixture, TTL/conditional-expire/eviction/stampede/tenant/pub-sub tests, run commands, and CI service config. Not anchor 5 because two examples depend on undefined app-layer fixtures ("db", "cache", "update_user_via_app") and so are not fully executable as written — minor gaps matching anchor 4.

4 / 5

Workflow Clarity

The install → fixture → write-pattern-tests → run → CI sequence is discernible, and most checkpoints are present (per-test flushdb, range-assertion guidance, CI "--health-cmd 'redis-cli ping'", an anti-patterns checklist). Minor validation gaps keep it below anchor 5: the eviction test mutates "maxmemory"/"maxmemory-policy" with no restore step, and the 'Pub-sub invalidation' section is misplaced under '## Running' after the run command.

4 / 5

Progressive Disclosure

Referenced paths are real, one level deep, and clearly signaled both inline and in a References section, with background appropriately split out of the body. Not anchor 5 because 4 of the 6 bundle reference files (stale-while-revalidate.md, rfc-9111-http-caching-directives.md, stampede-mitigations.md, cross-tier-coherence-and-test-surface.md) are never linked from SKILL.md — including stale-while-revalidate.md, which the description explicitly promises — leaving that content undiscoverable; not anchor 3 because the structure and signaling of what is referenced is good.

4 / 5

Total

16

/

20

Passed

Description

86%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 description with an explicit, well-scoped 'Use when' trigger and comprehensive, natural domain terminology. Its main weakness is structural: the capability statement is folded into the when-clause as a colon-separated topic list rather than an explicit verb-led statement of what the skill does.

DimensionReasoningScore

Specificity

Enumerates several concrete coverage 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"), but the items are topic nouns rather than verb-led actions and the skill's own action is only implied by "its behavior needs tests" — a minor gap that fits anchor 4 better than the comprehensive verb-action anchor 5.

4 / 5

Completeness

The "when" is explicit and concrete ("Use when Redis is the app's cache and its behavior needs tests, or when choosing a cache invalidation strategy"), and the "what" (testing the enumerated behaviors) is present but embedded in the when-clause rather than stated as a leading capability sentence. Both are present with the 'what' less explicit, matching anchor 4; it does not reach anchor 5's 'clearly and explicitly answers both' because no independent what-statement exists.

4 / 5

Trigger Term Quality

Natural terms a user with this need would actually say are comprehensively present: "Redis", "cache", "cache invalidation strategy", "TTLs", "eviction under memory pressure", "stampede", "stale-while-revalidate", "pub/sub". Not below anchor 4 because no common variation of the request is missing; the terms are the exact vocabulary of this domain, including advanced synonyms.

5 / 5

Distinctiveness Conflict Risk

Clear niche with distinct triggers: every clause is Redis-scoped ("Redis is the app's cache"), separating it from sibling CDN/Varnish cache-testing skills and generic cache-design guidance. Conflict risk is minimal, matching anchor 5 rather than anchor 4, because the distinguishing keyword appears inside the trigger clause itself.

5 / 5

Total

18

/

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