From nanoclaw-skills
Adds macOS menu bar status indicator for NanoClaw with bolt icon, green/red running status dot, and Start/Stop/Restart controls. macOS only, requires Xcode CLI tools.
npx claudepluginhub nanocoai/nanoclaw-skills --plugin nanoclaw-skillsThis skill uses the workspace's default tool permissions.
Adds a persistent menu bar icon that shows NanoClaw's running status and lets the user
Adds production features like CI/CD, auto-updates, logging, SwiftLint, localization, Launch at Login to existing macOS Swift apps after analyzing project status.
macOS platform-specific development with menu bar apps, window management, AppKit integration, and notarization. Use when building Mac apps, creating menu bar extras, or distributing outside App Store.
Switches NanoClaw container runtime from Docker to Apple Container for macOS-native isolation. Merges code changes to src/container-runtime.ts, build scripts, and tests; verifies installation and runtime.
Share bugs, ideas, or general feedback.
Adds a persistent menu bar icon that shows NanoClaw's running status and lets the user start, stop, or restart the service — similar to how Docker Desktop appears in the menu bar.
macOS only. Requires Xcode Command Line Tools (swiftc).
If not on macOS, stop and tell the user:
This skill is macOS only. The menu bar status indicator uses AppKit and requires
swiftc(Xcode Command Line Tools).
which swiftc
If not found, tell the user:
Xcode Command Line Tools are required. Install them by running:
xcode-select --installThen re-run
/add-macos-statusbar.
launchctl list | grep com.nanoclaw.statusbar
If it returns a PID (not -), tell the user it's already installed and skip to Phase 3 (Verify).
The source lives in the skill directory. Compile it into dist/:
mkdir -p dist
swiftc -O -o dist/statusbar "${CLAUDE_SKILL_DIR}/add/src/statusbar.swift"
This produces a small native binary at dist/statusbar.
On macOS Sequoia or later, clear the quarantine attribute so the binary can run:
xattr -cr dist/statusbar
Determine the absolute project root and home directory:
pwd
echo $HOME
Create ~/Library/LaunchAgents/com.nanoclaw.statusbar.plist, substituting the actual values
for {PROJECT_ROOT} and {HOME}:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.nanoclaw.statusbar</string>
<key>ProgramArguments</key>
<array>
<string>{PROJECT_ROOT}/dist/statusbar</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>EnvironmentVariables</key>
<dict>
<key>HOME</key>
<string>{HOME}</string>
</dict>
<key>StandardOutPath</key>
<string>{PROJECT_ROOT}/logs/statusbar.log</string>
<key>StandardErrorPath</key>
<string>{PROJECT_ROOT}/logs/statusbar.error.log</string>
</dict>
</plist>
launchctl load ~/Library/LaunchAgents/com.nanoclaw.statusbar.plist
launchctl list | grep com.nanoclaw.statusbar
The first column should show a PID (not -).
Tell the user:
The bolt icon should now appear in your macOS menu bar. Click it to see NanoClaw's status and control the service.
- Green dot — NanoClaw is running
- Red dot — NanoClaw is stopped
Use Restart after making code changes, and View Logs to open the log file directly.
launchctl unload ~/Library/LaunchAgents/com.nanoclaw.statusbar.plist
rm ~/Library/LaunchAgents/com.nanoclaw.statusbar.plist
rm dist/statusbar