CtrlK
BlogDocsLog inGet started
Tessl Logo

agui-dotnet-streaming-chat

Get started with the AG-UI .NET SDK: bootstrap and run your first streaming-chat app (client + server) with the AG-UI .NET NuGet packages (AGUI.Client, AGUI.Server, AGUI.Formatting, AGUI.Abstractions). USE FOR: which packages to install and how to wire them; constructing an AGUIChatClient against an endpoint and streaming the reply as Microsoft.Extensions.AI IChatClient / ChatResponseUpdate; hosting an AG-UI POST endpoint yourself over any IChatClient; running a single- or multi-turn conversation; STATELESS agents (client owns history, resends it every turn) vs HOSTED / conversation-holding agents (server keeps the session, client pins a thread id). DO NOT USE FOR: changing the AG-UI .NET SDK itself (use the agui-dotnet-* contributor skills); server tools (agui-dotnet-server-tools); client tools (agui-dotnet-client-tools); interrupts / human-in-the-loop; shared state; generative UI; multimodal; or protobuf transport.

77

Quality

96%

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

92%

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

A strong, executable getting-started guide with complete client/server code, clear sequencing, and an explicit definition-of-done with validation. Its only gap is progressive disclosure: everything lives inline in SKILL.md with no bundle references to offload the advanced/hosted material.

Suggestions

Move the Hosted agents section and the advanced RawRepresentationFactory pattern into a references/ file (e.g. references/hosted-agents.md), leaving a one-line pointer so SKILL.md stays a lean overview.

Consider extracting the server endpoint code into a scripts/ or references/ snippet to keep the core flow shorter and reduce inline token weight.

DimensionReasoningScore

Conciseness

Prose is restricted to SDK-specific gotchas Claude would not know (thread-id pinning onto ChatOptions, ConversationId null by design / issue #4869, full-history resend semantics); there is no generic padding about SSE, NuGet, or what a chat client is.

3 / 3

Actionability

Provides copy-paste-ready executable C# for client, server, and multi-turn flows, exact `dotnet add package` / `dotnet package search` commands, and a concrete curl smoke-test — fully executable rather than pseudocode.

3 / 3

Workflow Clarity

A 'Run it (definition of done)' section sequences install → server → client with explicit success criteria (incremental update.Text chunks, expected SSE frames, multi-turn context retained), giving clear validation checkpoints.

3 / 3

Progressive Disclosure

Sections are well-organized and navigable, but the skill is monolithic — no references/scripts/assets exist and content that could be split (Hosted agents, the advanced RawRepresentationFactory pattern) is inline rather than one level deep.

2 / 3

Total

11

/

12

Passed

Description

100%

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 highly specific, well-bounded description that states concrete capabilities, includes explicit use/avoid triggers, and disambiguates itself from sibling SDK skills. Voice is imperative/third-person with no first- or second-person padding.

DimensionReasoningScore

Specificity

Lists multiple concrete actions (constructing an AGUIChatClient, streaming the reply as IChatClient/ChatResponseUpdate, hosting an AG-UI POST endpoint, running single/multi-turn conversations) alongside named NuGet packages, matching the 'multiple specific concrete actions' anchor.

3 / 3

Completeness

Explicit 'USE FOR:' triggers answer when, the opening states what (bootstrap and run a streaming-chat app), and 'DO NOT USE FOR:' adds boundaries — both what and when are explicitly present.

3 / 3

Trigger Term Quality

Covers natural developer terms a user would say ('AG-UI .NET SDK', 'streaming-chat app', 'multi-turn conversation', 'stateless / hosted agents', 'hosting an AG-UI POST endpoint') with good variation, beyond just naming the domain.

3 / 3

Distinctiveness Conflict Risk

A clear niche (AG-UI .NET streaming chat) with distinct triggers and an explicit DO NOT USE FOR list redirecting to sibling skills (agui-dotnet-server-tools, agui-dotnet-client-tools), making misfires unlikely.

3 / 3

Total

12

/

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.