agentsclimarketplace

Native craft

Skill Bandersnatch0x/design-playbook/packages/design-playbook/skills/native-craft

Native-feel declaration for desktop apps. Use when a cross-platform desktop app (macOS+Windows) must feel indistinguishable from native. Invoked before ui-picker for native-desktop targets, not web pages.From its SKILL.md

Install
npx -y skills add Bandersnatch0x/design-playbook --skill native-craft

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

3 things to look at

  • 25 days oldThe repository was created 25 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.2 KB, 972 tokens by cl100k_base, as published. Nobody here has run it

native-craft

Native-feel is a Design I/O platform declaration: it fixes the render-surface seam and the native conventions before any web shell is picked. It is the native-desktop twin of craft-guard (which owns web craft); the two do not overlap.

Inspired by yetone/native-feel-skill (MIT) - see NOTICE. Depth lives in references/native-feel.md; do not load it until this skill applies.

When to apply / skip

  • Apply when the target is a desktop app that must feel native on macOS + Windows (launcher, system utility, all-day productivity tool).
  • Skip when: one OS only (build pure native), Electron-is-fine polish bar, internal tool, cold-start < 100 ms hard, or pure web/mobile. The decision gate in references/native-feel.md rules this stack out for those shapes - say so directly.

The declaration: place the seam at the rendering surface

The cross-platform boundary is drawn at the WebView surface, nowhere else.

  • Below the seam - windowing, hotkeys, materials, file dialogs, tray, a11y, input methods, context menu - native, written twice in idiomatic Swift / C#. No abstraction is fast or correct enough.
  • Above the seam - React tree, business logic, extension API, AI orchestration - shared, written once in TS.

Test every platform decision: is this above or below the rendering surface? Below -> write it twice. Above -> write it once. Refuse to draw the line elsewhere.

Native-feel tenets (cite by short name when advising)

  • Seam at render surface - the boundary altitude where neither side can mimic the other.
  • Adopt the platform, don't compete - the OS draws blur, scrollbars, dark mode, focus rings better than you. "Let the OS do it" is the implementation; custom is last resort.
  • Perception is performance - users feel promises kept (keystroke, frame, latency), not MB/FPS. Define the perception target before optimizing.
  • Cross boundaries intentionally - every IPC is a design decision: async, batched, schema-typed, observable. Never treat IPC like a function call.
  • Iteration loop is the product - hot-reload (~200 ms) vs native recompile (~30 s) is 150x; the cross-platform tax buys this, protect it.

Pipeline integration

native-craft runs at plan / shell, before ui-picker:

  1. Run the decision gate (references/native-feel.md). If it rules native-feel out, stop - tell the user to use Electron / pure native / web.
  2. Declare the seam: what is native (below) vs shared TS (above).
  3. Declare native conventions (materials, cursor, windowing, keyboard, drag-drop) - the audit in references/native-feel.md.
  4. Hand to ui-picker for the shared UI shell; craft-guard still applies above the seam but must defer to native conventions below it (e.g. no cursor: pointer, no web toasts, OS materials).

Done when

  • The decision gate has been run and native-feel is either confirmed in-scope or ruled out (with the reason stated).
  • The seam is declared: every platform-touching feature labeled native (below) or shared (above), no "convenient" third line.
  • Native conventions that block native-feel are listed for the surface in scope (cursor, context menu, materials, window controls, scroll, motion, keyboard, drag-drop).
  • craft-guard rules above the seam and native conventions below it are reconciled - no conflict where web idiom would telegraph "web app".

Recirculate

ObservableDeclaration
App feels like a web page (cursor:pointer, web toasts, box-shadow windows)native-craft conventions
Wrong seam (UI in native, or platform code in TS)native-craft seam
Slow perception despite low memorynative-craft perception tenet
Used this stack for a one-OS / Electron-fine / <100ms appnative-craft decision gate (rule out)

Depth: decision gate + native-conventions audit -> references/native-feel.md. Full evidence (WebView survival, IPC contract, memory truths) -> original native-feel-skill (user installs separately).

What ships with it: 1 file

4.4 KB alongside SKILL.md

references/

Keep looking

Skills are one crate of 326,835. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.