CtrlK
BlogDocsLog inGet started
Tessl Logo

azure-communication-sms-java

Send SMS messages with Azure Communication Services SMS Java SDK. Use when implementing SMS notifications, alerts, OTP delivery, bulk messaging, or delivery reports.

63

Quality

75%

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 ./skills/azure-communication-sms-java/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 highly actionable, copy-paste-ready API reference whose main costs are redundancy and boilerplate padding, and its fully monolithic structure — everything is inlined in one long SKILL.md with no reference files. Workflow sequencing is clear, though the advertised retry guidance is never demonstrated.

Suggestions

Split advanced material into one-level-deep reference files (e.g. references/async.md, references/delivery-reports.md, references/result-reference.md) and keep SKILL.md as a lean quick-start overview.

Remove the redundant 'Send Options' section (folded into the bulk-send example), the duplicate 'Response Handling' example, and the boilerplate 'When to Use'/'Limitations' filler to cut token cost.

Show an actual retry-with-backoff snippet for 429 in the Error Handling section instead of only stating it as a best practice.

DimensionReasoningScore

Conciseness

The body is mostly lean code with minimal prose, but it includes redundant or padded content: the 'Send Options' section repeats options already shown in 'Send Multiple Recipients', 'Response Handling' overlaps with the multi-recipient section, and 'Trigger Phrases'/'When to Use'/'Limitations' are boilerplate padding ('This skill is applicable to execute the workflow or actions described in the overview'). A pinned version '1.2.0' in the pom snippet is also time-sensitive with no deprecation framing. This fits anchor 3 ('mostly efficient but includes some unnecessary explanation or could be tightened').

3 / 5

Actionability

Nearly every section is copy-paste-ready executable Java covering the common cases: three client-creation auth patterns, single and bulk sends, options, full response handling, async variants, and try/catch error handling with per-recipient status interpretation (400/429). This matches anchor 5 ('fully executable; copy-paste ready code... specific examples cover the common cases'); the only non-executable snippet is the clearly-labeled webhook stub in Delivery Reports, which is environment-dependent.

5 / 5

Workflow Clarity

The sequence (install → create client → send → check per-recipient results → handle errors) is coherent, and the Error Handling section provides checkpoints (per-recipient isSuccessful() checks, 429 rate-limit detection). It falls short of anchor 5 because the recommended retry-with-backoff for 429 is stated as advice ('Implement retry with backoff for 429 responses') but never shown as an actual feedback loop, and there is no verification guidance for bulk sends beyond iterating results.

4 / 5

Progressive Disclosure

There are no bundle files (no references/, scripts/, or assets/ directories), and this ~280-line body inlines material that would be better split out — the SmsSendResult properties table, async operations, and Event Grid delivery-report details could live in reference files. Section headers are clear and navigation is fine, which keeps it above anchor 2, but 'content that should be separate is inline' places it at anchor 3 rather than 4.

3 / 5

Total

15

/

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 description with an explicit and well-structured 'Use when' clause and good natural trigger coverage. Its main weaknesses are a single concrete action verb and trigger terms that don't all scope to Azure.

Suggestions

Promote use-case nouns into distinct concrete actions, e.g. 'Send SMS messages to single or multiple recipients, enable delivery reports, and send OTP/verification codes via the Azure Communication Services SMS Java SDK.'

Scope the trigger clause to the provider or add distinguishing terms (e.g. 'Use when implementing SMS with Azure Communication Services in Java') to reduce overlap risk with other SMS-provider skills.

DimensionReasoningScore

Specificity

The description names the domain ('Send SMS messages with Azure Communication Services SMS Java SDK') with one concrete action, but the remaining phrases ('SMS notifications, alerts, OTP delivery, bulk messaging, or delivery reports') describe use-case contexts rather than additional concrete actions. It sits at anchor 3 ('names domain and 1-2 concrete actions, but not comprehensive') rather than 4 because it does not list several distinct specific actions.

3 / 5

Completeness

It clearly answers both questions: 'Send SMS messages with Azure Communication Services SMS Java SDK' states what it does, and 'Use when implementing SMS notifications, alerts, OTP delivery, bulk messaging, or delivery reports' gives explicit, concrete trigger guidance — a direct match for anchor 5.

5 / 5

Trigger Term Quality

Good natural keyword coverage — 'SMS notifications', 'alerts', 'OTP delivery', 'bulk messaging', 'delivery reports', 'Azure Communication Services SMS' are all phrases users would plausibly say. It falls short of anchor 5 only because common synonyms like 'text message' or 'texting' are missing.

4 / 5

Distinctiveness Conflict Risk

The niche is clear ('Azure Communication Services SMS Java SDK' is highly specific), but the 'Use when' clause lists generic SMS terms ('SMS notifications', 'OTP SMS' contexts) without an Azure qualifier, leaving minor overlap risk with other SMS-provider skills (e.g., Twilio). This matches anchor 4 ('mostly distinct; minor overlap risk').

4 / 5

Total

16

/

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

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository
sickn33/agentic-awesome-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.