← Back to Skills Marketplace
lijinlar

Handsfree Windows Control

by Lijin AR · GitHub ↗ · v1.3.0
cross-platform ⚠ suspicious
734
Downloads
0
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install handsfree-windows-control
Description
Guide skill for controlling native Windows apps (UIA) and web browsers (Playwright) via the handsfree-windows CLI. Use when you need to automate or test desk...
README (SKILL.md)

Handsfree Windows Control

A guide skill for automating native Windows apps (UIA) and web browsers (Playwright) via the handsfree-windows CLI.

First use: auto-setup

On first use, run setup before issuing any other commands:

python scripts/setup.py

This will:

  1. Clone handsfree-windows from GitHub into ~/.handsfree-windows/cli/ (public repo, read-only)
  2. Install it via pip install -e (standard pip editable install)
  3. Install Playwright + Chromium browser binaries (~200 MB one-time download from cdn.playwright.dev)
  4. Run check_setup.py to verify everything is working

To skip browser installation (browser-* commands will not work):

python scripts/setup.py --no-browser

To install to a custom directory:

python scripts/setup.py --install-dir "C:\your\preferred\path"

Already installed? Verify anytime:

python scripts/check_setup.py

What is written to disk (transparent)

  • CLI source code: ~/.handsfree-windows/cli/ (or --install-dir)
  • pip editable link: standard site-packages egg-link (pip managed)
  • Browser persistent profiles: ~/.handsfree-windows/browser-profiles/\x3Cengine>/ Contains cookies and login sessions. Delete to reset browser auth.
  • Browser session state: ~/.handsfree-windows/browser-state.json (last visited URL)
  • Playwright browser binaries: ~\AppData\Local\ms-playwright\ (~800 MB, Windows)

To fully remove everything:

pip uninstall handsfree-windows -y
Remove-Item -Recurse -Force "$env:USERPROFILE\.handsfree-windows"

Core rules

  • Do not guess UI controls. Run hf tree or hf inspect first, then act on what is actually there.
  • Do not type credentials. Navigate to login screens; let the human complete auth.
  • Prefer UIA selectors (name + control_type) over raw coordinates.
  • Use drag-canvas only for canvas/ink surfaces (Paint, drawing apps, etc.).
  • For destructive actions (delete, submit, send), ask the human for confirmation first.

Workflow: Desktop app (UIA)

# Launch any installed app
hf start --app "Outlook"

# Find the window
hf list-windows --json

# Discover controls (no guessing)
hf tree --title-regex "Outlook" --depth 10 --max-nodes 30000

# Act on what was found
hf click --title "Outlook" --name "New mail" --control-type "Button"

# Inspect element under cursor
hf inspect --json

Workflow: Browser (Playwright)

# Open URL - login sessions saved in profile automatically
hf browser-open --url "https://example.com"

# Inspect page before acting
hf browser-snapshot --fmt text

# Act
hf browser-click --text "Sign in"
hf browser-type --selector "#email" --text "[email protected]"

# Verify
hf browser-screenshot --out result.png

Mixed macro (desktop + web in one YAML)

- action: start
  args:
    app: "My Desktop App"

- action: browser-open
  args:
    url: "https://app.example.com"
    headless: false

- action: browser-click
  args:
    text: "Get Started"

- action: sleep
  args:
    seconds: 1

Run with: hf run macro.yaml


References

  • Full command reference + selector schema: references/api_reference.md
