Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
macOS GUI automation and desktop control for OpenClaw, powered by Hammerspoon. Gives your agent full access to interact with the Mac desktop — query windows,...
macOS GUI automation and desktop control for OpenClaw, powered by Hammerspoon. Gives your agent full access to interact with the Mac desktop — query windows,...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Full macOS GUI access and desktop automation for OpenClaw, powered by Hammerspoon.
Query all open windows, apps, and dialogs with full detail (titles, buttons, states) Close specific windows or tabs — not just kill entire apps Click buttons in system dialogs and popups (with safety guardrails) Send keypresses to any app Quit or force-quit apps programmatically Chrome DevTools Protocol integration for tab-level browser control
Watches for system dialogs, permission prompts, error popups, and alerts in real-time Auto-dismisses known-safe dialogs (e.g., "app downloaded from internet") Alerts you via Telegram/chat when human input is needed (e.g., security prompts) Detects and closes unauthorized apps and excess browser windows/tabs Enforces configurable desktop policies via YAML rules Logs every action for full audit trail
macOS (Tahoe or later) Hammerspoon (installed automatically) + Accessibility permission Python 3 + PyYAML (installed automatically) Optional: Chrome with --remote-debugging-port=9222 for tab-level control
bash scripts/install.sh This will: Install Hammerspoon if needed Install the DesktopGuardian Spoon Guide you through Accessibility permission Compile the Swift fallback for degraded mode Set up config, logs, and LaunchAgent
Config file: ~/.openclaw/skills/desktop-guardian/policy.yaml See assets/config.example.yaml for all options. Key settings: cleanup.enabled: Master switch for auto-cleanup (default: true) cleanup.apps.whitelist: Apps allowed to run; others get closed browsers.chrome.max_windows/max_tabs: Limits before auto-close dialogs.auto_dismiss: Apps whose dialogs are safe to dismiss dialogs.ignore: Apps whose dialogs should be silently ignored alerts.notify_on_actions: Send notification for every auto-action
For tab-level granularity, Chrome must run with CDP enabled: open -a "Google Chrome" --args --remote-debugging-port=9222 Without CDP, only window counts are available.
Instantly disable all actions: touch ~/.openclaw/skills/desktop-guardian/KILL_SWITCH Remove to re-enable: rm ~/.openclaw/skills/desktop-guardian/KILL_SWITCH
Without Hammerspoon, the skill runs in monitor-only mode using a Swift fallback binary. It can detect violations but cannot auto-close or dismiss anything.
parse_config — Output config as key=value pairs validate_config — Validate config (exit 0/1) check_quiet — Exit 0 if NOT in quiet hours evaluate_snapshot — Apply policy to snapshot JSON → violations + actions parse_query — Convert snapshot to key=value pairs safe_hs_command — Generate safe hs -c command string update_state — Update alert cooldown state log_violation — Append to violation log daily_summary — Generate daily summary list_apps — List apps from last snapshot check_cooldown — Check if alert cooldown has expired
Never interpolates shell variables into hs -c commands Hardcoded button blacklist: won't click Allow, Delete, Install, etc. Hardcoded app blacklist: won't dismiss SecurityAgent, Keychain Access, etc. All app names validated against ^[a-zA-Z0-9 ._-]+$ Config file mode 600, state uses atomic writes Full audit log of every action taken
bash scripts/uninstall.sh Removes LaunchAgent, Spoon, and init.lua entries. Preserves config/logs unless you choose to remove them. Does NOT uninstall Hammerspoon.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.