CtrlK
BlogDocsLog inGet started
Tessl Logo

azure-communication-chat-java

Build real-time chat applications with thread management, messaging, participants, and read receipts.

53

Quality

60%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/azure-communication-chat-java/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

This is a strong, code-dense reference: nearly every operation has executable Java with sensible placeholders and an error-handling section. Its weaknesses are the absence of any progressive disclosure (everything inlined in one long file), boilerplate filler sections, and no validation guidance around destructive operations.

Suggestions

Split the per-operation API reference (message types, pagination, typing, thread operations) into one-level-deep files under references/ (e.g. references/messaging.md, references/participants.md) and keep SKILL.md as a concise overview with clearly signaled links.

Remove the boilerplate "When to Use" and "Limitations" filler and the circular Trigger Phrases section; replace with skill-specific guidance that earns its tokens.

Add validation/confirmation guidance before destructive calls (deleteMessage, deleteChatThread, removeParticipant) and show the missing imports (Context, OffsetDateTime) in the snippets that use them.

DimensionReasoningScore

Conciseness

The code examples are lean, but the body carries unnecessary weight: boilerplate filler ("This skill is applicable to execute the workflow or actions described in the overview", the generic Limitations section, the Trigger Phrases list) and a pinned version "1.6.0" that is time-sensitive and not placed in a deprecated/versions section. This matches anchor 3 (mostly efficient but could be tightened) rather than anchor 4, which requires only minor trims.

3 / 5

Actionability

Nearly every section ships executable, copy-paste-ready Java covering the common cases (client creation, threads, messages, participants, receipts, typing, pagination, error handling), but there are minor gaps — `Context.NONE` is used in the Typing Notifications snippet and `OffsetDateTime.now()` in Manage Participants without the corresponding imports shown. This matches anchor 4 (mostly executable, minor gaps) rather than anchor 5's fully copy-paste-ready standard.

4 / 5

Workflow Clarity

Sections are ordered in a natural progression (client → thread → messages → participants → receipts → thread ops) and there is an error-handling section, but there is no explicit multi-step workflow and no validation or confirmation guidance before destructive operations ("threadClient.deleteMessage(messageId)", "chatClient.deleteChatThread(threadId)"), which caps workflow clarity at 3 per the destructive-operation rule. It is not a 2 because each operation is individually well-defined with a rough implied sequence.

3 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/ directories), so the full ~320-line API reference — message-type tables, pagination details, per-operation code — is inlined in SKILL.md. Section headers are clear and well-organized, matching anchor 3 (some structure, but content that should be separate is inline) rather than anchor 2, since navigation within the file is easy; it cannot reach 4–5 because detailed reference material is not split into one-level-deep files.

3 / 5

Total

13

/

20

Passed

Description

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

The description clearly communicates concrete capabilities but reads as a bare feature list. Its main weaknesses are the complete absence of a "Use when..." trigger clause and of the Azure/Java platform identifiers that would make it both more discoverable and more distinctive from other chat-related skills.

Suggestions

Add an explicit trigger clause, e.g. "Use when building chat or real-time messaging features with Azure Communication Services in Java."

Include the platform and language keywords ("Azure Communication Services", "Java") in the description itself — not just the skill name — to improve trigger-term coverage and distinctiveness.

Mention typing notifications (and optionally thread properties/pagination) to close the coverage gap and support a higher specificity score.

DimensionReasoningScore

Specificity

The description lists four concrete capability areas — "thread management, messaging, participants, and read receipts" — but omits typing notifications and other covered operations, matching anchor 4 (several specific actions, minor gaps) rather than anchor 5's comprehensive coverage.

4 / 5

Completeness

The "what" is clearly stated (build chat applications with thread management, messaging, participants, read receipts), but there is no "Use when..." clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. It is not a 2 because the "what" is concrete and multi-action rather than vague.

3 / 5

Trigger Term Quality

Terms like "real-time chat applications", "messaging", and "read receipts" are natural user phrasing with good coverage, but the description never mentions "Azure Communication Services" or "Java" — the platform and language keywords a user would most naturally include — so it falls short of anchor 5's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

The chat-domain focus is somewhat specific, but without "Azure Communication Services" or "Java" qualifiers the description could overlap with any chat skill (Slack bots, Twilio, generic websocket chat), matching anchor 3. It is not a 4 because the missing platform identifier leaves real overlap risk with closely related chat skills.

3 / 5

Total

14

/

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.