CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

57

Quality

66%

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-common-java/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

42%Scale 1-3

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

This skill reads more like comprehensive API documentation than a focused skill file. While the code examples are high-quality and executable, the content is far too verbose for what Claude already knows about Java and Azure SDKs. The lack of any progressive disclosure structure means the entire ~250-line document loads into context even when only token refresh patterns are needed.

Suggestions

Reduce content to ~50-60 lines covering only non-obvious patterns: proactive token refresh setup, Entra ID authentication (newer/less common), and the raw ID prefix conventions for identifier parsing.

Remove sections Claude already knows: basic static token creation, UnknownIdentifier usage, instanceof type checking, try-with-resources, environment variable declarations, and the 'Trigger Phrases'/'When to Use'/'Limitations' boilerplate.

If detailed identifier reference is needed, split it into a separate IDENTIFIERS.md file and reference it from the main skill.

Add error handling examples for token refresh failures since the best practices section mentions it but never shows it.

DimensionReasoningScore

Conciseness

The skill is excessively verbose, essentially serving as API documentation that Claude already knows. It explains basic Java concepts like try-with-resources, instanceof checks, and environment variables. The identifier parsing, type checking, and cloud environments sections are all things Claude can derive from the SDK. The 'Trigger Phrases', 'When to Use', and 'Limitations' boilerplate sections waste tokens. At ~200+ lines, this could be condensed to under 60 lines covering only the non-obvious patterns.

1 / 3

Actionability

The code examples are concrete, executable, and copy-paste ready. Each section provides complete Java code with proper imports, constructor calls, and method usage that can be directly used in a project.

3 / 3

Workflow Clarity

For a utility/authentication skill, there isn't a complex multi-step workflow, but the best practices section mentions important steps (proactive refresh, closing credentials, error handling) without showing concrete error handling or validation patterns. The credential lifecycle (create → use → dispose) is shown but not explicitly sequenced as a workflow with validation checkpoints.

2 / 3

Progressive Disclosure

The content is a monolithic wall of text with no references to external files and no bundle files to support it. All content is inline, including detailed API reference material (identifier types, cloud environments, type checking patterns) that would be better split into separate reference files. The table of key concepts at the top is helpful but doesn't compensate for the lack of structural organization.

1 / 3

Total

7

/

12

Passed

Description

89%Scale 1-3

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

This is a solid skill description that clearly identifies its niche (Azure Communication Services common utilities for Java) and provides explicit trigger guidance. The main weakness is that it describes the domain and concepts rather than listing concrete actions the skill performs. Adding specific verbs/actions would strengthen the specificity dimension.

Suggestions

Add concrete actions such as 'Creates and manages CommunicationTokenCredential instances, resolves user identifiers, handles token refresh callbacks' to improve specificity.

DimensionReasoningScore

Specificity

Names the domain (Azure Communication Services) and mentions some specific concepts like CommunicationTokenCredential, user identifiers, and token refresh, but doesn't list concrete actions (e.g., 'create credentials', 'refresh tokens', 'resolve user identifiers').

2 / 3

Completeness

Clearly answers both 'what' (common utilities for Azure Communication Services in Java) and 'when' (explicit 'Use when' clause listing specific triggers like working with CommunicationTokenCredential, user identifiers, token refresh, or shared authentication).

3 / 3

Trigger Term Quality

Includes natural and specific keywords users would use: 'CommunicationTokenCredential', 'user identifiers', 'token refresh', 'shared authentication', 'ACS services', and 'Java'. These are terms a developer would naturally mention when needing this skill.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive with a clear niche: Azure Communication Services + Java + specific concepts like CommunicationTokenCredential and ACS shared authentication. Unlikely to conflict with other skills due to the narrow domain.

3 / 3

Total

11

/

12

Passed

Validation

90%

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

Validation — 10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

10

/

11

Passed

Repository
popey/claude-code-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.