CtrlK
BlogDocsLog inGet started
Tessl Logo

assistant-ui-tools

Defines model-callable tools and renders their calls in assistant-ui. The authoring model: a "use generative" file whose default export is defineToolkit({...}), compiled by withAui from @assistant-ui/next, aui() from @assistant-ui/vite, or withAui from @assistant-ui/metro, mounted with AuiConfig({ tools: Tools({ toolkit }) }), and exposed to the model with new AISDKToolkit({ toolkit }).tools({ frontend }). Covers the tool kinds (backend, "use client" frontend, humanTool(), providerTool(), externalTool(), stubTool(), defineMcpToolkit()), render and display, ToolCallMessagePartProps, approval gates, MCP servers, MCP Apps, WebMCP, and sub-agent messages. Reach for it when a tool is never called, a tool UI does not render, a frontend result never reaches the model, humanTool() throws at runtime, or an approval gate cannot be answered. For model-composed UI use generative-ui, for MCP servers users add in the browser use react-mcp, and for the styled ToolFallback and ToolGroup use elements.

76

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%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 tightly written, highly actionable skill body: the four-step authoring workflow is fully executable end to end, validation and error-recovery paths are explicit, and detail is appropriately delegated to eight well-annotated reference files. The only blemish is the renderer-props table duplicated from tool-ui.md, which costs a few tokens without harming navigation.

DimensionReasoningScore

Conciseness

The body is dense and efficient: tables replace prose, code is unannotated, and gotchas are symptom-lead bullets with no explanation of concepts Claude already knows. The one trim opportunity is the ToolCallMessagePartProps field table, which largely duplicates the renderer-props table in ./references/tool-ui.md — a minor instance that could be delegated.

4 / 5

Actionability

The four-step authoring model provides copy-paste-ready code for every step (next.config.ts with withAui, a complete defineToolkit entry, AuiConfig/Tools mounting, and the AISDKToolkit route handler) with exact imports and package names, and each gotcha pairs a symptom with a concrete fix. Examples are fully executable and cover the common cases.

5 / 5

Workflow Clarity

The setup is sequenced 1-4 with each step's purpose stated ('The directive does nothing without a compiler'), validation is explicit at build time ('The compiler enforces at build time that every tool declares an execute...'), and the Common Gotchas section is a symptom -> diagnosis -> fix feedback loop (e.g. a runtime humanTool() throw means the file was never compiled, so add the build plugin).

5 / 5

Progressive Disclosure

Eight references, each annotated with exactly what it contains, all real files in ./references/, one level deep; deep material (MCP servers, MCP Apps, WebMCP, multi-agent, legacy APIs) is kept out of the body with the core patterns inline and clear delegation ('the full option, question, and resolution surface is in human-in-loop.md'). A Related Skills section aids cross-navigation.

5 / 5

Total

19

/

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.

An exemplary description: it states concrete capabilities in third person, gives an explicit multi-trigger 'Reach for it when...' clause phrased as the natural failure modes users report, and explicitly disambiguates against sibling skills. Every clause carries real API surface with no padding or over-claiming.

DimensionReasoningScore

Specificity

The description enumerates concrete actions and real API surface ('Defines model-callable tools and renders their calls in assistant-ui', 'defineToolkit({...})', 'compiled by withAui', 'mounted with AuiConfig({ tools: Tools({ toolkit }) })') plus the full kind and feature list (humanTool(), providerTool(), approval gates, MCP Apps, WebMCP, sub-agent messages). Coverage is comprehensive with no vague or generic clauses.

5 / 5

Completeness

Both questions are explicitly answered: the 'what' is a full authoring model plus covered surface, and the 'when' is an explicit 'Reach for it when...' clause enumerating five concrete triggers. This matches the anchor example's what+when pattern exactly.

5 / 5

Trigger Term Quality

'Reach for it when a tool is never called, a tool UI does not render, a frontend result never reaches the model, humanTool() throws at runtime, or an approval gate cannot be answered' matches the natural failure phrases a user in this domain would actually say, complemented by kind vocabulary (backend/frontend/human tool/approval gates/MCP/WebMCP). No meaningful natural trigger phrasing is missing for this niche.

5 / 5

Distinctiveness Conflict Risk

The niche (model-callable tools in assistant-ui) is distinct, and the closing sentence actively routes adjacent needs elsewhere ('For model-composed UI use generative-ui, for MCP servers users add in the browser use react-mcp, and for the styled ToolFallback and ToolGroup use elements'), minimizing wrong-skill triggering.

5 / 5

Total

20

/

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

relative_links

Relative link issues: 6 suspicious

Warning

Total

15

/

16

Passed

Repository
stevenknowswhy/ProfessionalBuyer
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.