CtrlK
BlogDocsLog inGet started
Tessl Logo

azure-ai-agents-persistent-dotnet

Azure AI Agents Persistent SDK for .NET. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools.

73

2.40x
Quality

68%

Does it follow best practices?

Impact

96%

2.40x

Average score across 3 eval scenarios

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/azure-ai-agents-persistent-dotnet/SKILL.md

The canonical home for this skill is azure-ai-agents-persistent-dotnet in sickn33/agentic-awesome-skills

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 dense, highly actionable reference with a well-sequenced core workflow and mostly executable C# examples. Its weaknesses are inline API-reference tables that belong in split-out files, unpinned-but-version-sensitive details, a few placeholder/undefined symbols in examples, and polling loops that skip explicit failed-status handling.

Suggestions

Move the Available Tools, Streaming Update Types, Key Types Reference, and Related SDKs tables into a references/ file (e.g., references/tools.md), keeping SKILL.md to the core workflow plus one-line pointers.

Make every example self-contained: read `searchConnectionId` from the documented env var, inline a minimal `ExecuteFunction` implementation, and replace the `(...)` placeholder in the error-handling snippet with a real CreateAgentAsync call.

Add explicit terminal-status checks after polling (e.g., throw/log when `run.Status` is Failed or Cancelled) and drop or relocate the hard-coded version numbers, which will go stale.

DimensionReasoningScore

Conciseness

The body is dominated by tight, code-first sections with little concept padding, but it carries time-sensitive version pins ("Stable v1.1.0, Preview v1.2.0-beta.8") outside any deprecation section and ~90 lines of lookup tables (Available Tools, Streaming Update Types, Key Types Reference) that restate SDK surface Claude can query from the linked API reference. Mostly efficient with some content that could be trimmed, matching the 3 anchor; not 2 because there is no tutorial-style over-explanation.

3 / 5

Actionability

Sections 1–9 provide concrete, near copy-paste-ready C# for the core workflows (client setup, thread/run, streaming, function calling, file search, cleanup). Minor gaps keep it below 5: `ExecuteFunction` is an undefined placeholder, `searchConnectionId` is used without ever being read from the listed `AZURE_AI_SEARCH_CONNECTION_ID` variable, and the error-handling example elides arguments with `...`.

4 / 5

Workflow Clarity

A clear numbered sequence (create agent → thread/message → run → stream → tools → cleanup) with a dedicated Cleanup section, error handling, and a function-calling feedback loop (RequiresAction → submit outputs → re-poll). Below 5 because the polling loop exits on any non-Queued/InProgress status without explicitly checking for Failed/Cancelled, and `CreateRunStreamingAsync` lacks a failure-status path.

4 / 5

Progressive Disclosure

There are no bundle files at all — the entire skill is one ~345-line SKILL.md. Section headers are well organized, but API-reference material (tool class tables, streaming update types, key types, related SDKs) that clearly belongs in separate reference files is fully inlined, and the only external pointers are bare URLs in a table. Fits the 3 anchor (content that should be separate is inline) rather than 4, since no content has been split out.

3 / 5

Total

14

/

20

Passed

Description

58%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 specific, third-person description that names the SDK and its concrete capability areas, with good distinctiveness from the sibling high-level SDK. Its main weaknesses are the absence of any explicit "when to use" trigger clause and thin coverage of natural user synonyms for the Azure agent surface.

Suggestions

Append a trigger clause, e.g., "Use when creating or managing persistent AI agents/assistant threads in .NET (C#) against an Azure AI Foundry project endpoint."

Include common user-facing synonyms such as "AI Foundry agents", "C#", and "assistant API" to broaden natural trigger matching.

Mention one or two higher-value capabilities users search for (e.g., streaming responses, function/tool calling) to lift specificity toward comprehensive coverage.

DimensionReasoningScore

Specificity

"creating and managing AI agents with threads, messages, runs, and tools" names the domain plus several concrete capability areas. It lists multiple specific facets but stops short of comprehensive coverage (e.g., streaming, function calling, vector stores are unmentioned), placing it between the 3 and 5 anchors — noticeably above 3.

4 / 5

Completeness

The description has a clear "what" ("Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools") but contains no "Use when..." or equivalent explicit trigger guidance, which caps completeness at 3. Not 4 because the "when" is entirely missing rather than merely imprecise.

3 / 5

Trigger Term Quality

"Azure AI Agents", "Persistent SDK", ".NET", "threads, messages, runs, tools" are terms a user of this stack would say, but common variations and synonyms ("AI Foundry agents", "assistant", "C# agents") are absent. Some relevant keywords with missing natural variations matches the 3 anchor; not 4 because coverage is narrowly SDK-jargon-centric.

3 / 5

Distinctiveness Conflict Risk

"Azure AI Agents Persistent SDK for .NET" plus the "Low-level SDK" qualifier carves a clear niche distinct from the closely related high-level Azure.AI.Projects client. Minor overlap risk with that sibling SDK keeps it below 5, but it is well above the generic-overlap anchors 2–3.

4 / 5

Total

14

/

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