CtrlK
BlogDocsLog inGet started
Tessl Logo

add-channel-whats-next-onboarding

Add a new chat channel's layer-2 dashboard onboarding — the connected-state "What's next" / "FOR YOUR USERS" developer-rollout guide plus its connected details page — in apps/dashboard, following the existing Slack, MS Teams, and Telegram pattern. Use when a connected agent integration needs a per-provider "what's next" guide (recap + dev steps with @novu/react ConnectButton snippet), a <Channel>AgentConnectedDetails view, and the resolver/registry wiring under components/agents/agent-integration-guides.

66

Quality

80%

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

77%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-engineered, information-dense skill body: correct prerequisite gating, an actionable file checklist, an explicit config contract, and a real verify section with checkpoints. Its one material defect is navigation — the 'full templates' reference.md is missing from the bundle, which both breaks progressive disclosure and removes the copy-paste templates the actionability depends on.

Suggestions

Ship the referenced reference.md (in a references/ directory) containing the full Telegram/Slack/MS Teams config-builder templates and the <Channel>ConnectButton CodeBlock snippet, or delete the dangling "Full templates: see [reference.md](reference.md)" link and inline a minimal working build<Channel>WhatsNextConfig example in the config-contract section.

Add an explicit disambiguation line near the top naming the sibling skills (layer-1 <channel>-setup-guide.tsx and add-channel-connect-button) so a request phrased as 'add a channel' routes to the right skill.

Trim the duplicated layer-1-out-of-scope statement (it appears in both the intro paragraph and the architecture diagram) and replace the vague 'Check types via Cursor diagnostics' with a concrete typecheck command to firm up the verify step.

DimensionReasoningScore

Conciseness

The body is dense and almost entirely project-specific knowledge Claude cannot know (the registry/switch architecture, the WHATS_NEXT_CONFIG_BUILDERS map, the PrebuiltPromptBanner source-key convention, the port-4201 warning), with no filler explaining general concepts. It sits at 4 rather than 5 because of small trimmable redundancies — the layer-1-is-out-of-scope point is made in both the intro and the architecture diagram, and the description's scope restatement at the top adds little.

4 / 5

Actionability

Highly actionable: exact file paths, exact function signature `build<Channel>WhatsNextConfig(ctx): ChannelWhatsNextConfig`, the WHATS_NEXT_CONFIG_BUILDERS registration key, field-by-field WhatsNextStep typing, and a copy-pasteable flag-gating recipe (two named gate points). It misses anchor 5 because there is no actual code template for the config builder or the connect-button snippet — the 'Full templates' are delegated to a reference.md that does not exist, leaving the single most-copied artifact unwritten.

4 / 5

Workflow Clarity

The sequence is explicit and gated: Step 0 prerequisites (provider enum entry, layer-1 guide, ConnectButton), then a checkboxed Create/Edit/Optional file checklist ordered by dependency, then the config contract, then a Build & verify section with concrete checkpoints (recap collapses, prompt banner + copyable snippet, 'Your users are connecting' footer, flag-off hides the guide). This matches the anchor-5 shape — checklist plus explicit validation steps with a conditional branch for the flag case.

5 / 5

Progressive Disclosure

Inline structure is good (clearly headed sections, a checklist, an architecture diagram), but the body's only external pointer — "Full templates: see [reference.md](reference.md)" — is a dangling reference: no references/ directory or reference.md exists anywhere in the skill bundle. That is the worst possible disclosure state for that content: it is signaled as one level deep but resolves to nothing, so the templates it promises are unreachable.

3 / 5

Total

16

/

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, well-scoped description: it names the exact deliverables, their location, the pattern to follow, and carries an explicit and specific 'Use when' trigger clause with concrete component names. Its only weaknesses are a slightly jargon-heavy opening ('layer-2') and no explicit disambiguation from the sibling layer-1/connect-button skills.

DimensionReasoningScore

Specificity

The description names concrete deliverables — "the connected-state 'What's next' / 'FOR YOUR USERS' developer-rollout guide plus its connected details page", "the resolver/registry wiring under components/agents/agent-integration-guides" — and anchors them to the existing "Slack, MS Teams, and Telegram pattern". It stops short of anchor 5 because the actions are deliverable nouns rather than an exhaustive list of concrete operations, and 'layer-2' jargon is unpacked only implicitly.

4 / 5

Completeness

It explicitly answers both questions: the 'what' is the connected-state rollout guide + details page + resolver/registry wiring, and the 'when' is a literal trigger clause — "Use when a connected agent integration needs a per-provider 'what's next' guide (recap + dev steps with @novu/react ConnectButton snippet)". This matches the anchor-5 example's structure of concrete what followed by explicit 'Use when' trigger phrases; anchor 4 would require the 'when' to be less specific than it is.

5 / 5

Trigger Term Quality

Good natural-term coverage: "Add a new chat channel", "onboarding", "what's next guide", "connected", plus the provider synonyms "Slack, MS Teams, and Telegram" and the product surface "@novu/react ConnectButton". Not anchor 5: it omits some natural variations a user might say (e.g. 'rollout guide', 'post-connect page', provider names beyond the three listed).

4 / 5

Distinctiveness Conflict Risk

The trigger is tightly scoped ("connected-state", "per-provider", specific component names like <Channel>AgentConnectedDetails), giving it a clear niche. It stays at 4 rather than 5 because the body reveals closely related sibling skills (the layer-1 setup guide and the add-channel-connect-button skill) whose descriptions could plausibly fire on a similar 'add a channel' request, and the description does not explicitly disambiguate from them.

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.

Validation — 15 / 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.