CtrlK
BlogDocsLog inGet started
Tessl Logo

ts-core

Authoring guide for TypeScript app cores - Model, Msg, update, and the pure functions they call, written in the closed app-core subset and compiled ahead-of-time to arena-backed Zig by the @native-sdk/core transpiler. Use when writing or modifying a src/core.ts app core, fixing subset checker errors (NS1001-NS1060), or deciding how to express state, messages, text (bytes and the byte-text string methods), text input, continuous controls (sliders, scroll), effects (Cmd), subscriptions (Sub), the host-event wiring channels (frameMsg, keyMsg, appearanceMsg, chromeMsg, envMsgs, app.zon assets), derived values, the view_unbound lint opt-out, local mutation of owned arrays, or how to split a core into modules under src/ (relative imports, namespace imports, @native-sdk/core/text, @native-sdk/core/events).

71

Quality

88%

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

77%Weight 40%Scale 1-3

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 reference with strong code examples and a clear validation-driven workflow, but it leans monolithic: long run-on sentences and inline catalogs (the NS rule list, the Cmd/Sub surface) could be tightened or split into separate reference files for better progressive disclosure.

Suggestions

Split the NS1001-NS1060 checker catalog and the Cmd/Sub reference surface into dedicated reference files (e.g., CHECKER-RULES.md, EFFECTS.md), keeping SKILL.md as a concise overview with one-level-deep links.

Break the run-on bullets in 'What compiles (v1)' into shorter, scannable items — one construct per line — to improve conciseness and readability without dropping detail.

Trim sentences that restate the same rule multiple ways (e.g., the ownership/escape explanations in NS1051 and the local-mutation notes overlap) to reduce token weight.

DimensionReasoningScore

Conciseness

The body is mostly efficient and conveys genuinely novel domain knowledge Claude lacks, but several passages are run-on sentences cramming multiple rules into one breath (e.g., the 'What compiles (v1)' bullets) and could be tightened or trimmed without losing meaning.

2 / 3

Actionability

Provides fully executable TypeScript (the contract, a complete canonical todo-core example), concrete Cmd/Sub/Zig wiring snippets, and specific shell commands (native dev --core, native check) that are copy-paste ready.

3 / 3

Workflow Clarity

The dev loop is clearly sequenced (native dev --core -> native dev -> native check -> native build) with an explicit validation feedback loop ('run it after every meaningful edit and read the diagnostics') and a documented error-recovery checkpoint around the stale model-contract artifact.

3 / 3

Progressive Disclosure

The body is well-sectioned with clear headers and signals external example apps, but no bundle files exist and the SKILL.md is a 503-line monolith where the 60-rule checker catalog and the Cmd/Sub reference would benefit from being split into separate one-level-deep reference files.

2 / 3

Total

10

/

12

Passed

Description

100%Weight 40%Scale 1-3

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is specific, trigger-rich, complete, and highly distinctive — it names concrete actions, natural triggering terms, an explicit 'Use when' clause, and an unmistakable niche. It is slightly dense, but every clause earns its place.

DimensionReasoningScore

Specificity

Lists multiple concrete actions and entities — 'writing or modifying a src/core.ts app core, fixing subset checker errors (NS1001-NS1060)' and enumerated topics (text/bytes, sliders, scroll, Cmd, Sub, wiring channels) — rather than vague abstractions.

3 / 3

Completeness

Clearly answers both 'what' (authoring guide for TS app cores: Model/Msg/update compiled to Zig) and 'when' via an explicit 'Use when...' clause naming three concrete triggering scenarios.

3 / 3

Trigger Term Quality

Good coverage of natural terms a user of this SDK would actually say — 'src/core.ts app core', 'subset checker errors (NS1001-NS1060)', 'effects (Cmd)', 'subscriptions (Sub)', and the named wiring channels.

3 / 3

Distinctiveness Conflict Risk

Highly niche triggers — the @native-sdk/core transpiler, src/core.ts, and NS1001-NS1060 codes — make it unlikely to fire for any other skill, occupying a clear distinct niche.

3 / 3

Total

12

/

12

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.

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

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

Warning

referenced_paths_exist

Referenced path issues: 1 missing, 1 deeper-than-1-level

Warning

Total

14

/

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.