Skip to content

markmals/appkit

v0.1.0MIT

Agents and skills for modern (macOS 26/27) native AppKit app development — build/run, design with Liquid Glass, code review, XCUITest, migration, modernization, packaging for TestFlight & the Mac App Store, plus grounded API/availability tooling.

appkit-app-inspector

Use when learning how a running macOS app is built by inspecting its live view tree with uitool — reading real NSView subclasses, frames, fonts, CALayer facts, and Auto Layout constraints from another process and translating them into your own AppKit code. Covers the two injection postures (cooperative on a stock Mac vs unrestricted dev-box), the doctor/signing precondition gate, the filter→drill query loop, and turning runtime findings into a clean public-API recipe.

appkit-code-review

Use when reviewing native macOS AppKit Swift code before committing — checks MVC/MVVM, Swift 6 concurrency and main-actor correctness, memory management (retain cycles), target-action vs bindings, accessibility, theming, security, and performance, catching issues the compiler and UI tests won't find.

appkit-design

Use when designing or building any macOS AppKit user interface — choosing the control or layout for a new window/app, picking the canonical control for a requirement, adopting the macOS 26/27 Liquid Glass look, sizing a window to its content, applying semantic colors and typography, or reviewing AppKit UI for design correctness. Targets modern AppKit (macOS 26/27).

appkit-dev-workflow

Build and run workflow for native macOS AppKit apps — project creation with Tuist, the build-and-run.sh helper, xcodebuild, launching the .app, reading stdout/crash logs, error diagnosis, and prerequisites. Use when building, running, or fixing build errors in an AppKit / Swift / Cocoa project.

appkit-launch-continuity

Use when a macOS AppKit app blocks system shutdown/restart or won't quit while showing a sheet or modal, or when it should relaunch exactly where the user left off — restoring open windows, the selected item, and frontmost/minimized/full-screen state. Covers graceful termination (preventsApplicationTerminationWhenModal) and state restoration with NSWindowRestoration. Targets modern macOS.

appkit-liquid-glass-concentricity

Use when updating a macOS AppKit app's look and feel for macOS 27 — picking up Liquid Glass refinements, the new interactive glass effect that responds to clicks, scroll edge effects, sidebar/toolbar changes, or making a custom NSView's rounded corners concentric with its container via NSViewCornerConfiguration / .containerConcentric. Targets macOS 27 / AppKit.

appkit-migration

Migration to native macOS AppKit + Swift — Mac Catalyst / UIKit → AppKit (UIView→NSView, UIViewController→NSViewController, UITableView→NSTableView, UICollectionView→NSCollectionView, UINavigationController→NSSplitViewController/NSToolbar, UIColor→NSColor), Electron/web → AppKit, and Objective-C → Swift. Use when converting a Catalyst, UIKit, Electron, or Objective-C app to native AppKit, mapping UIKit types, or fixing migration build errors.

appkit-modern-input

Use when modernizing input handling in a macOS AppKit app — overriding mouseDown:/rightMouseDown:, hand-rolling mouse tracking loops with nextEvent(matching:), wiring selection / context menus / drag-and-drop by hand, fixing a control that won't respond to clicks (overlapping sibling views), broken Tab key-view navigation, or NSStatusItem status-bar items with a custom view or window. Targets modern macOS (macOS 26/27).

appkit-packaging

Code signing, notarization, and distribution for native macOS AppKit apps — release builds, Developer ID signing (codesign), notarization (notarytool), stapling, building signed .dmg / .pkg installers, GitHub Actions CI, TestFlight beta distribution, and Mac App Store submission. Use when preparing a release, signing an app, notarizing, creating an installer, setting up CI packaging, distributing a beta via TestFlight, or publishing to the Mac App Store.

appkit-private-apis

Use when discovering, declaring, or calling a private/undocumented AppKit or Objective-C API from a macOS app — dumping private framework headers, declaring a private interface (ObjC category, bridging header, @objc protocol, or dlsym for C), calling it from Swift, or method swizzling (method_exchangeImplementations / setImplementation, capturing the original, restoration, thread-safety). Targets native macOS AppKit (Swift 6 / ObjC).

appkit-session-report

Use when the user wants to analyze, summarize, or get a diagnostic of the current or a recent Claude Code session for this macOS project — session feedback, what happened during a build, where the agent got stuck, token/turn metrics, or a write-up to attach to a bug report. Runs the bundled analyze-session.swift. User-invoked.

appkit-setup

Install and verify the prerequisites the AppKit dev skills depend on — Xcode 27 (for the macOS 27 SDK) with its license accepted, the Command Line Tools, Homebrew, the CLI tools (Tuist, swift-format, create-dmg), and the apple-platform-tools CLIs (sdk-api, sdk-search, headerdump, redump, uitool). Use when setting up a new Mac, or when another appkit skill reports a missing prerequisite (e.g. xcodebuild/tuist/sdk-api not found, the Xcode license isn't accepted, or no signing identity is present).

appkit-ui-testing

Automated UI testing for native macOS AppKit apps with XCUITest — write a UI test class, run the whole suite in one xcodebuild test pass, read results. Covers element queries, interactions, value checks (NSTextField, NSPopUpButton, NSSwitch), sheets, popovers, menus, NSAlert, file panels, persistence, screenshots, and accessibility audits. Use to validate an AppKit app's UI behaves as specified.

apple-hig

Use when a design decision turns on what the Apple Human Interface Guidelines actually say — the HIG rule/spec/best-practice for a control, pattern, layout, color, typography, accessibility, or platform convention; verifying a design claim against Apple's guidance; or needing an exact HIG specific (hit-target size, when to use one control vs another, per-platform behavior) for macOS/AppKit or any Apple platform. Bundles the complete HIG offline (snapshot 2026-06-10).