openai/appkit-interop
Bridge macOS SwiftUI into AppKit narrowly. Use when implementing representables, reaching NSWindow or panels, handling menus, or using the responder chain.
npx skills add https://github.com/openai/plugins --skill appkit-interop
Use this skill when SwiftUI is close but not quite enough for native macOS behavior.
Keep the bridge as small and explicit as possible. SwiftUI should usually remain
the source of truth, while AppKit handles the imperative edge.
NSViewRepresentable when you need a specific AppKit view with lightweight lifecycle needs.NSViewControllerRepresentable when you need controller lifecycle, delegation, or presentation coordination.NSWindow, responder-chain, menu validation, panels, or app-level behavior.references/representables.md: choosing between view and view-controller wrappers, plus coordinator patterns.references/window-panels.md: window access, utility windows, and open/save panels.references/responder-menus.md: first responder, command routing, and menu validation.references/drag-drop-pasteboard.md: pasteboard, file URLs, and desktop drag/drop edges.Coordinator become an unstructured dumping ground.NSView or NSWindow instances globally without a strong ownership reason.swiftui-patterns, keep it there.Provide:
Take openai/appkit-interop from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.