Build persistent agents on Azure AI Foundry using the Microsoft Agent Framework Python SDK.
48
52%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/antigravity-awesome-skills-claude/skills/agent-framework-azure-ai-py/SKILL.mdQuality
Discovery
40%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 a clear and distinctive technology niche (Azure AI Foundry + Microsoft Agent Framework Python SDK), which minimizes conflict risk. However, it is a single sentence lacking a 'Use when...' clause and does not enumerate specific capabilities beyond the general 'build persistent agents', making it insufficient for Claude to reliably select this skill from a large pool.
Suggestions
Add an explicit 'Use when...' clause with trigger scenarios, e.g., 'Use when the user asks about building AI agents on Azure, using the Azure AI Foundry platform, or working with the azure-ai-projects Python package.'
List more specific concrete actions the skill covers, such as 'configure agent tools (code interpreter, file search, Bing grounding), manage agent threads and runs, handle streaming responses, deploy agents to Azure.'
Include common user-facing keyword variations like 'Azure agents', 'AI agent framework', 'azure-ai-projects', 'Azure OpenAI agents' to improve trigger term coverage.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Azure AI Foundry, Microsoft Agent Framework Python SDK) and a general action ('Build persistent agents'), but does not list multiple specific concrete actions like configuring tools, managing agent state, deploying endpoints, etc. | 2 / 3 |
Completeness | Describes what the skill does ('Build persistent agents on Azure AI Foundry') but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per rubric guidelines, a missing 'Use when...' clause caps completeness at 2, and since the 'what' is also thin, this scores a 1. | 1 / 3 |
Trigger Term Quality | Includes relevant keywords like 'Azure AI Foundry', 'Microsoft Agent Framework', 'Python SDK', and 'persistent agents', but misses common user variations such as 'Azure agents', 'AI agent', 'foundry agent', 'azure-ai-projects', or related terms users might naturally say. | 2 / 3 |
Distinctiveness Conflict Risk | The combination of 'Azure AI Foundry', 'Microsoft Agent Framework', and 'Python SDK' creates a very specific niche that is unlikely to conflict with other skills. This is a clearly distinct technology stack. | 3 / 3 |
Total | 8 / 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 is a solid, actionable skill with excellent executable code examples covering the full range of Azure AI Agent Framework capabilities. Its main weaknesses are redundancy (the complete example and repeated boilerplate inflate token cost), lack of validation/error-handling guidance in workflows, and inline content that could be better distributed to reference files. The generic 'When to Use' and 'Limitations' sections waste tokens without adding value.
Suggestions
Remove or significantly trim the 'Complete Example' section since it mostly recombines patterns already demonstrated individually, or move it to a reference file.
Add error handling and validation checkpoints: what to check after create_agent(), how to handle credential failures, and what exceptions agent.run() can raise.
Delete the generic 'When to Use' and 'Limitations' boilerplate sections—they add no skill-specific information.
Link to reference files inline where relevant (e.g., link to references/mcp.md from the MCP tool section) rather than only listing them at the bottom.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is mostly efficient with good code examples, but there's significant redundancy—the 'Complete Example' section largely repeats patterns already shown in individual sections (function tools, streaming, threads, structured outputs). The boilerplate `async with` credential/provider pattern is repeated 7+ times. The 'When to Use' and 'Limitations' sections are generic filler that add no value. | 2 / 3 |
Actionability | Every section provides fully executable, copy-paste-ready Python code with correct imports, async patterns, and concrete examples. The installation commands, environment variables, and authentication setup are all specific and actionable. | 3 / 3 |
Workflow Clarity | The architecture diagram and individual code examples show a clear progression from basic to advanced usage. However, there are no validation checkpoints—no guidance on verifying the agent was created successfully, handling authentication failures, checking tool availability, or error recovery patterns for failed agent runs. | 2 / 3 |
Progressive Disclosure | Reference files are listed at the bottom pointing to references/tools.md, references/mcp.md, etc., which is good structure. However, no bundle files were provided to verify these exist, and the main SKILL.md is quite long (~250 lines) with inline content that could be offloaded (e.g., the complete example, the hosted tools reference table). The references are also not well-signaled inline where they'd be most useful. | 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 | |
0839f85
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.