CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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.

Quality

76%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
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
SKILL.md
Quality
Evals
Security

Quality

Content

63%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-organized, code-dense API reference that is highly actionable across all major Azure OpenAI .NET feature areas, with genuine error-handling and safety guidance. Its weaknesses are filler sections and unpinned version notes hurting token efficiency, fragment-style examples needing variable assembly, and a monolithic single-file structure with no progressive disclosure into reference files.

Suggestions

Split bulky reference material into one-level-deep bundle files (e.g., references/key-types.md, references/rag-integration.md, references/audio-images.md) and keep SKILL.md as a concise overview with clearly signaled links, rather than inlining all ~450 lines.

Delete the filler 'When to Use' section and the redundant opening line duplicating the frontmatter description, and move version-sensitive notes (the '2.1.0 baseline' and preview-API caveats) into an explicit 'Old patterns / versions' section.

Make the core chat example fully self-contained (define endpoint, apiKey, and messages inline) and add a bounded retry loop for 429s in the error-handling example so the flagship snippets are copy-paste ready.

DimensionReasoningScore

Conciseness

The bulk of the body is lean code examples with minimal prose, but there is padding: the opening line repeats the frontmatter description, the 'When to Use' section ('This skill is applicable to execute the workflow or actions described in the overview') is pure filler, and version-sensitive details ('Historical example baseline: 2.1.0') sit outside a deprecated/old-patterns section despite the rubric penalizing that. Mostly efficient with some unnecessary explanation that could be tightened, matching anchor 3 rather than the minor-trim-only anchor 4.

3 / 5

Actionability

Concrete, near-executable C# examples cover the common cases (client construction, chat, streaming, options, structured outputs, embeddings, images, audio, tool calls, error handling) with real API types and values. It is not 5 because many fragments reference undefined variables (endpoint, messages, searchEndpoint, searchKey) — the skill itself concedes 'Examples are separate fragments, not a compiled application' — so they are not copy-paste ready without assembly.

4 / 5

Workflow Clarity

Content is coherently sequenced (install → env vars → client hierarchy → auth → feature APIs → error handling → best practices) and includes validation guidance: status-code-specific catch blocks, finish-reason/tool-call checks, and cautions to check refusal, finish reason, and content count before indexing. It is not 5 because there is no explicit validate-fix-retry feedback loop (the 429 handler sleeps once, which the cautions acknowledge is not a retry loop) and multi-step flows like RAG setup have no checkpoints.

4 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/ directories), so everything lives in a ~450-line SKILL.md. Section headers give it decent structure, but large blocks that clearly belong in separate reference files (Key Types table, Azure AI Search/RAG integration, audio and image generation details) are inlined, matching the anchor 'some structure but content that should be separate is inline' rather than the appropriately-split anchor 4.

3 / 5

Total

14

/

20

Passed

Description

80%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, specific description that clearly names the domain and enumerates concrete capabilities with an explicit 'Use for...' trigger clause. Its main gaps are a few natural synonyms (C#, GPT-4, DALL-E, Whisper) and a 'when' clause framed as capabilities rather than user trigger situations, plus slight overlap risk from covering non-Azure OpenAI services.

DimensionReasoningScore

Specificity

The description lists multiple concrete capabilities — 'chat completions, embeddings, image generation, audio transcription, and assistants' — comprehensively covering the SDK's feature surface, matching the anchor for multiple specific concrete actions with comprehensive coverage. It is not score 4 because no meaningful capability area of the library is omitted.

5 / 5

Completeness

It answers 'what' clearly ('Client library for Azure OpenAI and OpenAI services') and includes an explicit 'Use for...' clause listing concrete capabilities, so it exceeds the cap-3 case of a missing trigger clause. It falls short of 5 because the 'when' is expressed as capabilities rather than concrete user situations or trigger phrases (e.g., 'Use when writing .NET/C# code that calls Azure OpenAI or OpenAI APIs').

4 / 5

Trigger Term Quality

Good natural keyword coverage ('Azure OpenAI', 'SDK', '.NET', 'chat completions', 'embeddings', 'image generation', 'audio transcription', 'assistants'), but a few common user phrasings are missing such as 'C#', 'dotnet', 'GPT-4', 'DALL-E', or 'Whisper'. This fits the 'good keyword coverage; a few natural terms missing' anchor rather than the comprehensive-synonyms anchor at 5.

4 / 5

Distinctiveness Conflict Risk

The '.NET' and 'Azure OpenAI SDK' framing gives it a clear, mostly distinct niche, but the phrase 'and OpenAI services' creates minor overlap risk with a generic OpenAI SDK skill. This matches 'mostly distinct; minor overlap risk with closely related skills' rather than the fully distinct 5 anchor.

4 / 5

Total

17

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository

sickn33/agentic-awesome-skills

Path

skills/azure-ai-openai-dotnet/SKILL.md

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.