CtrlK
BlogDocsLog inGet started
Tessl Logo

agui-dotnet-server-tools

Expose server-side (backend) tools an AG-UI agent can call with the AG-UI .NET SDK — C# functions that run on the server, where the server executes the call and feeds the result back to the model. USE FOR: defining an AIFunction with AIFunctionFactory.Create and registering it on the server's IChatClient via ConfigureOptions + UseFunctionInvocation; making the model call your backend function during a run; AOT-safe tool arguments/results (registering a JsonSerializerContext for complex tool parameter types); parallel/concurrent backend tool calls (AllowConcurrentInvocation); TerminateOnUnknownCalls behavior. DO NOT USE FOR: tools that run in the client/frontend (use agui-dotnet-client-tools); pausing a tool for human approval or input (interrupts / human-in-the-loop); plain streaming chat with no tools (use agui-dotnet-streaming-chat); shared state, generative UI, multimodal, or protobuf.

75

Quality

92%

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

SKILL.md
Quality
Evals
Security

Quality

Content

100%

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

A high-quality, actionable skill body: concise, assumes competence, gives complete executable C# examples, sequences the workflow with explicit verification checkpoints, and stays appropriately self-contained with no nested references.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence — it does not explain what .NET, servers, or JSON serialization are, and its prose (e.g., "A server tool is an ordinary Microsoft.Extensions.AI AIFunction registered on the server's IChatClient") conveys only AG-UI-specific mechanics Claude would not already know, with every section earning its place.

3 / 3

Actionability

It provides complete, copy-paste-ready C# examples for tool creation (AIFunctionFactory.Create), registration (ConfigureOptions + UseFunctionInvocation), AOT-safe serialization (JsonSerializerContext), endpoint hosting (MapPost with streaming), and parallel invocation — fully executable, not pseudocode.

3 / 3

Workflow Clarity

Sections sequence a clear build path (Install → Define/register → AOT-safe args → Host endpoint → Parallel calls → Anti-patterns → Verify), and the Verify section provides explicit validation checkpoints including the AOT 'dotnet publish produces no trim/AOT warnings' feedback check.

3 / 3

Progressive Disclosure

No bundle files exist and none are needed; the single SKILL.md is organized into well-signaled sections with no nested/deep references, and the inline code is the essential actionable core rather than content that should be split out.

3 / 3

Total

12

/

12

Passed

Description

85%

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, highly specific description with excellent completeness and clear disambiguation against sibling skills; its main weakness is reliance on SDK API names as triggers rather than natural user language.

Suggestions

Soften the USE FOR list by leading with natural-language phrases a developer would actually say (e.g., 'call backend C# functions from an AG-UI run', 'make the model invoke server-side tools') before the API names, so trigger matching does not depend on exact symbol names.

Add a couple of common synonyms/variants for the core trigger ('server tools', 'backend tools', '.NET AG-UI tools') to broaden natural-keyword coverage.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — "defining an AIFunction with AIFunctionFactory.Create", "registering it on the server's IChatClient via ConfigureOptions + UseFunctionInvocation", "AOT-safe tool arguments/results (registering a JsonSerializerContext)", "parallel/concurrent backend tool calls (AllowConcurrentInvocation)", "TerminateOnUnknownCalls behavior" — matching the 'multiple specific concrete actions' anchor.

3 / 3

Completeness

It states what the skill does ("Expose server-side (backend) tools an AG-UI agent can call...") and gives explicit when-guidance via "USE FOR:" and "DO NOT USE FOR:" clauses, clearly answering both what and when with explicit triggers.

3 / 3

Trigger Term Quality

It includes some natural-ish terms ("server-side (backend) tools", "parallel tool calls", "AOT-safe") but the USE FOR list is dominated by API names like "AIFunctionFactory.Create", "ConfigureOptions + UseFunctionInvocation", and "JsonSerializerContext" rather than phrases a user would naturally say, so it sits at 'some relevant keywords but missing common variations' rather than full natural coverage.

2 / 3

Distinctiveness Conflict Risk

The DO NOT USE FOR clause explicitly redirects to sibling skills ("use agui-dotnet-client-tools", "use agui-dotnet-streaming-chat") and carves out interrupts/shared-state/GUI/multimodal, giving it a clear niche unlikely to trigger the wrong skill.

3 / 3

Total

11

/

12

Passed

Validation

100%

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

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
ag-ui-protocol/ag-ui
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.