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.

55

Quality

62%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/antigravity-azure-ai-agents-persistent-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 highly actionable, well-sequenced SDK reference whose main weaknesses are token efficiency and structure: version-sensitive details and bulk API-reference tables are inlined in one long SKILL.md, and a generic 'When to Use'/'Limitations' footer adds padding without guidance. Moving the lookup tables to a references file and adding explicit validation around the cleanup/deletion step would raise both conciseness and workflow clarity.

Suggestions

Move the bulk lookup tables ('Available Tools', 'Streaming Update Types', 'Key Types Reference') into a references/ file and link to it from SKILL.md, keeping the body to the core workflow.

Remove or relocate the time-sensitive version pin ('Stable v1.1.0, Preview v1.2.0-beta.8') out of the main body, and replace the generic 'When to Use'/'Limitations' boilerplate with skill-specific guidance or drop it.

Add explicit validation checkpoints before destructive steps — e.g., confirm thread/agent IDs exist and deletion is intended before the Cleanup section's Delete*Async calls — and define the small code gaps ('searchConnectionId' assignment, 'ExecuteFunction').

DimensionReasoningScore

Conciseness

The body is code-heavy and mostly efficient, but includes unnecessary material: time-sensitive version numbers ('Stable v1.1.0, Preview v1.2.0-beta.8') outside any deprecated/old-patterns section, bulk API-reference tables ('Key Types Reference', 'Available Tools', 'Streaming Update Types'), and boilerplate filler ('This skill is applicable to execute the workflow or actions described in the overview'). It is not 4 because these padded sections are more than minor trimming; it is not 2 because it avoids re-explaining known concepts and most tokens are working code.

3 / 5

Actionability

Nine numbered workflows with concrete, executable C# covering creation, polling, streaming, function calling, file search, Bing grounding, AI Search, cleanup, and error handling ('PersistentAgentsClient client = new(projectEndpoint, new DefaultAzureCredential())'). It is not 5 because of small gaps: 'searchConnectionId' is used but never assigned, 'ExecuteFunction(...)' is an unimplemented stand-in, and 'CreateAgentAsync(...)' is elided. It is not 3 because the guidance is real executable code, not pseudocode.

4 / 5

Workflow Clarity

The core workflow is clearly sequenced (1. Create Agent through 9. Cleanup), with a polling loop on run status, a feedback loop for 'RequiresAction' tool submissions, and a dedicated error-handling section showing 'RequestFailedException' catches. It is not 5 because validation checkpoints are implicit rather than explicit (e.g., no check before the destructive Cleanup deletions, error handling shown separately from the workflow); it is not 3 because sequence and status-check feedback loops are clearly present.

4 / 5

Progressive Disclosure

Section headers are clear and well-ordered, but the skill is a single ~350-line file with no bundle files at all, and bulk reference content ('Key Types Reference', 'Available Tools', 'Streaming Update Types' tables) is inlined where a one-level-deep reference file would be appropriate. It is not 4 because API-reference material that belongs in a separate file sits inline; it is not 2 because the structure and navigation within the file are good, not minimal.

3 / 5

Total

14

/

20

Passed

Description

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

The description is specific and distinctive, correctly naming the SDK and its core objects, but it omits any 'Use when...' trigger guidance, which caps completeness and limits natural trigger coverage. Adding an explicit use-when clause with concrete trigger phrases would lift it to the top band.

Suggestions

Add an explicit 'Use when...' clause, e.g. 'Use when building .NET/C# AI agents against Azure AI Foundry or the Azure.AI.Agents.Persistent package' — its absence caps completeness at 3.

List a couple more concrete actions to broaden capability coverage beyond 'creating and managing', e.g. 'stream run output, call functions, and search files via vector stores'.

Include natural trigger synonyms such as 'AI Foundry agent', 'persistent agent', and 'C# agent SDK' so users phrasing the need differently still match.

DimensionReasoningScore

Specificity

Names the domain ('Azure AI Agents Persistent SDK for .NET') with two concrete actions ('creating and managing AI agents') plus the objects involved ('threads, messages, runs, and tools'), but the action coverage is not comprehensive — create/manage are the only verbs. It is not 4 because it lacks several distinct specific actions; it is not 2 because the domain and actions are concrete rather than generic.

3 / 5

Completeness

The 'what' is clear ('Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools') but there is no 'Use when...' clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. It is not 4 because the 'when' is entirely absent rather than merely imprecise; it is not 2 because the 'what' is clear, not vague.

3 / 5

Trigger Term Quality

'Azure AI Agents Persistent SDK for .NET', 'threads', 'messages', 'runs', and 'tools' give good keyword coverage that a user needing this skill would plausibly say. It is not 5 because natural variations like 'AI Foundry agents', 'persistent agent', or 'C# agent' are missing; it is not 3 because the core terms are specific and on-target rather than partial.

4 / 5

Distinctiveness Conflict Risk

Naming the exact SDK ('Azure AI Agents Persistent SDK for .NET') carves out a clear niche that would not trigger for unrelated skills. It is not 5 because there is minor overlap risk with the closely related high-level Azure.AI.Projects SDK and sibling Azure agent skills; it is not 3 because the SDK name plus '.NET' qualifier is far more specific than 'works with document files'-level generality.

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
boisenoise/skills-collections
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.