CtrlK
BlogDocsLog inGet started
Tessl Logo

add-channel-connect-button

Build a new channel Connect button (e.g. WhatsApp, Discord, LINE) in @novu/js and @novu/react following the existing SlackConnectButton, MsTeamsConnectButton, and TelegramConnectButton pattern. Use when adding connect/disconnect UI for a new chat channel/provider to the SDK — covering the SolidJS core component, the React wrapper, the channelConnections (OAuth) vs channelEndpoints (deep-link) data layer, the component registry, and package exports.

64

Quality

77%

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 ./.cursor/skills/add-channel-connect-button/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%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, actionable skill body with a strong decision-first workflow and concrete file-level guidance. Its main weakness is progressive disclosure: the body points to a reference.md for full templates that is not present in the bundle.

Suggestions

Provide the referenced reference.md (or remove the link) so the 'Full templates' pointer resolves to an actual bundle file.

Add a brief 'validate output compiles/renders' checkpoint between file edits and the manual playground test to strengthen the feedback loop.

Trim the SolidJS-vs-React convention recap ('signals over hooks, <Show> over ternaries') since Claude already knows SolidJS idioms.

DimensionReasoningScore

Conciseness

Mostly lean and assumes Claude's competence — the architecture diagram, decision table, and checklists are dense and purposeful — with a few sentences restating SolidJS-vs-React conventions Claude likely already knows.

4 / 5

Actionability

Highly actionable with specific file paths, exact shared style keys, poll interval/timeout constants, and copy-this-sibling guidance; a 4 rather than 5 because code is referenced as patterns to copy rather than given as copy-paste templates inline.

4 / 5

Workflow Clarity

Clear sequenced workflow (Step 0 decision → file checklist → behavior contract → build & verify) with a build/type-check/manual-test verification block; the manual-test checkpoint is less explicit than a validate-then-proceed loop, so not a 5.

4 / 5

Progressive Disclosure

Well-organized sections with a signaled one-level reference to [reference.md](reference.md) for templates, but that referenced file does not exist in the bundle, so the disclosure is incompletely realized.

3 / 5

Total

15

/

20

Passed

Description

83%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, specific description that explicitly covers what the skill does and when to use it, with concrete SDK-layer actions and natural trigger terms. Minor gaps in synonym coverage and slight overlap risk with broader Novu SDK skills keep it just below perfect.

Suggestions

Add common synonyms users might say, e.g. 'messaging integration' or 'add a new provider connection', alongside 'connect/disconnect UI'.

Tighten the example channel list ('WhatsApp, Discord, LINE') into the trigger clause so the natural phrasing maps more directly to the skill.

DimensionReasoningScore

Specificity

Lists several concrete actions — build the SolidJS core component, React wrapper, OAuth vs deep-link data layer, component registry, and package exports — with only minor coverage gaps (no mention of icon/disconnect state handling).

4 / 5

Completeness

Explicitly answers both what ('Build a new channel Connect button... covering the SolidJS core component, the React wrapper, the channelConnections (OAuth) vs channelEndpoints (deep-link) data layer, the component registry, and package exports') and when ('Use when adding connect/disconnect UI for a new chat channel/provider to the SDK') with concrete trigger phrases.

5 / 5

Trigger Term Quality

Good natural terms like 'connect/disconnect UI', 'new chat channel/provider', 'OAuth', and named example channels; a few common phrasings a user might say (e.g. 'add a new messaging integration') are not covered.

4 / 5

Distinctiveness Conflict Risk

Clear niche (Novu SDK channel connect buttons) with named example channels and specific SDK packages, minimizing conflict risk; minor overlap risk with a generic 'Novu SDK component' skill.

4 / 5

Total

17

/

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.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 1 missing

Warning

Total

15

/

16

Passed

Repository
novuhq/novu
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.