Usage Guidance
Before installing: verify you trust the upstream repository (https://github.com/lijinlar/handsfree-windows), because the installer will clone that repo and pip install it in editable mode. Ensure you have Python 3.10+, git, and pip available. Be aware the installer may download ~200–800 MB of Playwright browser binaries and will create persistent browser profiles (cookies and login sessions) under ~/.handsfree-windows; those can contain sensitive data — delete the profile directory to clear saved sessions. If unsure, run the included scripts manually in a disposable environment (or inspect the cloned repo) rather than letting an agent run setup automatically. To remove later: pip uninstall handsfree-windows and delete ~/.handsfree-windows as documented.
Capability Analysis
Type: OpenClaw Skill Name: handsfree-windows-control Version: 1.3.0 The skill bundle is classified as suspicious due to the installation of a tool (`handsfree-windows`) that provides powerful capabilities, including the ability to launch arbitrary applications (`hf start`), open arbitrary local paths (`hf open-path`), and execute arbitrary JavaScript within a browser context (`hf browser-eval`). While these capabilities are central to the skill's stated purpose of desktop and browser automation, they represent significant security risks if misused by the agent or through prompt injection. Additionally, the `setup.py` script performs a `git clone` from an external GitHub repository (`https://github.com/lijinlar/handsfree-windows.git`), introducing a supply chain risk, as the content of this external repository is not directly controlled within the bundle. Although the `SKILL.md` includes 'Core rules' advising caution (e.g., 'Do not type credentials', 'ask the human for confirmation'), the inherent broad permissions and execution capabilities warrant a 'suspicious' classification rather than 'benign'.
Capability Assessment
Purpose & Capability
The skill's name/description match the provided SKILL.md and helper scripts: it installs and runs a handsfree-windows CLI for desktop and browser automation. Minor mismatch: registry metadata lists no required binaries/env but the installer expects Python (3.10+), git, and pip to be available.
Instruction Scope
SKILL.md and scripts only perform tasks relevant to installing and validating the CLI and Playwright browsers (clone repo, pip install -e, run playwright install, run checks). The docs explicitly warn about stored browser profiles and ask humans to confirm destructive actions.
Install Mechanism
Install is an included Python script that clones https://github.com/lijinlar/handsfree-windows.git and runs pip install -e, then optionally downloads Playwright Chromium from cdn.playwright.dev. These are standard sources (GitHub, PyPI, Playwright CDN) — not high-risk, but the installer writes source to ~/.handsfree-windows and creates editable pip links (site-packages egg-link).
Credentials
No environment variables or external credentials are requested. The persistent state (browser profiles, browser-state.json, Playwright binaries) is proportionate to browser automation; the skill warns that cookies/login sessions are stored locally.
Persistence & Privilege
The skill does not request always:true and does not alter other skills. It does persist files in the user's home directory and performs a pip editable install (modifies Python site-packages via an egg-link). This is expected for a CLI but is a persistent change the user should be aware of.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install handsfree-windows-control
  3. After installation, invoke the skill by name or use /handsfree-windows-control
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.3.0
v1.3.0 - Added setup.py: auto-installs the CLI on first use (git clone + pip install + playwright) - Added check_setup.py: validates environment without installing anything - All persistent data paths now explicitly declared in SKILL.md - Network downloads (GitHub clone, pip, ~200MB Playwright binaries) fully documented - Removed misleading hf_run.py wrapper - Skill correctly framed as a guide skill (CLI installed separately via setup.py) - Added browser automation: browser-open, browser-navigate, browser-snapshot, browser-click, browser-type, browser-screenshot, browser-eval, browser-links - Browser sessions use persistent profile (login cookies survive between commands) - YAML macros now support mixed desktop (UIA) + web (Playwright) steps
v1.1.0
Added browser automation (Playwright) — open/navigate/snapshot/click/type/screenshot/eval. Supports Chromium/Firefox/WebKit with persistent login sessions. Mixed desktop+web YAML macros now supported.
v1.0.0
Initial release of handsfree-windows-control: - Control and automate native Windows apps via handsfree-windows CLI (UI Automation, mouse, SendInput). - Features: app launching, window listing/focusing, UI discovery, robust selector export, macro recording/playback, and reliable drag operations (including canvas apps). - Prioritizes stability by discovering UI elements before acting. - Emphasizes user safety: asks for confirmation on destructive actions and avoids handling credentials. - Intended for both direct handsfree automation and as a foundation for building OpenClaw skills that interact with Windows like a human.
Metadata
Slug handsfree-windows-control
Version 1.3.0
License
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

What is Handsfree Windows Control?

Guide skill for controlling native Windows apps (UIA) and web browsers (Playwright) via the handsfree-windows CLI. Use when you need to automate or test desk... It is an AI Agent Skill for Claude Code / OpenClaw, with 734 downloads so far.

How do I install Handsfree Windows Control?

Run "/install handsfree-windows-control" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Handsfree Windows Control free?

Yes, Handsfree Windows Control is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Handsfree Windows Control support?

Handsfree Windows Control is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Handsfree Windows Control?

It is built and maintained by Lijin AR (@lijinlar); the current version is v1.3.0.

💬 Comments