Add macos statusbar
A lightweight alternative to OpenClaw that runs in containers for security. Connects to WhatsApp, Telegram, Slack, Discord, Gmail and other messaging apps,, has memory, scheduled jobs, and runs directly on Anthropic's Agents SDK
npx -y skills add nanocoai/nanoclaw --skill add-macos-statusbarAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Add a macOS menu bar status indicator for NanoClaw. Shows a bolt icon with a green/red dot indicating whether NanoClaw is running, with Start, Stop, and Restart controls. macOS only.
SKILL.md
3.1 KB, as published. Nobody here has run it
Add macOS Menu Bar Status Indicator
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).
Phase 1: Pre-flight
Check platform
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).
Check for swiftc
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.
Check if already installed
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).
Phase 2: Compile and Install
Compile the Swift binary
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
Create the launchd plist
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>
Load the service
launchctl load ~/Library/LaunchAgents/com.nanoclaw.statusbar.plist
Phase 3: Verify
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.
To uninstall, follow REMOVE.md.