skills/macos/macos/SKILL.md
macOS system overview and general orchestration
npx skillsauth add alphaonedev/openclaw-graph macosInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill enables OpenClaw to provide macOS system overviews and orchestrate tasks like file management, process control, and app interactions, leveraging macOS-specific APIs and CLI tools for efficient automation.
Use this skill for macOS-exclusive tasks, such as managing user permissions, monitoring system resources, automating app launches, or integrating with Apple ecosystem tools. Apply it when the agent needs to handle Apple-specific environments, like scripting for macOS-only workflows or troubleshooting hardware interactions.
launchctl for service management.sysctl or top, and handle app-specific events using AppleScript.Invoke this skill by specifying the "macos" ID in OpenClaw queries, e.g., prefix with "use skill: macos" for context. Always check for macOS version compatibility using sw_vers before executing commands. For orchestration, chain tasks like file checks followed by process starts. Use environment variables for sensitive data, e.g., set $APPLE_API_KEY for authenticated API calls. Structure requests as JSON payloads with fields like {"action": "run_command", "command": "ls -l"}.
ls -l to list files with detailed permissions; example: run via subprocess in Python: import subprocess; subprocess.run(['ls', '-l', '/path']).launchctl load /path/to/plist for starting daemons; snippet: subprocess.run(['launchctl', 'load', '-w', '/Library/LaunchDaemons/com.example.plist']).sysctl -n hw.memsize for memory size; code: output = subprocess.check_output(['sysctl', '-n', 'hw.memsize']).decode().strip().open -a "Application" file.path; e.g., subprocess.run(['open', '-a', 'TextEdit', 'document.txt']).osascript -e 'tell app "Finder" to open document file "path"'; snippet: subprocess.run(['osascript', '-e', 'tell app "Finder" to display dialog "Hello"']).
If API keys are needed for extended services (e.g., Apple Developer APIs), reference them as $APPLE_DEVELOPER_KEY in environment variables.Integrate this skill with other OpenClaw skills by linking via clusters, e.g., combine with "system" cluster for cross-platform tasks. For config files, parse plist XML using Python's plistlib module: import plistlib; with open('config.plist', 'rb') as f: data = plistlib.load(f). Ensure compatibility by checking macOS version with subprocess.run(['sw_vers', '-productVersion']) and adjust commands accordingly, e.g., use xattr for extended attributes on macOS 10.10+. When integrating with tools like Homebrew, prefix commands with brew --prefix for paths. Always sandbox operations using sandbox-exec for security.
Handle permission errors by checking for Operation not permitted and prefix commands with sudo if needed, e.g., wrap in try-except: try: subprocess.run(['command']) except subprocess.CalledProcessError as e: log_error(e, "Permission issue; use sudo"). For API failures, verify $APPLE_API_KEY is set and catch HTTP errors like 401 Unauthorized. Common issues: File not found—use os.path.exists('/path') before operations; Process timeouts—set timeouts in subprocess calls, e.g., subprocess.run(['command'], timeout=10). Log errors with macOS's syslog via logger command for auditing.
df -h /, then copy files: subprocess.run(['cp', '-R', '/source/dir', '/backup/dir']). In OpenClaw, query: "use skill: macos; backup /Documents to /Backup if disk space > 10GB".top -l 1 | grep "CPU usage", then alert if >80%: import re; output = subprocess.check_output(['top', '-l', '1']); if re.search(r'CPU usage: \d+\.\d+% user', output) and float(match) > 80: send_alert(). In OpenClaw: "use skill: macos; monitor CPU and notify if usage exceeds 80%".tools
Root web development: project structure, tooling selection, deployment decisions
development
WebAssembly: Rust/Go/C to WASM, wasm-bindgen, Emscripten, WASM Component Model
development
Vue 3: Composition API script setup, Pinia, Vue Router 4, SFCs, Vite, Nuxt 3
tools
Tailwind CSS 4: utility classes, config, JIT, arbitrary values, darkMode, plugins, shadcn/ui