Sep 8, 2026
native-feel-skill:把 Raycast 的桌面架构蒸馏成一个 skill
yetone 的 1,905 星 skill,逆向工程 Raycast Beta 并蒸馏其官方技术深潜:八条架构十诫、四层架构、WebKit/WebView2 生存指南和 75 项发布审计,专治跨平台应用的"原生感"。
跨平台的便利和原生的质感通常互相拉扯——选 Electron 出货快但一股网页味,选原生就得按平台各写一遍。yetone/native-feel-skill 拒绝这个取舍:一个从 Raycast 公开技术深潜和逆向工程成品 Raycast Beta.app 二进制中蒸馏出的 agent skill,打包了让单一 UI 代码库冒充真 Mac 应用的全部结构性选择。
为什么这个 Skill 重要
这套工具有四个组成部分:八条架构十诫(把接缝放在渲染表面;一次声明 schema,多语言受益;顺应平台而不是与平台竞争)、四层架构——原生壳(Swift/AppKit、C#/WPF)压系统 WebView(WKWebView/WebView2)压 Node 后端压 Rust 核心,用一份类型化 IPC schema 连接——一份被 README 称为金矿的 WebKit/WebView2 生存指南,以及 75 项发布就绪审计加一棵会把常见情况直接劝退的决策树。
诚实是这个设计的一部分:决策树明说,如果你需要低于 100ms 的冷启动、低于 150MB 的内存下限、或者只有三个月工期,就别用这套架构——"直接说不比硬凑建议更有用"。声明的目标:启动低于 500ms、常驻低于 500MB、用户分辨不出真假原生。
安装
一条命令即可为任何兼容 agent 全局安装:
npx skills add yetone/native-feel-skill -g
或者把 README 的安装提示词粘给你的 agent——它会把仓库克隆进你的 skills 目录,并核对 SKILL.md 加 references/、checklists/ 子目录是否齐全。
实战:抢救一个网页味的 Electron 应用
让 agent 做审计,skill 会直接翻到 75 项清单(checklists/ship-readiness.md)。README 自带的示例列出了惯犯——多数 Electron 应用栽在同样六到八项上:列表行上的 cursor: pointer、网页式弹层而不是原生 sheet、写死的品牌色而不是系统强调色、页面淡入淡出、不透明窗口背景而不是平台材质、还在触发的 WebKit 右键菜单。每项都是 5-30 分钟的修复,合起来就能过 README 所说的"30 秒怀疑用户测试"。
然后问更大的问题:如果"分辨不出"指的是 Liquid Glass 材质和 200ms 内启动,README 直说 Electron 有天花板——四层架构和决策树就是为这个准备的。
技巧
- 押注架构前先跑
checklists/decision-tree.md;它会很诚实地把自己排除掉。 - 先读
references/01-philosophy.md——"其余一切都是推论"。 - 参考文件对应真实的调试问题:WKWebView 闪烁、Rust/Swift/TypeScript 跨语言的类型化 IPC、以及为什么 Activity Monitor 在内存上说谎。
- 这份审计也适合一次性评审:把 agent 指向任何 web 套壳应用,让它列出没过的项。
何时不用这个 Skill
README 自己的排除清单就是边界:单平台应用(直接写原生)、Electron 式"够用就行"的产品(这里的打磨预算要 5-10 倍)、资源预算严苛的场景、游戏和媒体播放器。而且这套架构编码的是 Raycast 的规模——两人小工具把四层全套照搬过来,等于给报刊亭买了一栋楼。
查看 排行榜 了解更多 skill。