CtrlK
BlogDocsLog inGet started
Tessl Logo

notification-platform

Guide for adding notifications, custom renderers, or new providers to Sentry's NotificationPlatform. Use when asked to "add notification", "new notification", "notification platform", "send notification", "notification template", "notification renderer", "notification provider", "NotificationPlatform", "notify user", "send email notification", "send slack notification".

88

3.16x
Quality

94%

Does it follow best practices?

Impact

95%

3.16x

Average score across 2 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

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

An exemplary skill body for a complex multi-operation system: a routing table dispatches to numbered steps, each carrying executable code, and validation is built in via test code and a pre-flight checklist. Progressive disclosure is well executed with four real, one-level-deep reference files. The only notable imperfection is minor redundancy around repeated pointers to types.py and some glossary/step overlap.

DimensionReasoningScore

Conciseness

The body is dense and assumes Claude's competence (no explanation of dataclasses, enums, or what notifications are), with every code snippet earning its place. It falls short of lean-perfect due to minor redundancy, e.g. Step 2 points to types.py twice ("For examples, load src/sentry/notifications/platform/types.py" and again "All NotificationCategory options are defined in the src/sentry/notifications/platform/types.py file"), and the glossary table partially overlaps the Step descriptions. This is the level-4 anchor: efficient with minor instances that could be trimmed, not the padded verbosity of level 3.

4 / 5

Actionability

Every step ships executable, copy-paste-ready code with clearly-marked placeholders: the enum addition, NOTIFICATION_SOURCE_MAP registration, frozen dataclass, @template_registry.register template with full render(), the sending pattern guarded by has_access(), and complete template/service/renderer test classes including the exact pytest command "pytest -svv --reuse-db tests/sentry/notifications/platform/". The coverage matches the common cases (adding a notification end-to-end). Not a 4: there are no gaps — even file placement ("templates/<your_notification>.py", "{provider}/renderers/{name}.py") and the required __init__.py import are specified.

5 / 5

Workflow Clarity

A routing table ("I want to... | Go to Steps 2-5 / Step 6 / Step 7") routes each operation, steps are numbered 1-9, Step 8 provides concrete test code, and Step 9 is an explicit pre-flight checklist with verification commands ("example_data produces valid output via render_example()", "Tests pass: pytest -svv --reuse-db ...", "Pre-commit passes"). This matches the level-5 anchor: clear sequence with explicit validation steps and a checklist for a complex process. Not a 4: validation checkpoints are explicit and command-backed rather than minor-gapped.

5 / 5

Progressive Disclosure

SKILL.md is a true overview: each step keeps only the essential inline content and signals deeper material with clearly-marked one-level-deep pointers — "load references/data-and-templates.md" (Steps 3 and 4), "references/targets-and-sending.md" (Step 5), "references/custom-renderers.md" (Step 6), "references/provider-template.md" (Step 7) — and all four referenced files actually exist in references/. Bulk detail (full provider scaffold, Seer renderer example) is correctly deferred to those files. Not a 4: there are no organization gaps; navigation is trivial via the routing table and step headers.

5 / 5

Total

19

/

20

Passed

Description

96%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 that explicitly states what the skill does and when to use it, with an unusually thorough set of natural trigger phrases including the platform's class name. Its only weakness is that a few triggers ("notify user", "send notification") are generic enough to risk false matches in non-Sentry contexts.

DimensionReasoningScore

Specificity

The description names three concrete actions — "adding notifications, custom renderers, or new providers to Sentry's NotificationPlatform" — which comprehensively cover the skill's surface (matching its Steps 2-5, 6, and 7). It is not a level 4 case because there are no coverage gaps: the three operations are exactly the operations the skill documents.

5 / 5

Completeness

It explicitly answers both what ("Guide for adding notifications, custom renderers, or new providers to Sentry's NotificationPlatform") and when ("Use when asked to ..." followed by concrete trigger phrases), which is the level-5 pattern. Not a 4 because the 'when' clause is explicit and enumerated rather than merely present.

5 / 5

Trigger Term Quality

Eleven quoted natural trigger phrases users would actually say are provided ("add notification", "new notification", "notification platform", "send notification", "notification template", "notification renderer", "notification provider", "NotificationPlatform", "notify user", "send email notification", "send slack notification"), including the exact class name and provider-specific variants. This matches the comprehensive-synonyms anchor; nothing natural is missing.

5 / 5

Distinctiveness Conflict Risk

The 'what' is pinned to "Sentry's NotificationPlatform", giving it a clear niche, but several trigger phrases ("notify user", "send notification", "send email notification") are generic and could fire for unrelated notification requests outside the Sentry platform. This is the level-4 anchor — mostly distinct with minor overlap risk — rather than 5, whose 'minimal conflict risk' standard these generic triggers don't fully meet.

4 / 5

Total

19

/

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
getsentry/sentry
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.