# macos-settings-ui

Builds a native macOS settings window in SwiftUI: sidebar, grouped Form panes and liquid glass window chrome for macOS 26.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 650 installs · ★ 681
- Author: fayazara
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/fayazara/macos-app-skills/tree/HEAD/settings-ui/SKILL.md
- Updated: 2026-05-27
- HTML: https://affpapa.org/en/nevibecode/skills/macos-settings-ui

## What it does

The skill lays out a three-layer settings window. `SettingsWindowController.swift` creates the `NSWindow` in code with `.fullSizeContentView` — that flag is what makes macOS 26 draw rounded corners and a translucent sidebar. The root view is a `NavigationSplitView` with a sidebar list and back/forward history in the toolbar. Each pane is its own file built from `Form { Section { ... } }`.

Reference files ship with it: the window controller, the root view, and a sample pane covering `Toggle`, `Picker`, `Slider` and `LabeledContent`. The steps run in order — define a tab enum with a title and SF Symbol, copy the controller, adjust the frame sizes, write the panes, then open the window with `SettingsWindowController.show(tab:)`.

One hard limit: SwiftUI's declarative `Window` scene never exposes the window style mask, so you have to delete the old `Window("Settings", id: "SETTINGS")` scene and drop `openWindow(id:)`. Setting `.fullSizeContentView` later through `NSViewRepresentable` fails too, because SwiftUI resets the window configuration. The controller also calls the activation policy — strip those calls if your app is not menu-bar-only.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add fayazara/macos-app-skills --skill macos-settings-ui -a claude-code
```
```bash
npx skills add fayazara/macos-app-skills --skill settings-ui -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/settings-ui/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/settings-ui/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add fayazara/macos-app-skills --skill settings-ui -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/settings-ui/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add fayazara/macos-app-skills --skill settings-ui -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/settings-ui/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install fayazara/macos-app-skills settings-ui
```

2. **Manually: put the files in place**
- File: `.github/skills/settings-ui/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add fayazara/macos-app-skills --skill settings-ui -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/fayazara/macos-app-skills --path settings-ui
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/settings-ui/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add fayazara/macos-app-skills --skill settings-ui -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/fayazara/macos-app-skills/tree/HEAD/settings-ui/SKILL.md

## When to use it
- build a settings window with a sidebar and detail panes
- get liquid glass window chrome on macOS 26
- fix a form background that hides the glass effect
- replace a SwiftUI `Window` scene with a window controller
- add back/forward navigation to the settings toolbar

## Example prompts
- add a settings window to my SwiftUI macOS app
- create a preferences pane with a grouped Form and a transparent background
- my settings screen looks wrong, rebuild it to match macOS 26

## Similar
- [liquid-glass](https://affpapa.org/en/nevibecode/skills/liquid-glass.md) — skill · 78 installs
- [macos-development](https://affpapa.org/en/nevibecode/skills/macos-development.md) — skill · 1600 installs
- [axiom-macos](https://affpapa.org/en/nevibecode/skills/axiom-macos.md) — skill · 1300 installs
- [macos-menubar-tuist-app](https://affpapa.org/en/nevibecode/skills/macos-menubar-tuist-app.md) — skill · 681 installs
- [build-macos-apps](https://affpapa.org/en/nevibecode/plugins/build-macos-apps.md) — plugin · ★ 7596
- [macos-design-guidelines](https://affpapa.org/en/nevibecode/skills/macos-design-guidelines.md) — skill · 4300 installs

From the same set: [fayazara/macos-app-skills](https://affpapa.org/en/nevibecode/by/fayazara/macos-app-skills.md) — 6 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
