⚠️ 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.
48
51%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/azure-communication-callingserver-java/SKILL.mdQuality
Discovery
22%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 description functions as a deprecation notice rather than a skill description. It fails to communicate what the skill actually does, provides no explicit trigger guidance, and lacks concrete actions. While it does include some specific SDK names that aid distinctiveness, it is fundamentally inadequate as a skill description for selection purposes.
Suggestions
Add concrete actions describing what this skill does, e.g., 'Manages call routing, recording, and DTMF handling using the legacy Azure Communication Calling Server SDK.'
Add an explicit 'Use when...' clause, e.g., 'Use when maintaining legacy code that references azure-communication-callingserver or the older Calling Server SDK, not for new projects.'
Include natural trigger terms users might say, such as 'calling server', 'call management', 'azure calls', 'legacy call SDK', to improve matching accuracy.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description does not describe any concrete actions or capabilities. It only states the skill is deprecated and renamed, without explaining what it actually does. | 1 / 3 |
Completeness | The 'what' is essentially missing — there is no description of what the skill does. The 'when' is weakly implied ('maintaining legacy code only') but lacks explicit trigger guidance or a 'Use when...' clause. | 1 / 3 |
Trigger Term Quality | It includes some relevant keywords like 'Call Automation', 'azure-communication-callautomation', and 'legacy code', which could help match user queries about this specific SDK. However, it lacks natural terms describing what the skill actually handles. | 2 / 3 |
Distinctiveness Conflict Risk | The mention of 'azure-communication-callautomation' and the specific SDK name provides some distinctiveness, but the lack of concrete capability description means it could still be confused with the replacement skill or other Azure communication skills. | 2 / 3 |
Total | 6 / 12 Passed |
Implementation
79%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a well-structured deprecation/migration skill that efficiently communicates the key changes between the old CallingServer SDK and the new Call Automation SDK. Its strengths are conciseness and actionability with concrete code examples and mapping tables. The main weakness is the lack of an explicit migration workflow with validation steps, and references to the replacement skill could be more precisely linked.
Suggestions
Add an explicit numbered migration workflow (e.g., 1. Update pom.xml dependency → 2. Find/replace imports → 3. Rename classes per table → 4. Compile and verify no callingserver references remain) with a validation checkpoint.
Provide a direct file path or link to the replacement skill (e.g., `See [callautomation skill](../azure-communication-callautomation-java/SKILL.md)`) instead of just naming it.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is lean and focused on what matters: migration mappings, old-vs-new code, and class name changes. It doesn't explain what Azure Communication Services is or how SDKs work in general. Every section earns its place for someone maintaining legacy code. | 3 / 3 |
Actionability | Provides fully executable Maven dependency snippets, concrete Java code for both old and new client creation, a clear class name mapping table, and specific recording API calls. Copy-paste ready for migration tasks. | 3 / 3 |
Workflow Clarity | The migration path is implied through side-by-side old/new comparisons rather than explicitly sequenced as a workflow. For a migration skill, a step-by-step process (update dependency → rename imports → update class names → test) with validation checkpoints would be more helpful. The sequence is inferable but not explicit. | 2 / 3 |
Progressive Disclosure | References the `azure-communication-callautomation-java` skill for new development, which is good progressive disclosure. However, there are no bundle files, and the 'NEW WAY' recording section just says 'see azure-communication-callautomation skill' without a direct link. The content is reasonably organized but the references could be more clearly signaled with actual file paths. | 2 / 3 |
Total | 10 / 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
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
9e5d4dd
Table of Contents
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.