Babysitter appkit-menu-bar-builder
Generate NSMenu and NSStatusItem configurations for macOS menu bar applications
install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/desktop-development/skills/appkit-menu-bar-builder" ~/.claude/skills/a5c-ai-babysitter-appkit-menu-bar-builder && rm -rf "$T"
manifest:
library/specializations/desktop-development/skills/appkit-menu-bar-builder/SKILL.mdsource content
appkit-menu-bar-builder
Generate NSMenu and NSStatusItem configurations for macOS menu bar applications. This skill creates menu bar apps with proper status items, menus, and SwiftUI integration.
Capabilities
- Create NSStatusItem menu bar apps
- Generate NSMenu configurations
- Integrate SwiftUI popovers with AppKit
- Handle menu item actions
- Configure keyboard shortcuts
- Support dynamic menu updates
- Handle light/dark mode icons
- Generate agent app configurations (LSUIElement)
Input Schema
{ "type": "object", "properties": { "projectPath": { "type": "string" }, "appType": { "enum": ["menu-only", "popover", "window-and-menu"] }, "menuStructure": { "type": "array" }, "iconType": { "enum": ["system", "custom", "dynamic"] }, "useSwiftUI": { "type": "boolean", "default": true } }, "required": ["projectPath"] }
Generated Code
import AppKit import SwiftUI class StatusBarController { private var statusItem: NSStatusItem private var popover: NSPopover init() { statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength) popover = NSPopover() popover.contentSize = NSSize(width: 300, height: 400) popover.behavior = .transient popover.contentViewController = NSHostingController(rootView: ContentView()) if let button = statusItem.button { button.image = NSImage(systemSymbolName: "star.fill", accessibilityDescription: "App") button.action = #selector(togglePopover) button.target = self } } @objc func togglePopover() { if popover.isShown { popover.performClose(nil) } else if let button = statusItem.button { popover.show(relativeTo: button.bounds, of: button, preferredEdge: .minY) } } }
Related Skills
swiftui-view-generatormacos-entitlements-generator