AGENT SKILL

add-macos-statusbar

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.

License 许可
MIT
最近更新
2026-10-30
Stars
★ 5
Forks
2

01 前言 Front Matter

name
add-macos-statusbar
description
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.

02 资源文件 1

03 SKILL.md 正文

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 --install

Then 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.

Removal

launchctl unload ~/Library/LaunchAgents/com.nanoclaw.statusbar.plist
rm ~/Library/LaunchAgents/com.nanoclaw.statusbar.plist
rm dist/statusbar

04 同仓库更多 Skills

microsoft
microsoft/amplifier-app-nanoclaw

whatsapp-formatting

Format messages for WhatsApp, including mentions that render as real WhatsApp tags. Use when responding in a WhatsApp conversation (platform_id / chatJid ends with @s.whatsapp.net or @g.us).

★ 5
microsoft
microsoft/amplifier-app-nanoclaw

welcome

Introduce yourself to a newly connected channel. Triggered automatically when a channel is first wired. Send a friendly greeting and brief overview of what you can do.

★ 5
microsoft
microsoft/amplifier-app-nanoclaw

vercel-cli

Deploy apps to Vercel. Use when asked to deploy, ship, or publish a web application, or manage Vercel projects, domains, and environment variables.

★ 5
microsoft
microsoft/amplifier-app-nanoclaw

slack-formatting

Format messages for Slack using mrkdwn syntax. Use when responding to Slack channels (folder starts with "slack_" or JID contains slack identifiers).

邮件与沟通
★ 5
microsoft
microsoft/amplifier-app-nanoclaw

self-customize

Customize your own agent — add capabilities, install packages, add MCP servers, edit code or CLAUDE.md. Use when the user asks you to add a feature, install a tool, or modify how you work. For non-trivial code changes, delegate to a builder agent via create_agent.

Skill与智能体开发
★ 5
microsoft
microsoft/amplifier-app-nanoclaw

onecli-gateway

OneCLI Gateway: transparent HTTPS proxy that injects stored credentials into outbound calls. You MUST use this skill when the user asks you to read emails, check calendar, access GitHub repos, create issues, check Stripe payments, or interact with ANY external service or API. Do NOT use browser extensions or OAuth CLI tools. Make HTTP requests directly; the gateway injects credentials automatically.

Skill与智能体开发
★ 5