CtrlK
BlogDocsLog inGet started
Tessl Logo

action-cable

Setup and use ActionCable for real-time features in Rails applications using WebSockets. Use when implementing real-time updates, live notifications, broadcasting changes, or when the user mentions WebSockets, ActionCable, channels, broadcasting, or Turbo Streams over cable.

64

Quality

81%

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

SKILL.md
Quality
Evals
Security

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 well-organized, mostly executable Rails guide with lean code examples and a clear section flow. The main weaknesses are the incomplete client-side JavaScript snippets (consumer never actually created, `consumer` used undefined) and minor verbosity in the overview and boilerplate sections.

Suggestions

Fix the JavaScript setup section to actually initialize the consumer (e.g., `export default ActionCable.createConsumer()`), since the current snippet only toggles the logger despite the section claiming to 'Initialize ActionCable consumer'.

Make the debugging snippet self-contained by defining `consumer` (import from the initializer) before `consumer.subscriptions.create(...)`, so it runs as written.

Trim minor padding: drop the empty base Channel boilerplate snippet and reconcile the Routes section's 'automatically mounted' claim with the explicit mount example.

DimensionReasoningScore

Conciseness

Largely efficient — every code block carries real information and there is no conceptual padding (no 'what is a WebSocket' explanation). Minor trimmable bits: the overview sentence repeats the description, the empty base Channel snippet is pure boilerplate, and the Routes section says ActionCable 'is automatically mounted at /cable' then shows an explicit mount. Matches anchor 4 ('Efficient; minor instances of over-explanation'); not 5 due to those small redundancies, not 3 since nothing explains concepts Claude already knows.

4 / 5

Actionability

Mostly executable, copy-paste-ready Ruby/JS/Slim/YAML covering connection auth, broadcasting (append/replace/remove), cable.yml per environment, and debugging. Key gap: the JavaScript section titled 'Initialize ActionCable consumer' only disables the logger — `ActionCable.createConsumer()` is never shown — and the debugging snippet references an undefined `consumer` variable, so the client-side path doesn't run as written. Anchor 4 ('concrete code or commands with minor gaps'); not 5 because of those non-executable JS examples, not 3 because the server-side and broadcast examples are complete and runnable.

4 / 5

Workflow Clarity

Sections follow a coherent order (Connection → Channel → JS setup → Broadcasting → Configuration → Debugging → Security) and the Debugging section doubles as a feedback loop (enable logging, check connection status). No explicit validation checkpoints, but the operations covered are non-destructive, so the destructive/batch cap does not apply. Anchor 4 ('Clear sequence with most checkpoints present; minor validation gaps'); not 5 for lack of explicit verify steps, not 3 since the sequence is unambiguous and a debugging loop exists.

4 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent) and none are referenced, so this is a single-file skill; the body is well-sectioned with clear headers and stays a reasonable length (~180 lines). Content that could arguably live in a reference file (broadcast API variants, security checklist) is inline but each is short. Anchor 4 ('Good structure; most content appropriately placed; minor organization gaps'); not 5 because the skill exceeds the under-50-lines simple-skill exception and some material (e.g., the full broadcast_*_to API surface) would fit a reference file, not 3 because navigation and sectioning are clear.

4 / 5

Total

16

/

20

Passed

Description

78%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, well-structured description that clearly answers both what and when with concrete Rails/ActionCable trigger phrases. The main gap is specificity — 'Setup and use' is thin relative to the body's actual coverage (broadcasting, configuration, debugging, security).

DimensionReasoningScore

Specificity

Names the domain ("ActionCable for real-time features in Rails applications using WebSockets") with 1-2 concrete actions ("Setup and use", implicitly "broadcasting changes"), but coverage is not comprehensive — no mention of testing, connection authentication, or debugging. Matches anchor 3 ('Names domain and 1-2 concrete actions, but not comprehensive'); not 4 because the action list is thin relative to the body's actual coverage, not 2 because the domain and actions are concrete, not generic.

3 / 5

Completeness

Explicitly answers both: what ("Setup and use ActionCable for real-time features in Rails applications using WebSockets") and when ("Use when implementing real-time updates, live notifications, broadcasting changes, or when the user mentions WebSockets, ActionCable, channels..."). This mirrors the anchor-5 good example structure almost exactly; not 4 because the 'when' clause is already explicit and concrete.

5 / 5

Trigger Term Quality

Good natural coverage: "real-time updates, live notifications, broadcasting changes, WebSockets, ActionCable, channels, broadcasting, Turbo Streams over cable" — includes synonyms users would say. A few natural terms are missing (e.g., "push updates", "live updates", "Action Cable" two-word spelling), so it sits at anchor 4 rather than 5, and well above 3 given the synonym variety.

4 / 5

Distinctiveness Conflict Risk

Rails-specific niche with distinctive triggers ("ActionCable", "Turbo Streams over cable") — mostly distinct with minor overlap risk from generic words like "channels" and "broadcasting" that a general Turbo Streams or notifications skill might also claim. Not 5 due to that mild overlap; not 3 because the core triggers are unmistakably scoped to Rails/ActionCable.

4 / 5

Total

16

/

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
RoleModel/rolemodel-skills
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.