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.

59

Quality

69%

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.

The body is a strong, accurate SDK reference: dense executable code organized per feature with a best-practices and error-handling section. Its weaknesses are token efficiency (version pin plus boilerplate When to Use/Limitations sections) and the absence of any progressive disclosure — the entire API reference loads into context with no referenced files for advanced scenarios.

Suggestions

Remove or relocate the pinned version ("Current Version: 2.1.0") to a versions/deprecations note, and drop the vague "When to Use" and boilerplate "Limitations" sections.

Split advanced scenarios (Azure AI Search RAG, structured outputs, reasoning models, Key Types table) into references/ files, keeping a concise quick-start and chat/embedding basics inline in SKILL.md.

Make code snippets self-contained (define or comment required variables like azureClient, messages, searchEndpoint) so each is copy-paste runnable.

DimensionReasoningScore

Conciseness

Prose is minimal and code-dense, but the pinned "Current Version: 2.1.0 (stable)" is time-sensitive info outside any deprecated/versions section, and the generic "When to Use" ("This skill is applicable to execute the workflow or actions described in the overview") and boilerplate "Limitations" sections are padding that could be trimmed.

3 / 5

Actionability

Real, executable 2.x API code (GetChatClient, CompleteChat, CreateJsonSchemaFormat, tools, streaming, error handling) covers the common cases; minor gaps remain because several snippets depend on undefined variables (messages, endpoint, azureClient, searchEndpoint/searchKey) and are not fully copy-paste standalone.

4 / 5

Workflow Clarity

A task-organized reference with a sensible install → env → auth → usage → error-handling sequence and a concrete 429 retry feedback loop; no explicit validation checkpoints or checklists for fragile flows (e.g. tool-call argument validation is advised but not demonstrated), keeping it below 5.

4 / 5

Progressive Disclosure

No bundle files exist; all content is inline in a single ~455-line SKILL.md. Sections are well-headed and navigable, but content that belongs in separate reference files (RAG integration, structured outputs, reasoning models, Key Types table) is inlined, so it matches "some structure but content that should be separate is inline".

3 / 5

Total

14

/

20

Passed

Description

75%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 solid description: it names the domain, states concrete capability areas, and includes an explicit "Use for..." trigger clause. It falls short of top marks only on missing natural synonyms (C#, DALL-E, Whisper, GPT-4) and a when-clause that lists task types rather than concrete user-context triggers.

Suggestions

Add natural trigger synonyms users actually say, e.g. "C#", "dotnet", "DALL-E image generation", "Whisper transcription", "GPT-4o".

Make the when-clause context-explicit, e.g. "Use when writing C#/.NET code that calls Azure OpenAI or OpenAI models".

DimensionReasoningScore

Specificity

Lists several specific capabilities ("chat completions, embeddings, image generation, audio transcription, and assistants") in third person, but capabilities are stated as nouns rather than concrete actions and the lead sentence is a domain statement, leaving minor coverage gaps.

4 / 5

Completeness

Both what ("Client library for Azure OpenAI and OpenAI services") and when ("Use for chat completions, embeddings...") are explicitly present; the when-clause lists task types but could be more explicit about user-context triggers such as "Use when working with Azure OpenAI in a C#/.NET project".

4 / 5

Trigger Term Quality

Good natural-keyword coverage ("Azure OpenAI", ".NET", "chat completions", "embeddings"), but common user synonyms like "C#", "dotnet", "DALL-E", "Whisper", and "GPT-4" are missing.

4 / 5

Distinctiveness Conflict Risk

Clear niche (Azure OpenAI on .NET) with distinct triggers; minor overlap risk with a generic OpenAI SDK skill, slightly raised by also claiming "OpenAI services" coverage.

4 / 5

Total

16

/

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