CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

azure-web-pubsub-ts

Real-time messaging with WebSocket connections and pub/sub patterns.

Quality

63%

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 ./skills/azure-web-pubsub-ts/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%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-organized, code-first SDK reference that is lean and immediately actionable for common tasks: authentication, token issuance, messaging, groups, client events, and Express integration. Its weaknesses are structural rather than informational — no end-to-end workflow with validation checkpoints, minor executability gaps in the Express example, and no progressive disclosure of detail into reference files.

Suggestions

Add a short quick-start sequence (create service client → negotiate endpoint → client connect → send/receive) with a checkpoint to verify the connection succeeded, turning the reference into a followable workflow.

Move the 'Key Types' section and full Express handler into references/ files (e.g. API.md, EXPRESS.md) and link them from the body to keep SKILL.md an overview.

Fix the Express example's undefined 'serviceClient' (show its import/creation) so the negotiate snippet is fully copy-paste runnable.

DimensionReasoningScore

Conciseness

The body is almost entirely lean, well-commented code examples with no explanation of concepts Claude already knows — every SDK-specific snippet earns its place. Minor trimmable parts (the vague filler 'When to Use' sentence and the 'Key Types' import listing) keep it at 'Efficient; minor instances of over-explanation that could be trimmed' rather than 5.

4 / 5

Actionability

Concrete, near copy-paste TypeScript covers auth, token generation, sends, group management, client lifecycle, and Express handlers. Minor gaps: 'serviceClient' is undefined in the Express negotiate snippet, the Express example omits its service-client import/setup, and placeholders like '<resource>' and '<key>' need user substitution — 'Mostly executable guidance with minor gaps'.

4 / 5

Workflow Clarity

Sections imply a rough sequence (install → server client → browser client → Express handler) and key ordering is flagged ('Register handlers BEFORE starting'), but there is no explicit end-to-end workflow and no validation checkpoints (e.g., verifying a connection succeeded or a token works). Fits 'Steps listed but validation gaps; sequence present but checkpoints missing or implicit'; not 2 because the per-section guidance is well defined, not 4 because checkpoints are absent.

3 / 5

Progressive Disclosure

Sections are well organized with clear headers, but all ~300 lines live inline in SKILL.md with no references to separate files (and no references/ bundle exists). Detailed material like 'Key Types', the OData filter examples, and the full Express handler would be better split into reference files — 'Some structure but could be better organized' with content that should be separate kept inline.

3 / 5

Total

14

/

20

Passed

Description

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

The description is a short, accurate domain phrase but reads more like a category label than a skill description: it names no concrete SDK actions, includes no 'Use when' trigger guidance, and never mentions Azure Web PubSub or TypeScript, which are its defining and most natural trigger terms. It would be passed over or confused with generic realtime-messaging skills.

Suggestions

Add an explicit 'Use when' clause, e.g. 'Use when working with Azure Web PubSub in TypeScript, building realtime chat/live-update features, or wiring WebSocket pub/sub in Express apps.'

Include the product and language names ('Azure Web PubSub', 'TypeScript', '@azure/web-pubsub') as trigger terms — they are the phrases users will naturally say.

List 1-2 concrete capabilities to raise specificity, e.g. 'Issue client access tokens, broadcast and group messages, and handle connect/user events via Express middleware.'

DimensionReasoningScore

Specificity

The description names the domain ("Real-time messaging with WebSocket connections and pub/sub patterns") but contains no concrete actions — no send, subscribe, broadcast, or token-issuance verbs. It matches the anchor 'Names the domain but actions are minimal or generic' and falls short of 3, which requires 1-2 concrete actions.

2 / 5

Completeness

A moderately clear 'what' is present (real-time messaging with WebSockets and pub/sub), but there is no 'Use when...' clause or equivalent trigger guidance, which per the rubric caps completeness at 3. It is above 2 because the 'what' is not vague, and below 4 because 'when' is entirely missing rather than merely implicit.

3 / 5

Trigger Term Quality

"WebSocket", "pub/sub", and "real-time messaging" are natural developer terms, but the phrases a user would most naturally say for this skill — "Azure Web PubSub", "Azure", "TypeScript" — are absent, along with synonyms like "live updates" or "chat". This matches 'Some relevant keywords but missing common variations or synonyms'.

3 / 5

Distinctiveness Conflict Risk

"WebSocket connections and pub/sub patterns" is somewhat specific, but the omission of "Azure Web PubSub" — the biggest differentiator — makes it easy to confuse with generic realtime skills (Socket.IO, Ably, Pusher). Fits 'Somewhat specific but could still overlap with similar skills'.

3 / 5

Total

11

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

skills/azure-web-pubsub-ts/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.