finds.dev← search

// the find

yetone/native-feel-skill

★ 1,924 · MIT · updated May 2026

An Agent Skill for designing cross-platform desktop apps that feel native — distilled from Raycast's 2.0 deep-dive and reverse engineering of Raycast Beta.app. Eight architectural tenets, four-layer architecture, WebKit/WebView2 survival guide, 75-item ship audit.

A set of markdown reference files packaged as an Agent Skill, describing how to build a cross-platform desktop app with a native shell over WKWebView or WebView2, a Node backend, and a Rust core, without the usual web-wrapper tells. It is aimed at architects choosing between Electron-style and native-shell stacks, and the decision tree at the front is the most useful part for anyone who has not already committed.

- The decision tree states when this architecture is the wrong choice, with concrete thresholds: cold start under 100 ms, memory floor under 150 MB, or under three months of runway. Saying so directly is more useful than a pitch for the stack.

- The WebView survival notes name specific fixes, such as turning off occlusion, alpha prewarming, waiting on _doAfterNextPresentationUpdate, and prewarming fonts. The Activity Monitor section also explains why resident size misleads for a WebView-based app.

- The 75-item ship audit is a checklist you can run against an existing app. The Electron example maps it to specific, small fixes like cursor:pointer on rows, web-style overlays instead of native sheets, and hardcoded accent colours.

- The evidence is tied to a named artifact, Raycast Beta.app v0.60.0 on macOS 26 with arm64, so the claims can be checked against a specific binary.

- It is markdown only. There is no sample IPC schema, no codegen setup, and no runnable example. The IPC contract is the piece adopters most need to be concrete, and the README gives it as a diagram.

- Most of the reasoning rests on one company's public post and one reverse-engineered build. The README calls the tenets the author's synthesis, but teams with far fewer engineers than Raycast will have to make that generalization themselves.

- Four runtimes (Swift/AppKit, C#/WPF, Node, and Rust through UniFFI) plus shared IPC codegen is a large operational footprint. The README says little about what that costs in build tooling, cross-boundary debugging, or hiring.

- The README does not say which macOS, WebView2, or WebKit versions the platform fixes were checked against. Flags like occlusion handling tend to change between releases, so readers will need to re-verify them before relying on them.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →