CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

azure-communication-callingserver-java

⚠️ DEPRECATED: This SDK has been renamed to Call Automation. For new projects, use azure-communication-callautomation instead. This skill is for maintaining legacy code only.

Quality

67%

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

Quality

Content

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

The body is a well-organized, actionable deprecation tombstone: versioned dependency coordinates, a rename table, and executable old/new client code, plus honest limitations. Its main weaknesses are redundant deprecation repetition and the absence of a sequenced migration workflow with explicit verification checkpoints.

Suggestions

Convert the migration material into a numbered sequence (swap dependency → rename classes per the table → verify recording callback URIs against Call Automation) with an explicit verification step before declaring a migration complete, since call/recording operations are sensitive.

Deduplicate the deprecation messaging: keep the blockquote notice and fold "For New Development" and "When to Use" into a single section to cut repeated tokens.

Move the legacy API fragments and class-rename table into a reference file (e.g., references/legacy-api.md) and keep SKILL.md as the migration overview.

DimensionReasoningScore

Conciseness

The body is mostly lean — versioned Maven coordinates, a class-rename table, and tight code snippets with no concepts Claude already knows — but the deprecation warning is repeated three times ("⚠️ DEPRECATED" blockquote, "Do not use this SDK for new projects.", and the "When to Use" section), which is trimmable padding. Anchor 4 ("Efficient; minor instances of over-explanation that could be trimmed") fits; not 5 because of the redundant warnings, not 3 because no section is genuinely unnecessary.

4 / 5

Actionability

Concrete, copy-paste-ready guidance dominates: exact dependency coordinates with versions ("azure-communication-callautomation" 1.6.0), a class mapping table, and complete client-creation code for both old and new SDKs. Anchor 4 rather than 5 because the legacy recording snippet omits imports and where serverCallId comes from; not 3 because everything shown is real executable Java, not pseudocode.

4 / 5

Workflow Clarity

Migration guidance is presented as parallel OLD/NEW comparisons rather than a sequenced procedure (e.g., 1. swap dependency 2. rename classes 3. verify), and there are no validation checkpoints — "Pin reviewed package versions and verify the exact replacement API" is advisory prose in Limitations, not a step. Because the skill touches call control/recording (sensitive operations), the missing validation loop caps this at 3; it is above anchor 2 because the material is coherent and clearly sectioned.

3 / 5

Progressive Disclosure

No bundle files exist, and the ~90-line body is organized into clean, scannable sections (Migration, Class Name Changes, Legacy Client Creation, Legacy Recording, For New Development, Limitations) with the one external pointer clearly signaled ("see azure-communication-callautomation skill"). Anchor 4 fits — good structure with minor gaps, such as the legacy API fragments and class table that could live in a reference file; not 5 because the body exceeds the under-50-line simple-skill threshold and inlines some reference-grade material.

4 / 5

Total

15

/

20

Passed

Description

52%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 communicates the deprecation and the niche clearly with good conflict avoidance, but it omits the SDK's own name, any concrete capability (e.g., migration guidance), and an explicit 'Use when' trigger clause. It works as a tombstone but under-informs the router and the reader.

Suggestions

Add concrete actions to the description, e.g., "Guides migration from the deprecated Azure Communication CallingServer (Java) SDK to Call Automation: dependency swaps, client/class renames, and legacy recording API usage."

Include an explicit trigger clause and the SDK's own name, e.g., "Use when maintaining or migrating code that uses azure-communication-callingserver, or when the user mentions CallingServer, the deprecated calling SDK, or migrating to Call Automation."

Add missing natural keywords such as "CallingServer", "Java", and "migrate/migration" so users of the legacy SDK can find this skill by the terms they actually say.

DimensionReasoningScore

Specificity

The description states only that "This SDK has been renamed to Call Automation" and "This skill is for maintaining legacy code only" — it never names the SDK itself and lists no concrete actions the skill performs. This matches anchor 2 ("Names the domain but actions are minimal or generic") rather than 3, which requires 1-2 concrete skill actions; it is above anchor 1 because a purpose and replacement guidance are explicitly stated.

2 / 5

Completeness

"This skill is for maintaining legacy code only" conveys a purpose (weak 'what'), and there is no explicit 'Use when...' trigger clause — the rubric guideline caps completeness at 3 in that case. It is above anchor 2 because both a what-ish purpose and a when-ish audience ('legacy code only') are stated, but below anchor 4, which requires an explicit, concrete 'when'.

3 / 5

Trigger Term Quality

Relevant terms present: "DEPRECATED", "Call Automation", "azure-communication-callautomation", "legacy code" — but "CallingServer" (the exact term a maintainer of the retired SDK would say), "Java", and "migrate" are absent. Some relevant keywords with missing common variations fits anchor 3, not 4; not 2 because several genuinely natural terms are present.

3 / 5

Distinctiveness Conflict Risk

The description carves a clear niche ("for maintaining legacy code only") and actively redirects new work to "azure-communication-callautomation", making wrong-skill triggering very unlikely. This squarely matches anchor 5 (clear niche with distinct triggers, minimal conflict risk).

5 / 5

Total

13

/

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

Path

skills/azure-communication-callingserver-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.