CtrlK
BlogDocsLog inGet started
Tessl Logo

ink

Ink terminal renderer for json-render that turns JSON specs into interactive terminal UIs. Use when working with @json-render/ink, building terminal UIs from JSON, creating terminal component catalogs, or rendering AI-generated specs in the terminal.

65

Quality

78%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/ink/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

77%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 dense, highly actionable API reference with executable examples and an unambiguous getting-started path. Its one structural weakness is that everything lives in SKILL.md — the component catalog and exports table should be split into reference files, which would also improve token efficiency.

Suggestions

Move the full Standard Components catalog and Key Exports table into a references/ file (e.g., COMPONENTS.md and EXPORTS.md), keeping only the most common components and a pointer in SKILL.md.

Split the Providers/external-store and streaming sections into an advanced reference, leaving one-line summaries with explicit links in the body.

Close the Quick Start with the actual render call (e.g., render(<App spec={spec} />)) so the primary example is fully copy-paste runnable.

DimensionReasoningScore

Conciseness

The body is dense, novel API reference material with no padding of concepts Claude already knows, but there are minor trims available — 'Default flexDirection is row' is stated twice, and editorial asides like 'like a terminal <div>' and the negative guidance sentence about statePath could be tightened — fitting the 'efficient; minor instances of over-explanation' anchor rather than the lean anchor above.

4 / 5

Actionability

Concrete, mostly copy-paste-ready code throughout (Quick Start, spec JSON, event bindings, built-in actions, repeat, streaming, providers), but there are minor gaps: the Quick Start's App function is never rendered, and snippets like the server-side example import './catalog', a user-created file whose shape is not shown — 'mostly executable guidance with concrete code and minor gaps'.

4 / 5

Workflow Clarity

This is a single-purpose reference skill, and the single action — turn a JSON spec into a terminal UI — is unambiguous via the Quick Start's clear catalog → registry → render sequence. No destructive or batch operations are involved, so no validation checkpoints are required, and the simple-skill exception applies.

5 / 5

Progressive Disclosure

Section headers are well-organized, but the entire ~275-line body is inlined in SKILL.md with no external reference files at all; the full standard-component catalog, the complete Key Exports table, and the provider documentation are API-reference bulk that clearly belongs in separate one-level-deep files, matching the 'content that should be separate is inline' anchor.

3 / 5

Total

16

/

20

Passed

Description

78%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 with an explicit what-and-when structure and natural trigger phrases anchored to a specific library niche. Its main weaknesses are that the capability list is compressed to a single action and some common user synonyms for the terminal-UI domain are absent.

Suggestions

Enumerate 2-3 more concrete capabilities in the 'what' clause (e.g., 'with data binding, actions, and dynamic props' or 'streams JSONL spec updates') to raise specificity.

Add common synonyms users would say, such as 'TUI', 'CLI', or 'terminal dashboard', to broaden trigger-term coverage without changing scope.

DimensionReasoningScore

Specificity

The description names the domain and one concrete action ("turns JSON specs into interactive terminal UIs") but stops short of listing several specific capabilities (e.g., data binding, actions, streaming, component registration) that the skill actually covers, matching the 'names domain and 1-2 concrete actions' anchor rather than the 'several specific actions' anchor above.

3 / 5

Completeness

It explicitly answers both 'what' ("Ink terminal renderer for json-render that turns JSON specs into interactive terminal UIs") and 'when' ("Use when working with @json-render/ink, building terminal UIs from JSON, creating terminal component catalogs, or rendering AI-generated specs in the terminal") with concrete trigger phrases.

5 / 5

Trigger Term Quality

Natural phrases like "building terminal UIs from JSON", "terminal component catalogs", and "@json-render/ink" give good keyword coverage, but common synonyms a user might say — TUI, CLI, console, dashboard — are missing, fitting the 'good keyword coverage; a few natural terms missing' anchor.

4 / 5

Distinctiveness Conflict Risk

The json-render/Ink niche is distinct with specific triggers, but "building terminal UIs from JSON" could pull in users working with the Ink library directly or generic terminal UI requests, so it is mostly distinct with minor overlap risk rather than minimal conflict risk.

4 / 5

Total

16

/

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.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
vercel-labs/json-render
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.