CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

json-render

AI chat response rendering guidance — handling UIMessage parts, tool call displays, streaming states, and structured data presentation. Use when building custom chat UIs, rendering tool results, or troubleshooting AI response display issues.

64

Quality

80%

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

Fix and improve this skill with Tessl

tessl review fix ./plugins/vercel/skills/json-render/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%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.

Highly actionable body with excellent executable code, correct v6-specific guidance framed with explicit old-vs-new comparisons, and good navigational aids (decision tree, cause/fix mistakes). Its weaknesses are redundancy — the client useChat setup appears three times — and a fully monolithic structure with no progressive disclosure into reference files despite its length.

Suggestions

Remove the duplicated useChat/transport/isLoading code: 'Client-Side Requirements' restates what the 'Manual Rendering Pattern' example already shows, and Common Mistake #5 repeats it a third time — consolidate into one authoritative client-setup snippet.

Split the full manual rendering component and the Common Mistakes catalog into one-level-deep reference files (e.g., references/manual-rendering.md, references/troubleshooting.md), keeping SKILL.md as a lean overview with clearly signaled links.

The '⤳ skill: ai-elements' pointer targets a skill that is not present in this bundle — either bundle it or replace the pointer with a concrete inline fallback so the recommended path is always actionable.

DimensionReasoningScore

Conciseness

Mostly efficient and code-dense, but there is real duplication: the useChat/DefaultChatTransport/isLoading setup appears in full in "Manual Rendering Pattern" and again in "Client-Side Requirements", and a third time as the v5-vs-v6 contrast in Common Mistake #5. The Decision Tree also restates the earlier sections. This matches "mostly efficient but includes some unnecessary explanation or could be tightened" rather than the minor-trim level of a 4.

3 / 5

Actionability

Fully executable, copy-paste-ready code throughout: the UIMessage part-type contract, a complete manual rendering component handling text/tool/reasoning parts, a ToolResultCard with known-shape branches, the server route, and the client setup. It also covers common failure cases with concrete wrong/right pairs, matching "fully executable; copy-paste ready code; specific examples cover the common cases".

5 / 5

Workflow Clarity

There is a clear progression (AI Elements → manual pattern → tool cards → server route → client) plus a Decision Tree and cause/fix troubleshooting entries, and "Server-Side Message Validation" provides an explicit checkpoint (validateUIMessages). Not a 5 because the build sequence itself is implicit across sections rather than stated as an ordered, checkpointed workflow with error-recovery loops.

4 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/), so everything — message format spec, full ~80-line manual rendering component, tool-card patterns, server/client code, and five troubleshooting entries — lives inline in one ~315-line SKILL.md. Sections are well-organized and there are no nested references, but content that clearly belongs in separate files (the full manual pattern, the troubleshooting catalog) is inlined, matching the "content that should be separate is inline" anchor at 3.

3 / 5

Total

15

/

20

Passed

Description

83%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 strong description: concrete capability areas, an explicit "Use when..." clause with natural trigger scenarios, and a well-delineated niche around AI SDK chat rendering. It only narrowly misses top marks on specificity and trigger coverage for lack of a few synonyms and enumerated actions.

DimensionReasoningScore

Specificity

The description lists several concrete capability areas — "handling UIMessage parts, tool call displays, streaming states, and structured data presentation" — comparable to "Extracts text from PDF files, fills forms, converts pages to images". Not a 5 because the actions are named as areas ("handling X") rather than fully enumerated actions, leaving minor coverage gaps.

4 / 5

Completeness

Explicitly answers both: what — "AI chat response rendering guidance — handling UIMessage parts, tool call displays, streaming states, and structured data presentation"; when — "Use when building custom chat UIs, rendering tool results, or troubleshooting AI response display issues". Both are concrete with explicit trigger phrases, matching the top anchor; the 'when' clause is present so no cap applies.

5 / 5

Trigger Term Quality

Good natural trigger phrases users would actually say: "building custom chat UIs", "rendering tool results", "troubleshooting AI response display issues". A few common variations are missing (e.g., "chat interface", "chatbot", "message parts", "tool calls"), so it falls just short of the comprehensive-synonym coverage of a 5.

4 / 5

Distinctiveness Conflict Risk

It carves a clear niche (AI SDK chat response rendering) with distinct triggers like "UIMessage parts" and "tool call displays". Minor overlap risk remains with closely related front-end/chat-UI skills (e.g., a generic chat-component or ai-elements skill), so it is "mostly distinct" rather than a fully isolated niche.

4 / 5

Total

17

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository

openai/plugins

Path

plugins/vercel/skills/json-render/SKILL.md

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.