Azure AI Agents Persistent SDK for Java. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools.
66
48%
Does it follow best practices?
Impact
100%
1.63xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/antigravity-azure-ai-agents-persistent-java/SKILL.mdQuality
Discovery
32%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 identifies the technology domain and some SDK concepts but reads more like a subtitle than a skill description. It lacks a 'Use when...' clause, which is critical for Claude to know when to select this skill. The listed terms (threads, messages, runs, tools) are SDK abstractions rather than concrete user-facing actions, reducing both specificity and trigger quality.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when the user needs to build or manage Azure AI agents in Java, work with the Azure AI Agent Service SDK, or implement persistent agent conversations.'
List concrete actions instead of abstract concepts, e.g., 'Creates AI agents, manages conversation threads, sends and retrieves messages, executes agent runs, and integrates tools like code interpreter and file search using the Azure AI Foundry SDK for Java.'
Include natural trigger terms and variations users might say, such as 'Azure AI Foundry', 'Azure OpenAI agents', 'agent service', 'Java SDK', 'persistent agent', or 'assistant API'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Azure AI Agents SDK for Java) and lists some concepts (threads, messages, runs, tools), but these are more like SDK abstractions than concrete user-facing actions. It doesn't describe specific actions like 'create agents', 'manage conversation threads', or 'execute tool calls'. | 2 / 3 |
Completeness | Describes what the skill covers (low-level SDK for creating/managing AI agents with specific components) but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per rubric guidelines, missing 'Use when' caps completeness at 2, and the 'what' is also only moderately clear, so this scores a 1. | 1 / 3 |
Trigger Term Quality | Includes relevant keywords like 'Azure', 'AI Agents', 'SDK', 'Java', 'threads', 'messages', 'runs', and 'tools', which are terms a developer might use. However, it misses common variations and natural phrases like 'assistant API', 'agent orchestration', 'Azure OpenAI agents', or 'persistent conversations'. | 2 / 3 |
Distinctiveness Conflict Risk | The combination of 'Azure AI Agents', 'Persistent SDK', and 'Java' creates some distinctiveness, but 'AI agents', 'threads', 'messages', and 'tools' are generic enough to potentially overlap with other agent-related or messaging skills. The 'low-level SDK' qualifier helps somewhat but could still conflict with other Azure or agent SDK skills. | 2 / 3 |
Total | 7 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill provides a solid, actionable walkthrough of the Azure AI Agents Persistent SDK with executable Java code at every step. Its main weaknesses are the lack of error recovery/validation within the core workflow (the polling loop ignores failure states despite acknowledging them in best practices) and some unnecessary explanatory content that Claude doesn't need. The structure is decent but could benefit from splitting advanced topics into referenced files.
Suggestions
Integrate error status handling directly into the polling loop in step 4 (e.g., check for RunStatus.FAILED, RunStatus.REQUIRES_ACTION) rather than just mentioning it in best practices
Remove the 'Key Concepts' paragraph and 'When to Use' section — they add no actionable information
Add a feedback loop to the workflow: if the run fails, show how to retrieve the error details and retry or recover
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Mostly efficient with executable code examples, but includes some unnecessary content like the 'Key Concepts' section explaining what the SDK does (Claude can infer this), the 'Client Hierarchy' table adding little value, and the generic 'When to Use' sentence at the end. The best practices section contains some obvious advice. | 2 / 3 |
Actionability | Provides fully executable, copy-paste ready Java code for every step of the workflow including installation, authentication, agent creation, thread management, polling, response retrieval, cleanup, and error handling. All code uses real API classes and methods. | 3 / 3 |
Workflow Clarity | The 6-step core workflow is clearly sequenced and numbered, but lacks explicit validation checkpoints. The polling loop doesn't handle error states (RequiresAction, Failed, Cancelled) despite best practices mentioning them. There's no feedback loop for error recovery — just a basic try/catch example separate from the workflow. | 2 / 3 |
Progressive Disclosure | Content is reasonably structured with clear sections and a logical flow from setup to workflow to cleanup. However, it's somewhat monolithic — the tools integration details, async client usage, and advanced scenarios could be referenced as separate files. The reference links table provides some external navigation but no internal file references for deeper topics. | 2 / 3 |
Total | 9 / 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 | |
f1697b6
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.