Azure OpenAI SDK for .NET. Client library for Azure OpenAI and OpenAI services. Use for chat completions, embeddings, image generation, audio transcription, and assistants.
57
66%
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/antigravity-azure-ai-openai-dotnet/SKILL.mdQuality
Discovery
67%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 is reasonably strong with good specificity of capabilities and a clear niche. Its main weaknesses are the lack of an explicit 'Use when...' clause with user-facing trigger scenarios and missing some natural keywords users might use (like 'C#', 'GPT', or 'NuGet'). The 'Use for...' phrasing partially addresses when to use it but doesn't fully meet the completeness standard.
Suggestions
Add an explicit 'Use when...' clause describing user scenarios, e.g., 'Use when the user needs to integrate Azure OpenAI or OpenAI APIs into a .NET/C# application.'
Include additional natural trigger terms users might say, such as 'C#', '.NET', 'GPT', 'NuGet package', 'OpenAI API client', or 'Azure AI'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: chat completions, embeddings, image generation, audio transcription, and assistants. These are distinct, well-defined capabilities. | 3 / 3 |
Completeness | Clearly answers 'what' (client library for Azure OpenAI/OpenAI services with specific capabilities) and has a partial 'when' via 'Use for...', but lacks an explicit 'Use when...' clause describing user-facing trigger scenarios (e.g., 'Use when the user needs to integrate Azure OpenAI into a .NET application'). | 2 / 3 |
Trigger Term Quality | Includes relevant terms like 'Azure OpenAI', 'chat completions', 'embeddings', 'image generation', 'audio transcription', and 'assistants', but misses common user variations like 'GPT', '.NET', 'C#', 'NuGet', 'OpenAI API', or 'text-to-speech'. Also missing file extensions or SDK-specific terms users might search for. | 2 / 3 |
Distinctiveness Conflict Risk | The combination of 'Azure OpenAI SDK for .NET' creates a very clear niche. It's unlikely to conflict with other skills since it targets a specific platform (Azure), specific API (OpenAI), and specific language ecosystem (.NET). | 3 / 3 |
Total | 10 / 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 comprehensive, highly actionable SDK reference with excellent executable code examples covering all major Azure OpenAI features. Its main weaknesses are its monolithic structure (everything in one large file without progressive disclosure) and missing workflow completeness — particularly the function calling example which omits the critical step of returning tool results to the model. Some content like the Key Types table and boilerplate sections add bulk without proportional value.
Suggestions
Complete the function calling workflow by showing how to send tool call results back to the model (add AssistantChatMessage with tool calls, then ToolChatMessage with results, then re-call CompleteChatAsync) — this is a critical multi-step process that's currently incomplete.
Split advanced topics (RAG integration, function calling, structured outputs, audio) into separate referenced files to improve progressive disclosure and reduce the main file to a quick-start overview with navigation.
Remove the boilerplate 'When to Use' and 'Limitations' sections and trim the Key Types Reference table, as most of these types are already demonstrated in the code examples above.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is mostly efficient with executable code examples, but includes some unnecessary content like the 'When to Use' and 'Limitations' boilerplate sections, the 'Related SDKs' table (Claude knows these), and the Key Types Reference table which largely restates what's already demonstrated in the code examples. The best practices section contains some obvious advice Claude already knows. | 2 / 3 |
Actionability | Every major feature area includes fully executable, copy-paste ready C# code examples with proper using statements, concrete method calls, and realistic parameters. The examples cover authentication, chat completions, streaming, structured outputs, embeddings, image generation, audio, function calling, and error handling — all with complete, runnable code. | 3 / 3 |
Workflow Clarity | The client hierarchy diagram clearly shows the relationship between clients, and the function calling example shows the tool call flow. However, there are no explicit validation checkpoints or feedback loops — for example, the function calling workflow doesn't show how to send tool results back to the model to complete the conversation, which is a critical multi-step process. Error handling is shown but not integrated into workflows. | 2 / 3 |
Progressive Disclosure | The content is a monolithic file with all details inline — the Key Types Reference, all code examples for every feature, and the best practices are all in one large document (~400 lines). For a skill this comprehensive, advanced topics like RAG integration, function calling, and structured outputs could be split into referenced files. The Reference Links table at the end provides some external navigation but no internal bundle structure. | 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 | |
8ac11ab
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.