CtrlK
BlogDocsLog inGet started
Tessl Logo

novu-manage-subscribers

Create, update, search, and delete subscribers in Novu. Manage topics for group-based notification targeting. Set subscriber credentials for push and chat channels. Use when managing notification recipients, creating subscriber records, organizing subscribers into topics, or configuring channel-specific credentials.

64

Quality

78%

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 ./docs/.mintlify/skills/manage-subscribers/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

68%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 API reference that is easy to navigate and mostly executable, with real bundle files backing each section. Its main deficits are the rubric-mandated workflow cap (no validation around destructive/batch operations) and copy-paste inconsistencies in examples, plus substantial duplication between the body and the reference files.

Suggestions

Add validation/verification steps around destructive and batch operations — e.g., retrieve a subscriber before `delete` to confirm the right record, and check the bulk-create result for per-subscriber failures — to lift workflow clarity above the destructive/batch cap of 3.

Fix the example inconsistencies: the APNS example's "integrationIdentifier: \"fcm-abc-123\"" should be an apns identifier, use the created topic key "engineering-team" instead of "engineering-team-topic", and correct the "subsriberId-1" typo in the FCM example.

Deduplicate SKILL.md against references/: keep one compact example per operation inline (or a signature plus pointer) and move the full multi-language/cURL variants entirely to the referenced files so tokens are not spent twice on the same code.

DimensionReasoningScore

Conciseness

The body is lean — one-line section intros, commented inline code, no explanation of concepts Claude already knows — earning efficiency. It is not 5 because the subscriber CRUD, topics, and credentials examples are duplicated nearly verbatim between SKILL.md and the references/ files (e.g., createBulk and FCM credential blocks), spending tokens twice on the same content.

4 / 5

Actionability

Every operation ships copy-paste-ready TypeScript against the SDK, covering common cases, which is mostly executable guidance. It misses 5 due to concrete defects: the APNS example reuses "integrationIdentifier: \"fcm-abc-123\"", topic examples reference "engineering-team-topic" though the topic was created as "engineering-team", the FCM example uses a typo'd "subsriberId-1", and `topics.list({})` is left with a dangling empty object across multiple lines.

4 / 5

Workflow Clarity

Sections are logically ordered and "Common Pitfalls" supplies implicit ordering checkpoints ("Topics must exist before triggering", "Always create subscribers before adding into the topic"), but the skill includes destructive and batch operations (delete subscriber, delete topic, bulk create up to 500) with no validation or verification steps — e.g., nothing confirming a subscriber exists before delete or verifying bulk-create results. Per the rubric's cap, destructive/batch work without validation cannot score above 3, and it is clearly above the 2 anchor since the pitfalls do encode real sequencing guidance.

3 / 5

Progressive Disclosure

Structure is good: an overview body with clearly signaled one-level-deep references to real files (references/subscriber-crud-examples.md, topics-examples.md, credentials-examples.md all exist and match their topics), plus a cross-skill pointer to trigger-notification. It is not 5 because the split is imperfect — large blocks of inline example code (full create payload, bulk create, FCM/APNS credentials) duplicate the references rather than the body pointing to them, i.e., content that should live only in the separate files is inlined.

4 / 5

Total

15

/

20

Passed

Description

88%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 description in third-person imperative voice that names concrete capabilities and includes an explicit, enumerated 'Use when' trigger clause. Its only weakness is slight keyword breadth (missing device-token/push-token synonyms) and minor conceptual overlap with sibling notification-delivery skills.

DimensionReasoningScore

Specificity

"Create, update, search, and delete subscribers in Novu. Manage topics... Set subscriber credentials for push and chat channels" lists multiple specific concrete actions (CRUD, topic management, credential setup) that comprehensively cover the skill's scope. It is not a 4 because there is no meaningful coverage gap — every capability shown in the body (subscribers, topics, credentials) is named in the description.

5 / 5

Completeness

It explicitly answers what ("Create, update, search, and delete subscribers... Manage topics... Set subscriber credentials") and when ("Use when managing notification recipients, creating subscriber records, organizing subscribers into topics, or configuring channel-specific credentials") with concrete trigger phrases. This matches the 5 anchor exactly; the 'when' clause is explicit and enumerated rather than weakly implied as at 4.

5 / 5

Trigger Term Quality

Good natural keyword coverage — "notification recipients", "subscriber records", "organizing subscribers into topics", "configuring channel-specific credentials", "push and chat channels" — that mirrors phrases a user would plausibly say. It falls short of 5 because common variations like "device tokens", "push tokens", or "Novu subscribers" phrasings are absent, though it is clearly above the 3 anchor ("Works with PDF files") given the breadth of terms present.

4 / 5

Distinctiveness Conflict Risk

The Novu-specific vocabulary ("subscribers in Novu", "topics", "channel-specific credentials") carves a clear niche, but "Manage topics for group-based notification targeting" and "managing notification recipients" carry minor overlap risk with a closely related notification-triggering skill (the body itself links to a sibling trigger-notification skill). It is mostly distinct (4) rather than minimal conflict (5), but far more specific than the 3 anchor's generic scope.

4 / 5

Total

18

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

relative_links

Relative link issues: 1 suspicious

Warning

Total

14

/

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.