CtrlK
BlogDocsLog inGet started
Tessl Logo

azure-ai-openai-dotnet

Azure OpenAI SDK for .NET. Client library for Azure OpenAI and OpenAI services. Use for chat completions, embeddings, image generation, audio transcription, and assistants.

76

1.43x
Quality

66%

Does it follow best practices?

Impact

92%

1.43x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/azure-ai-openai-dotnet/SKILL.md

The canonical home for this skill is azure-ai-openai-dotnet in sickn33/antigravity-awesome-skills

SKILL.md
Quality
Evals
Security

Quality

Content

64%Scale 1-3

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 SDK reference skill with excellent actionability — nearly every feature is demonstrated with executable C# code. However, it's overly long for a single SKILL.md file (~350 lines), with some content that could be split into sub-files (type reference, advanced examples) and some generic advice that doesn't add value. The function calling workflow is incomplete (missing the tool result feedback loop), which is a notable gap.

Suggestions

Complete the function calling workflow by showing how to send tool results back to the model (ToolChatMessage) and get the final response — this is a critical multi-step process that's currently truncated.

Move the Key Types Reference table and detailed examples (structured outputs, RAG integration, function calling) into separate reference files, keeping SKILL.md as a concise overview with links.

Remove the 'When to Use' section (adds no value) and trim the Best Practices to only non-obvious, Azure-specific guidance (e.g., remove 'reuse client instances' and 'handle rate limits' which are universal knowledge).

DimensionReasoningScore

Conciseness

The content is fairly comprehensive but includes some unnecessary elements like the 'When to Use' section (which is a tautology), the 'Related SDKs' table (largely redundant with installation section), and the Key Types Reference table which lists types Claude would already understand from the code examples. The best practices section contains generic advice Claude already knows.

2 / 3

Actionability

Nearly all guidance is provided as fully executable, copy-paste ready C# code examples covering authentication, chat completions, streaming, structured outputs, embeddings, image generation, audio, function calling, and error handling. The code is concrete with real types and method signatures.

3 / 3

Workflow Clarity

The client hierarchy diagram is helpful, and individual code examples are clear. However, there's no explicit workflow for multi-step processes like the function calling loop (missing the step where you send tool results back to the model), and the error handling lacks a proper retry loop/feedback mechanism despite mentioning exponential backoff.

2 / 3

Progressive Disclosure

The content is a monolithic file with all details inline — the structured outputs JSON schema, full function calling example, and complete type reference table could be split into separate reference files. The Reference Links section at the end provides external navigation, but the skill itself doesn't use any internal file references for progressive disclosure.

2 / 3

Total

9

/

12

Passed

Description

67%Scale 1-3

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, clearly identifying the technology stack (Azure OpenAI SDK for .NET) and listing specific capabilities. Its main weaknesses are the lack of an explicit 'Use when...' clause with user-facing trigger scenarios and missing some common keyword variations (e.g., 'C#', 'GPT', 'Azure.AI.OpenAI'). The distinctiveness is excellent due to the specific platform and SDK focus.

Suggestions

Add an explicit 'Use when...' clause, e.g., 'Use when the user needs to integrate Azure OpenAI or OpenAI services in .NET/C# applications.'

Include additional natural trigger terms users might say, such as 'C#', 'GPT', 'Azure.AI.OpenAI', 'NuGet package', or 'OpenAI API in .NET'.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions: 'chat completions, embeddings, image generation, audio transcription, and assistants.' Also specifies the technology stack (.NET, Azure OpenAI SDK).

3 / 3

Completeness

Clearly answers 'what' (client library for Azure OpenAI/.NET with specific capabilities) and has a partial 'when' via 'Use for chat completions, embeddings...' but lacks an explicit 'Use when...' clause describing user-facing trigger scenarios (e.g., 'Use when the user asks about integrating OpenAI services in .NET applications').

2 / 3

Trigger Term Quality

Includes relevant terms like 'Azure OpenAI', '.NET', 'chat completions', 'embeddings', 'image generation', 'audio transcription', and 'assistants', but misses common user variations like 'GPT', 'OpenAI API', 'C#', 'NuGet', or 'Azure.AI.OpenAI'. Coverage is decent but not comprehensive.

2 / 3

Distinctiveness Conflict Risk

The combination of 'Azure OpenAI SDK' and '.NET' creates a very clear niche. It is unlikely to conflict with generic OpenAI skills, Python-based OpenAI skills, or other Azure services skills.

3 / 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.

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

10

/

11

Passed

Repository
administrakt0r/AI-Agents-Safe-Coding-Skills
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.