CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ably-realtime

Ably Realtime integration. Manage data, records, and automate workflows. Use when the user wants to interact with Ably Realtime data.

Quality

68%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/ably-realtime/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

The body is a largely actionable CLI guide with good state-machine handling for connection readiness, but it is undermined by broken step numbering (dangling "Step 2" references), conceptual padding Claude does not need, and a content-free overview section. Fixing the sequence coherence and trimming the filler would move both workflow clarity and conciseness up a level.

Suggestions

Fix the step numbering: either label the sections after connection setup (e.g. "Step 2: Discover actions", "Step 3: Run actions") or remove the "skip to **Step 2**" references and the orphaned "#### 1b." heading, and move the discovery command currently under "Popular actions" into the "Searching for actions" section.

Cut the concept explanations Claude already knows — the intro paragraph describing what Ably is and the bare Channel/Message/Namespace/API Key term list — and keep only operational guidance.

Standardize the CLI invocation (always `membrane` or always `npx @membranehq/cli@latest`) and show one fully worked example with a real connectionId and actionId to resolve the placeholder gaps.

DimensionReasoningScore

Conciseness

The command documentation is compact, but there is unnecessary padding: the intro paragraph explaining what Ably is ("a globally distributed data stream network. It helps developers build real-time experiences like live chat..."), the content-free Overview section that lists only the bare terms Channel/Message/Namespace/API Key with no substance, and asides like "so you can focus on the integration logic rather than auth plumbing" and "This is the fastest way to get a connection". This fits "Mostly efficient but includes some unnecessary explanation or could be tightened" rather than the minor-trim level of 4, which would require dropping the concept explanations entirely.

3 / 5

Actionability

Concrete, copy-paste-ready bash commands appear throughout (install, login, connection ensure/get --wait, action list/run with --input JSON, request with a flags table), matching "Mostly executable guidance; concrete code or commands with minor gaps". Not 5 because of unresolved placeholder handling (CONNECTION_ID, <actionId> are never shown resolved), inconsistent CLI invocation (bare `membrane` in most examples vs `npx @membranehq/cli` in others), and no worked end-to-end example of a real action run.

4 / 5

Workflow Clarity

The core connection flow has real checkpoints (READY/BUILDING/CLIENT_ACTION_REQUIRED states with polling and error-field guidance), but the sequence is incoherent at the edges: the text says "skip to **Step 2**" twice yet no Step 2 section exists, a "#### 1b." heading appears with no Step 1a/2/3 counterparts, and the "Popular actions" heading contains only the discovery command while "Running actions" appears later. This matches "Steps listed but validation gaps; sequence present but checkpoints missing or implicit" — the state polling is a checkpoint but the broken step numbering leaves the overall sequence ambiguous.

3 / 5

Progressive Disclosure

No bundle files (references/, scripts/, assets/) exist, and the ~140-line body is well-sectioned with headers and appropriately inline content for a CLI usage guide, matching "Good structure; most content is appropriately placed; references mostly clear; minor organization gaps". Not 5 because at this length some material (the proxy flags table, the clientAction reference) could be split into a separate reference file to keep SKILL.md a leaner overview.

4 / 5

Total

14

/

20

Passed

Description

61%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 has a clear niche and an explicit 'Use when' clause, but its capability statement is generic boilerplate that could describe almost any data SaaS integration, and its trigger coverage relies on the single term "Ably Realtime". Naming concrete Ably operations and natural synonyms would lift both specificity and trigger quality.

Suggestions

Replace "Manage data, records, and automate workflows" with concrete Ably capabilities, e.g. "Publish and subscribe to Ably channels, manage namespaces and API keys, and automate realtime messaging workflows."

Add natural trigger terms and synonyms users say for Ably, such as "channels", "pub/sub", "realtime messaging", "live updates", or "chat".

Make the 'when' clause more specific, e.g. "Use when the user mentions Ably, realtime channels, pub/sub messaging, or live data streaming."

DimensionReasoningScore

Specificity

"Manage data, records, and automate workflows" is generic boilerplate; the description names the domain ("Ably Realtime integration") but lists no concrete Ably-specific actions such as publishing to channels, subscribing to messages, or managing API keys. This matches the anchor "Names the domain but actions are minimal or generic" and falls short of level 3 because no genuinely concrete capability is stated.

2 / 5

Completeness

Both elements are explicitly present: a what ("Manage data, records, and automate workflows") and an explicit when clause ("Use when the user wants to interact with Ably Realtime data"), matching "Has both 'what' and 'when'; 'when' could be more explicit or specific". Not 5 because the 'when' lacks concrete trigger phrases and the 'what' is generic; not 3 because the 'when' is explicit, not weakly implied.

4 / 5

Trigger Term Quality

"Ably Realtime" is the natural keyword a user would say, but the description misses common variations and synonyms users actually use with Ably — "channels", "pub/sub", "realtime messaging", "live data", "chat". Coverage rests on a single term plus generic words ("data", "records", "workflows"), matching "Some relevant keywords but missing common variations or synonyms" rather than the good coverage of level 4.

3 / 5

Distinctiveness Conflict Risk

"Ably Realtime" is named in both the capability statement and the trigger clause, giving a clear niche with distinct triggers and minimal conflict risk with other skills — an exact match for "Clear niche with distinct triggers; minimal conflict risk".

5 / 5

Total

14

/

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

membranedev/application-skills

Path

skills/ably-realtime/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.