CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/server-sent-events-tests

Use when a feature pushes updates over Server-Sent Events (text/event-stream) and needs tests: EventSource events and errors, the stream format, reconnect with Last-Event-ID replay, retry intervals and per-origin connection limits, plus k6 load tests. Two-way messaging is websocket-tests.

Quality

88%

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

78%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 skill with executable examples, appropriate offloading of advanced recipes to real one-level-deep reference files, and a useful anti-patterns table. The main weaknesses are minor: basic-knowledge restatement (the readyState table) and tests that hang rather than fail when the server misbehaves.

Suggestions

Add a timeout/rejection path to the page.evaluate promises (e.g. reject after N ms if the expected event count or state transition hasn't arrived) so failing servers produce failing tests instead of hangs.

Drop or compress the readyState value table — the constants are basic EventSource knowledge already shown in the code's comments — to save tokens in the always-loaded body.

Add one line of failure triage after Steps 2–3 (e.g. 'if the browser test hangs, verify Content-Type and the \n\n terminator first — see Anti-patterns') to make the recovery loop explicit.

DimensionReasoningScore

Conciseness

The body is mostly compact tables and code, but the `readyState` value table (0=CONNECTING, 1=OPEN, 2=CLOSED) restates basic API knowledge Claude already has, and the anti-patterns table partially repeats Step 1 content ('Wrong content-type ... text/event-stream (Step 1)'). These are minor trimmable instances per the anchor-4 wording, short of the every-token-earns-its-place level 5.

4 / 5

Actionability

Two complete, copy-paste-ready Playwright tests plus a concrete wire-format example give mostly executable guidance, but the `page.evaluate` promises never reject or time out (a test hangs instead of failing if the server misbehaves) and `page.goto('https://localhost:3000/dashboard')` assumes TLS on a local dev port — minor gaps that fit anchor 4 rather than the fully-executable anchor 5.

4 / 5

Workflow Clarity

Steps 1–3 are clearly sequenced (server format → browser test → lifecycle) with built-in `expect` assertions, and the anti-patterns table maps failure → cause → fix. It stops short of anchor 5 because the body lacks an explicit recovery loop telling the reader what to check when a step's test fails (the recipes file has 'Verify:' guidance, but the body's checkpoints are implicit).

4 / 5

Progressive Disclosure

The 142-line SKILL.md is a well-organized overview that splits deeper material into references/sse-test-recipes.md and references/sse-load.md — both real files, both clearly signaled with descriptions of their contents ('Deeper recipes ... are in [references/sse-test-recipes.md]', the References section annotates the k6 load-testing file), and both exactly one level deep with no nested references. This matches the clear-overview, well-signaled anchor at 5.

5 / 5

Total

17

/

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 strong description that states explicit trigger conditions, concrete capability coverage, and a boundary against the sibling websocket skill. The only notable improvement is including the near-universal shorthand 'SSE' as a trigger term.

DimensionReasoningScore

Specificity

The description enumerates concrete, distinct capabilities — 'EventSource events and errors, the stream format, reconnect with Last-Event-ID replay, retry intervals and per-origin connection limits, plus k6 load tests' — covering the full SSE-testing surface with no meaningful gaps, matching the comprehensive-coverage anchor rather than the minor-gaps anchor at 4.

5 / 5

Completeness

It explicitly answers 'when' ('Use when a feature pushes updates over Server-Sent Events (text/event-stream) and needs tests') and 'what' (the enumerated test surfaces), with concrete trigger phrasing that mirrors the anchor-5 example structure.

5 / 5

Trigger Term Quality

Good natural-phrase coverage ('Server-Sent Events', 'EventSource', 'pushes updates', 'reconnect', 'retry intervals', 'k6 load tests'), but the most common shorthand a user would say — 'SSE' — never appears in the description itself, so it falls just short of the comprehensive-synonyms anchor at 5 while clearly exceeding the missing-variations anchor at 3.

4 / 5

Distinctiveness Conflict Risk

It occupies a clear niche (one-way SSE stream testing) and actively disambiguates with 'Two-way messaging is websocket-tests', giving it distinct triggers and minimal conflict risk with neighboring realtime-protocol skills.

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