CtrlK
BlogDocsLog inGet started
Tessl Logo

agui-dotnet-multimodal

Send images and other binary/file content to an AG-UI agent with the AG-UI .NET SDK — attach pictures (or audio, PDFs, etc.) to a user message so a multimodal model can see them. USE FOR: building a user ChatMessage with mixed content parts (TextContent plus DataContent for inline bytes, or UriContent for a hosted URL); choosing inline bytes vs a URL reference; setting the correct media type; sending the message through AGUIChatClient so the content parts cross the AG-UI wire to a vision/multimodal model. DO NOT USE FOR: plain text chat (use agui-dotnet-streaming-chat); tool calls (use agui-dotnet-server-tools / agui-dotnet-client-tools); structured shared state (use agui-dotnet-shared-state); reasoning traces, interrupts, generative UI, or protobuf.

75

Quality

93%

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

86%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 tight, actionable skill body with two executable code paths and an explicit verification section. The only weakness is minor redundancy between the inline-vs-URL guidance sentences and the absence of an explicit failure-recovery loop in the Verify step.

Suggestions

Remove the redundant 'Prefer UriContent... use DataContent for local bytes...' sentence since the choice guidance is already conveyed in the preceding paragraph, or merge the two into a single concise rule.

Add one line to the Verify section describing what to do when a checkpoint fails (e.g., confirm the model deployment is vision-capable and the media type matches the bytes), turning the checklist into a feedback loop.

DimensionReasoningScore

Conciseness

Largely lean and competence-assuming, but the closing 'Prefer UriContent... use DataContent for local bytes the model host can't reach by URL' restates guidance already in the preceding sentence, and the media-type line is mildly explanatory — minor padding that keeps it just below a 5.

4 / 5

Actionability

Two complete, copy-paste-ready C# examples (inline DataContent and hosted UriContent) with the install command and correct SDK types/media types fully cover the two common cases.

5 / 5

Workflow Clarity

Clear single-purpose sequence (install → attach bytes or reference URL → verify) with an explicit Verify section containing two checkpoints, but it lacks an error-recovery feedback loop for what to do when verification fails, keeping it just under a 5.

4 / 5

Progressive Disclosure

Well-organized into clean sections (Install, inline bytes, hosted URL, Anti-patterns, Verify) with no nested references and no external bundle files needed, so the single-file structure is appropriately disclosed.

5 / 5

Total

18

/

20

Passed

Description

100%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 high-quality description that names concrete SDK-level actions, includes natural trigger terms with synonyms, and explicitly bounds when to use (and not use) the skill relative to siblings. Third-person/imperative voice is maintained throughout with no over-claims.

DimensionReasoningScore

Specificity

Lists multiple concrete actions with named SDK types — building a ChatMessage with mixed content parts (TextContent plus DataContent or UriContent), choosing inline bytes vs URL reference, setting the media type, and sending through AGUIChatClient — giving comprehensive coverage.

5 / 5

Completeness

Explicitly answers both 'what' (attach binary content to a user message so a multimodal model can see it) and 'when' via concrete 'USE FOR' and 'DO NOT USE FOR' trigger clauses, satisfying the explicit-trigger requirement.

5 / 5

Trigger Term Quality

Includes natural user-facing terms with synonyms (images/pictures, audio, PDFs, multimodal model, vision) alongside the technical API names, covering the common variations a user would actually say.

5 / 5

Distinctiveness Conflict Risk

The 'DO NOT USE FOR' clause routes away from sibling skills (streaming-chat, server/client-tools, shared-state) and excludes reasoning/interrupts/generative-UI/protobuf, carving a clear niche with minimal conflict risk.

5 / 5

Total

20

/

20

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.