CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

azure-communication-common-java

Azure Communication Services common utilities for Java. Use when working with CommunicationTokenCredential, user identifiers, token refresh, or shared authentication across ACS services.

77

1.33x
Quality

72%

Does it follow best practices?

Impact

100%

1.33x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/azure-communication-common-java/SKILL.md

The canonical home for this skill is azure-communication-common-java in sickn33/agentic-awesome-skills

SKILL.md
Quality
Evals
Security

Quality

Content

64%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 genuinely actionable, code-heavy reference that covers the ACS Java authentication and identifier surface well, including refresh, Entra ID, and disposal patterns. Its weaknesses are filler sections (Trigger Phrases, When to Use, a redundant Key Concepts table), at least one misleading example (the "async" refresh is blocking), and no progressive disclosure — the whole reference lives inline in SKILL.md.

Suggestions

Delete the "Trigger Phrases", "When to Use", and "Key Concepts" sections; the first two add zero execution value and the table duplicates the identifier sections below it.

Fix or remove the "Async Token Refresh" example — wrapping a CompletableFuture in Callable<String> with future.get() is synchronous; show the refresher doing a plain blocking server call or document the SDK's actual async behavior.

Move the identifier reference material (parsing, type-checking, cloud environments) into references/identifiers.md and keep SKILL.md focused on credential creation and refresh, so the body loads fewer tokens by default.

DimensionReasoningScore

Conciseness

Mostly lean code-first content, but there are several sections that earn no tokens: the "Key Concepts" table duplicates the later identifier sections, "Trigger Phrases" restates frontmatter selection data Claude never needs at execution time, and "When to Use" is pure filler ("This skill is applicable to execute the workflow or actions described in the overview"). That is more than anchor 4's "minor instances of over-explanation that could be trimmed" — it matches anchor 3 ("Mostly efficient but includes some unnecessary explanation or could be tightened").

3 / 5

Actionability

Nearly every section is concrete, copy-paste-ready Java with the Maven dependency, static/proactive refresh setup, identifier construction, parsing, and disposal via try-with-resources — matching anchor 4 ("mostly executable guidance; concrete code with minor gaps"). It falls short of 5 because some snippets are questionable as-is: the "Async Token Refresh" example is actually blocking ("future.get(); // Block until token is available"), not async, and the MicrosoftTeamsUserIdentifier examples rely on fluent setters whose existence in the 1.4.0 API is uncertain, so a user may hit compile errors.

4 / 5

Workflow Clarity

As a reference skill there is no risky multi-step pipeline, so validation checkpoints are largely unnecessary; the key decision point (static token vs. proactive refresh) is explicitly labeled by use case ("Short-lived Clients" / "Long-lived Clients") and the "Best Practices" section gives clear directives. It matches anchor 4 (clear, well-defined guidance with minor gaps) — e.g. "Handle token refresh failures gracefully" names no concrete error-handling pattern, and no snippet shows how to detect/handle a failed refresh callback.

4 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/), so all ~310 lines are inlined in SKILL.md. The section headers give reasonable structure, but a full API-style reference (identifier parsing, type-checking, cloud environments, Entra options) that clearly belongs in a one-level-deep references/ file is inline, matching anchor 3 ("Some structure but could be better organized; content that should be separate is inline"). The under-50-line exception does not apply here.

3 / 5

Total

14

/

20

Passed

Description

70%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 solid description with an explicit and concrete "Use when" trigger clause and good natural keywords. Its main weakness is a vague "what" — "common utilities" never states what the skill actually provides (usage patterns, code reference for authentication and identifiers).

Suggestions

Replace the vague "common utilities for Java" with 2-3 concrete actions, e.g. "Provides authentication and identifier patterns for Azure Communication Services Java clients: static and proactive token refresh, Entra ID (Teams) credentials, and identifier parsing/type-checking."

Add common user phrasings like "user access token" or "Teams extensibility" to the trigger clause to round out keyword coverage.

DimensionReasoningScore

Specificity

The description names the domain ("Azure Communication Services common utilities for Java") and points at concrete components ("CommunicationTokenCredential, user identifiers, token refresh, or shared authentication"), but the action is only the generic "utilities" — no verbs describe what it actually does with these. It sits between anchor 2 ("Names the domain but actions are minimal or generic") and anchor 3 (domain plus 1-2 concrete actions); the named classes and token-refresh concern lift it to 3, but it is not a comprehensive list of concrete actions.

3 / 5

Completeness

It has both a "what" ("Azure Communication Services common utilities for Java") and an explicit "Use when working with..." clause with concrete triggers. It fits anchor 4 rather than 5 because the "what" half is vague ("common utilities" does not say what the skill provides, unlike the good example's "Extract text and tables from PDF files"), while the "when" half alone is strong.

4 / 5

Trigger Term Quality

Natural terms a Java ACS developer would say are present: "CommunicationTokenCredential", "token refresh", "user identifiers", "ACS", "Java". This matches anchor 4 ("Good keyword coverage; a few natural terms missing") — common variations like "user access token", "Teams user", or "Entra ID" are absent, keeping it below anchor 5's comprehensive synonym/extension coverage.

4 / 5

Distinctiveness Conflict Risk

The class names (CommunicationTokenCredential) and ACS-specific scope give it a clear niche, but "shared authentication across ACS services" overlaps with sibling skills for ACS Chat/Calling/SMS, which would also trigger on "Azure Communication Services authentication" phrasing. This matches anchor 4 ("Mostly distinct; minor overlap risk with closely related skills") rather than 5.

4 / 5

Total

15

/

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

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

skills/azure-communication-common-java/SKILL.md

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.