CtrlK
BlogDocsLog inGet started
Tessl Logo

native-ui

Authoring guide for the Native markup (.native) view tier of native-rendered Native SDK apps. TypeScript cores are the default and use this skill together with ts-core; Zig cores are an explicit alternative and this guide labels their lower-level UiApp recipes. Use when building or modifying native UI (widgets, layout, bindings, messages), writing .native files, wiring views to Model/Msg/update, testing markup views, or verifying a native app through the automation harness.

66

Quality

83%

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

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.

Exceptionally actionable and technically precise — every section carries executable code, exact commands, budgets, and error names, with validation woven through the authoring, testing, and automation flows. The weaknesses are structural: a monolithic ~1289-line single-file body with no bundle/reference files, and editorial prose that inflates an already oversized token footprint.

Suggestions

Split reference-scale material into one-level-deep bundle files (e.g. references/elements.md, references/effects.md, references/automation.md) and keep SKILL.md as an overview with well-signaled pointers — the elements table, effects channel, and test-surface signatures alone would reclaim thousands of tokens.

Trim editorial asides and meta-commentary ('Rules that keep this honest', 'The replay story, honestly', 'the honest behavior', 'the All Notes row pattern') down to the normative rule they accompany.

Present the primary authoring path (init → write markup/core → markup check → native test → automation assert) as one ordered sequence near the top so the workflow is explicit rather than distributed across sections.

DimensionReasoningScore

Conciseness

The body is dense and assumes competence — almost no beginner-concept padding, and nearly every sentence carries SDK-specific contracts — but at ~1289 lines / ~38k tokens it is far past the token budget, with wordy editorial asides ('Rules that keep this honest', 'The replay story, honestly', 'the honest behavior') and multi-clause sentences that could be tightened. Matches 'mostly efficient but could be tightened' more than 'noticeably verbose with unnecessary explanations', since the length reflects genuine reference content rather than padding.

3 / 5

Actionability

Fully executable throughout: complete TypeScript/Zig/HTML examples with exact imports and field shapes, exact CLI commands ('native init', 'native markup check src/view.native', 'native automate assert --absent'), exact budgets and error names, and precise fake-executor signatures. Copy-paste ready and covering the common cases; matches the top anchor.

5 / 5

Workflow Clarity

The authoring path is clearly laid out (scaffold with 'native init', write src/app.native + src/core.ts, check with 'markup check' / model contract, test via TestHarness, verify live through the automation harness) and validation is thorough with feedback loops (teaching errors with did-you-mean, did-you-mean over actual field names, 'native automate assert' naming missing patterns). Not 5 because the sequence is distributed across sections rather than presented as one ordered workflow, and there is no consolidated error-recovery loop for the build/test cycle.

4 / 5

Progressive Disclosure

Section headers are clear and topic-organized, but the skill ships no reference files at all — the ~220-line elements table, the effects-channel reference, the Zig 0.16 idioms table, the automation test surface, and the rich-text/markdown specs are all inlined in SKILL.md when they clearly belong in one-level-deep reference files. Matches 'some structure... content that should be separate is inline'; not 2 because the structure is strong, not minimal.

3 / 5

Total

15

/

20

Passed

Description

92%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 capabilities, an explicit 'Use when' clause with five natural trigger scenarios, and a clearly bounded niche with the companion ts-core relationship spelled out. The only weakness is a few internal-jargon phrases ('view tier', 'UiApp recipes') that a user would not naturally utter when requesting the skill.

Suggestions

Replace internal jargon in the first two sentences ('view tier of native-rendered Native SDK apps', 'lower-level UiApp recipes') with user-facing phrasing so the trigger terms match what a user would actually say.

Shorten the second sentence about core-language routing; the description spends tokens on disambiguation detail that the body already covers.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'building or modifying native UI (widgets, layout, bindings, messages)', 'writing .native files', 'wiring views to Model/Msg/update', 'testing markup views', and 'verifying a native app through the automation harness' — comprehensively covering the authoring domain. Not the level below (4) because coverage of the skill's tasks is complete rather than having minor gaps.

5 / 5

Completeness

It explicitly answers both what ('Authoring guide for the Native markup (.native) view tier...') and when ('Use when building or modifying native UI..., writing .native files, wiring views..., testing markup views, or verifying...') with concrete trigger phrases. Clearly matches the top anchor, not 4, since the 'when' clause is explicit and enumerates five distinct triggers.

5 / 5

Trigger Term Quality

Good natural-term coverage: 'native UI', 'widgets', 'layout', 'bindings', '.native files', and 'automation harness' are phrases a user would say, and the file extension appears. Not 5 because phrases like 'view tier of native-rendered Native SDK apps' and 'lower-level UiApp recipes' are internal jargon a user would not naturally say when invoking the skill.

4 / 5

Distinctiveness Conflict Risk

A clear niche (Native SDK .native markup) with distinct triggers, and it explicitly delineates the companion skill boundary ('use this skill together with ts-core; Zig cores are an explicit alternative'), minimizing overlap risk. Not 4 because no closely related skill shares these triggers.

5 / 5

Total

19

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (1289 lines); consider splitting into references/ and linking

Warning

relative_links

Relative link issues: 1 missing

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

13

/

16

Passed

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