Skills

New Mac App

Create a native macOS SwiftUI app from a working template (Swift package, SwiftData...

Install

npx skills add daveebbelaar/bama --skill new-mac-app -g -a claude-code -y
Repository
daveebbelaar/bama1.3k
Category
Mobile
Updated
3d ago
License
MIT
Context cost
Lightabout 1,194 tokens
Runs scripts
Yes, review before use

What it does

Create a native macOS SwiftUI app from a working template (Swift package, SwiftData, build script, icon script, snapshot mode, git), with no Xcode GUI. Use when the user wants to start a new Mac app or scaffold a macOS project.

New Mac app

The template builds and runs as is. The first build proves the toolchain works before you write feature code.

What the template is

A Swift package with one executable target, plus a script that wraps the binary in a real .app bundle. An agent can read and edit every file.

<AppName>/
  Package.swift          macOS 26, Swift 6.2 tools, main-actor default isolation
  Info.plist.in          bundle id, name, icon, minimum macOS
  Icon/AppIcon.icon      the app icon: Icon Composer file, JSON plus SVG layers
  build.sh               swift build -> .app bundle -> codesign -> ~/Applications
  CLAUDE.md              build, check, and design rules for agents
  Sources/<AppName>/
    App.swift            window, menus, Settings, database location
    Models.swift         SwiftData models, sidebar pages, AppModel
    ContentView.swift    NavigationSplitView: sidebar, list, detail
    Snapshot.swift       APP_SNAPSHOT mode: PNG and layout file per page and Settings tab, light and dark
    UI/Theme.swift       accent colors, saved choice, accent tokens
    SettingsView.swift   Settings window: one tab per topic, sized to content
    UI/AppearanceSettings.swift  Settings: accent picker (mode follows the Mac)
    UI/WindowBehavior.swift  no focus ring on open, fit to content
    UI/Grid.swift        the 4 pt spacing scale, layout probes, grid overlay
  tools/
    grid-lint.sh         flags spacing numbers off the 4 pt grid
    check-layout.swift   checks the layout files from snapshot mode
    make_icon.sh         Icon/AppIcon.icon -> Resources/Assets.car + AppIcon.icns (actool)
    icon_review.sh       renders every icon look into one PNG (ictool)
    icon_sheet.swift     joins the renders for icon_review.sh

Steps

  1. Check the toolchain:

    swift --version            # Swift 6.2 or later
    sw_vers -productVersion    # 26.0 or later
    
Read the whole SKILL.md on GitHub

More in Mobile