New to Claude Skills? Learn how to install them →

vercel-labs on GitHub

Native SDK

OfficialFree

Build native desktop applications with TypeScript and Native markup.

by vercel-labs7.4k stars on vercel-labs/native
1 views
Updated Aug 10, 2026
Get this skill

Free · Opens the source repo

What Native SDK does

The Native SDK is a comprehensive toolkit designed for developers looking to build native desktop applications efficiently. It primarily utilizes TypeScript for application logic, complemented by declarative Native markup in .native files. This approach ensures that the resulting binaries are lightweight, containing no JavaScript runtime or WebView, which enhances performance and security. The SDK also offers an alternative core implementation using Zig, providing flexibility for developers who prefer that route.

Developers can start by initializing a new application with the command native init my_app, which generates a basic project structure consisting of essential files like app.zon, src/app.native, and src/core.ts. This structure is designed to facilitate the development process, allowing for easy modifications and adherence to the core language used in the project. The SDK supports a deterministic automation server embedded within each app, enabling automated testing and interaction with the running application, which is particularly useful during the development and debugging phases.

The Native SDK is particularly well-suited for developers familiar with TypeScript and looking to create cross-platform desktop applications. It supports macOS, Linux, and Windows, making it a versatile choice for teams targeting multiple operating systems. Additionally, while mobile embedding is still experimental, the SDK allows for optional WebView integration, which can be beneficial for those needing to incorporate web content into their applications.

In summary, the Native SDK provides a robust framework for building native desktop applications with a focus on performance and simplicity. Its combination of TypeScript and Native markup, along with the flexibility of Zig, makes it an attractive option for developers aiming to deliver high-quality desktop software.

When to use it

Use this skill when you need to develop native desktop applications using TypeScript and Native markup, especially if you want to avoid JavaScript runtimes.

When not to use it

This skill may not be suitable for developers looking for a purely web-based application framework or those who are unfamiliar with TypeScript and Native markup.

What you can build with it

Creating a New Desktop App

Use the Native SDK to quickly scaffold a new desktop application with TypeScript and Native markup.

Testing an Application

Leverage the built-in automation server to test your running application, taking snapshots and performing automated interactions.

Integrating Web Content

Utilize the optional WebView feature to embed web content within your native application when needed.

How to install Native SDK

View source

1. Install with the skills CLI

npx skills add vercel-labs/native/native-sdk --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by vercel-labs

Native SDK

The Native SDK is the complete toolkit for building native desktop applications. The primary authoring path is TypeScript app logic in src/core.ts plus declarative Native markup in .native files. The TypeScript core is checked and compiled ahead of time to native code, so the shipped binary contains no browser, WebView, JS runtime, or interpreter. Zig is how the toolkit itself works and is a first-class, explicitly chosen app-core alternative (--template zig-core); it is not the default inferred from the SDK's implementation. Every app embeds a deterministic automation server, so agents can snapshot, drive, and screenshot the running window. Desktop is the mature surface (macOS deepest, Linux and Windows exercised in CI); mobile embedding is experimental. WebView surfaces coexist as the optional path for embedding web content or hosting an existing web frontend.

Start here

This file is a discovery stub for agents that installed the Native SDK once with a skills installer such as npx skills add native-sdk. Before implementing or explaining Native SDK app work, use the installed CLI to discover and load the current skill content:

native skills list
native skills get core
native skills get native-ui
native skills get ts-core

Use native skills get core for initial orientation. For the default app-authoring path, load both native-ui (views, bindings, the app loop) and ts-core (the TypeScript subset, effects, subscriptions, and modules) before implementing. Use native skills get core --full when work reaches lower-level runtime wiring, WebViews, bridge/security, native capabilities, packaging, or debugging. Use native skills get automation when testing a running app, taking snapshots, requesting reloads, or using the built-in automation server. Use native skills get zig only for an existing Zig core, a toolkit extension, SDK implementation work, or a Zig 0.16 compile error.

Quick orientation

npm install -g @native-sdk/cli
native init my_app
cd my_app
native dev

native init my_app generates the primary three-file app: app.zon, src/app.native (the markup view), and src/core.ts (Model, Msg, update). Inspect the tree before editing an existing app and preserve the core language it already uses. src/main.zig means the app explicitly uses the Zig-core template; web-frontend shells additionally carry frontend/ and usually owned build/runtime wiring.

Frequently asked questions about Native SDK

Similar skills