CtrlK
BlogDocsLog inGet started
Tessl Logo

agui-dotnet-shared-state

Share structured, evolving state between an AG-UI agent and its client with the AG-UI .NET SDK — the client seeds state on the request, the server reads it, mutates it, and streams the updated state back as snapshots or deltas alongside the chat. USE FOR: sending initial/working state from the client via ChatOptions.RawRepresentationFactory -> RunAgentInput.State; reading inbound state on the server with ChatOptions.TryGetRunAgentInput and RunAgentInput.State; emitting a full state object as a StateSnapshotEvent (or incremental JSON-Patch changes as a StateDeltaEvent) from a DelegatingChatClient via ChatResponseUpdate.RawRepresentation; reading state back on the client from update.RawRepresentation as StateSnapshotEvent. DO NOT USE FOR: passing one-off tool arguments (use agui-dotnet-server-tools); rendering UI components from tool calls (use agui-dotnet-generative-ui); plain chat (use agui-dotnet-streaming-chat); approvals/interrupts, 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 tight, highly actionable skill body with executable client and server code, a clear workflow, and a verification checklist. It is self-contained and well-structured with no padding.

DimensionReasoningScore

Conciseness

The body is lean: a one-line goal, a compact wire-format note, then executable code and short focused sections (snapshots vs deltas, AOT, anti-patterns, verify) — every section earns its place and it does not explain concepts Claude already knows.

3 / 3

Actionability

Provides complete, copy-paste-ready C# for both client (RawRepresentationFactory + streaming snapshot read) and server (DelegatingChatClient emitting StateSnapshotEvent), with specific types and registration code rather than pseudocode.

3 / 3

Workflow Clarity

The flow is clearly sequenced (client seeds → server reads and emits → snapshots vs deltas) and closes with an explicit 'Verify' checklist plus anti-pattern error-recovery guidance (e.g. start with a full snapshot before deltas).

3 / 3

Progressive Disclosure

No bundle files exist and none are needed; the self-contained body is well-organized into clearly navigable sections (Client, Server, Snapshots vs deltas, AOT-safe types, Anti-patterns, Verify), which satisfies the simple-skill allowance for a 3 with well-organized sections.

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 explicit positive and negative triggers and good sibling-skill disambiguation. Its only weakness is that the USE FOR triggers lean on API paths rather than natural-language phrasing a user would say.

Suggestions

Rewrite the USE FOR bullets to lead with natural scenario phrasing (e.g. 'Use when the client needs to send initial or working state to the agent and receive the updated state back') and keep API paths as secondary detail.

Add common variation keywords users might say, such as 'shared state', 'state sync', 'state snapshots', or 'state deltas', alongside the existing technical terms.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'the client seeds state on the request, the server reads it, mutates it, and streams the updated state back as snapshots or deltas' — matching the score-3 anchor for several specific concrete actions rather than a vague domain label.

3 / 3

Completeness

Explicitly answers both 'what' (share structured evolving state between agent and client) and 'when' via explicit 'USE FOR:' and 'DO NOT USE FOR:' trigger clauses, matching the score-3 anchor for clear what-and-when with explicit triggers.

3 / 3

Trigger Term Quality

The opening 'Share structured, evolving state between an AG-UI agent and its client' and the USE FOR / DO NOT USE FOR scenarios give relevant keywords, but the USE FOR bullets are dominated by API-path jargon (e.g. 'ChatOptions.RawRepresentationFactory -> RunAgentInput.State') rather than natural terms a user would say, so it is not the full natural-coverage of a 3.

2 / 3

Distinctiveness Conflict Risk

The 'DO NOT USE FOR' clause names specific sibling skills (agui-dotnet-server-tools, agui-dotnet-generative-ui, agui-dotnet-streaming-chat) carving out 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.