{
  "schemaVersion": "1.0",
  "item": {
    "slug": "handsfree-windows-control",
    "name": "Handsfree Windows Control",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/lijinlar/handsfree-windows-control",
    "canonicalUrl": "https://clawhub.ai/lijinlar/handsfree-windows-control",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/handsfree-windows-control",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=handsfree-windows-control",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/check_setup.py",
      "scripts/setup.py",
      "references/api_reference.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "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."
        },
        {
          "label": "Upgrade existing",
          "body": "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."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/handsfree-windows-control"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/handsfree-windows-control",
    "agentPageUrl": "https://openagent3.xyz/skills/handsfree-windows-control/agent",
    "manifestUrl": "https://openagent3.xyz/skills/handsfree-windows-control/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/handsfree-windows-control/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "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."
      },
      {
        "label": "Upgrade existing",
        "body": "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."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Handsfree Windows Control",
        "body": "A guide skill for automating native Windows apps (UIA) and web browsers (Playwright)\nvia the handsfree-windows CLI."
      },
      {
        "title": "First use: auto-setup",
        "body": "On first use, run setup before issuing any other commands:\n\npython scripts/setup.py\n\nThis will:\n\nClone handsfree-windows from GitHub into ~/.handsfree-windows/cli/ (public repo, read-only)\nInstall it via pip install -e (standard pip editable install)\nInstall Playwright + Chromium browser binaries (~200 MB one-time download from cdn.playwright.dev)\nRun check_setup.py to verify everything is working\n\nTo skip browser installation (browser-* commands will not work):\n\npython scripts/setup.py --no-browser\n\nTo install to a custom directory:\n\npython scripts/setup.py --install-dir \"C:\\your\\preferred\\path\"\n\nAlready installed? Verify anytime:\n\npython scripts/check_setup.py"
      },
      {
        "title": "What is written to disk (transparent)",
        "body": "CLI source code: ~/.handsfree-windows/cli/ (or --install-dir)\npip editable link: standard site-packages egg-link (pip managed)\nBrowser persistent profiles: ~/.handsfree-windows/browser-profiles/<engine>/\nContains cookies and login sessions. Delete to reset browser auth.\nBrowser session state: ~/.handsfree-windows/browser-state.json (last visited URL)\nPlaywright browser binaries: ~\\AppData\\Local\\ms-playwright\\ (~800 MB, Windows)\n\nTo fully remove everything:\n\npip uninstall handsfree-windows -y\nRemove-Item -Recurse -Force \"$env:USERPROFILE\\.handsfree-windows\""
      },
      {
        "title": "Core rules",
        "body": "Do not guess UI controls. Run hf tree or hf inspect first, then act on what is actually there.\nDo not type credentials. Navigate to login screens; let the human complete auth.\nPrefer UIA selectors (name + control_type) over raw coordinates.\nUse drag-canvas only for canvas/ink surfaces (Paint, drawing apps, etc.).\nFor destructive actions (delete, submit, send), ask the human for confirmation first."
      },
      {
        "title": "Workflow: Desktop app (UIA)",
        "body": "# Launch any installed app\nhf start --app \"Outlook\"\n\n# Find the window\nhf list-windows --json\n\n# Discover controls (no guessing)\nhf tree --title-regex \"Outlook\" --depth 10 --max-nodes 30000\n\n# Act on what was found\nhf click --title \"Outlook\" --name \"New mail\" --control-type \"Button\"\n\n# Inspect element under cursor\nhf inspect --json"
      },
      {
        "title": "Workflow: Browser (Playwright)",
        "body": "# Open URL - login sessions saved in profile automatically\nhf browser-open --url \"https://example.com\"\n\n# Inspect page before acting\nhf browser-snapshot --fmt text\n\n# Act\nhf browser-click --text \"Sign in\"\nhf browser-type --selector \"#email\" --text \"user@example.com\"\n\n# Verify\nhf browser-screenshot --out result.png"
      },
      {
        "title": "Mixed macro (desktop + web in one YAML)",
        "body": "- action: start\n  args:\n    app: \"My Desktop App\"\n\n- action: browser-open\n  args:\n    url: \"https://app.example.com\"\n    headless: false\n\n- action: browser-click\n  args:\n    text: \"Get Started\"\n\n- action: sleep\n  args:\n    seconds: 1\n\nRun with: hf run macro.yaml"
      },
      {
        "title": "References",
        "body": "Full command reference + selector schema: references/api_reference.md"
      }
    ],
    "body": "Handsfree Windows Control\n\nA guide skill for automating native Windows apps (UIA) and web browsers (Playwright) via the handsfree-windows CLI.\n\nFirst use: auto-setup\n\nOn first use, run setup before issuing any other commands:\n\npython scripts/setup.py\n\n\nThis will:\n\nClone handsfree-windows from GitHub into ~/.handsfree-windows/cli/ (public repo, read-only)\nInstall it via pip install -e (standard pip editable install)\nInstall Playwright + Chromium browser binaries (~200 MB one-time download from cdn.playwright.dev)\nRun check_setup.py to verify everything is working\n\nTo skip browser installation (browser-* commands will not work):\n\npython scripts/setup.py --no-browser\n\n\nTo install to a custom directory:\n\npython scripts/setup.py --install-dir \"C:\\your\\preferred\\path\"\n\n\nAlready installed? Verify anytime:\n\npython scripts/check_setup.py\n\nWhat is written to disk (transparent)\nCLI source code: ~/.handsfree-windows/cli/ (or --install-dir)\npip editable link: standard site-packages egg-link (pip managed)\nBrowser persistent profiles: ~/.handsfree-windows/browser-profiles/<engine>/ Contains cookies and login sessions. Delete to reset browser auth.\nBrowser session state: ~/.handsfree-windows/browser-state.json (last visited URL)\nPlaywright browser binaries: ~\\AppData\\Local\\ms-playwright\\ (~800 MB, Windows)\n\nTo fully remove everything:\n\npip uninstall handsfree-windows -y\nRemove-Item -Recurse -Force \"$env:USERPROFILE\\.handsfree-windows\"\n\nCore rules\nDo not guess UI controls. Run hf tree or hf inspect first, then act on what is actually there.\nDo not type credentials. Navigate to login screens; let the human complete auth.\nPrefer UIA selectors (name + control_type) over raw coordinates.\nUse drag-canvas only for canvas/ink surfaces (Paint, drawing apps, etc.).\nFor destructive actions (delete, submit, send), ask the human for confirmation first.\nWorkflow: Desktop app (UIA)\n# Launch any installed app\nhf start --app \"Outlook\"\n\n# Find the window\nhf list-windows --json\n\n# Discover controls (no guessing)\nhf tree --title-regex \"Outlook\" --depth 10 --max-nodes 30000\n\n# Act on what was found\nhf click --title \"Outlook\" --name \"New mail\" --control-type \"Button\"\n\n# Inspect element under cursor\nhf inspect --json\n\nWorkflow: Browser (Playwright)\n# Open URL - login sessions saved in profile automatically\nhf browser-open --url \"https://example.com\"\n\n# Inspect page before acting\nhf browser-snapshot --fmt text\n\n# Act\nhf browser-click --text \"Sign in\"\nhf browser-type --selector \"#email\" --text \"user@example.com\"\n\n# Verify\nhf browser-screenshot --out result.png\n\nMixed macro (desktop + web in one YAML)\n- action: start\n  args:\n    app: \"My Desktop App\"\n\n- action: browser-open\n  args:\n    url: \"https://app.example.com\"\n    headless: false\n\n- action: browser-click\n  args:\n    text: \"Get Started\"\n\n- action: sleep\n  args:\n    seconds: 1\n\n\nRun with: hf run macro.yaml\n\nReferences\nFull command reference + selector schema: references/api_reference.md"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/lijinlar/handsfree-windows-control",
    "publisherUrl": "https://clawhub.ai/lijinlar/handsfree-windows-control",
    "owner": "lijinlar",
    "version": "1.3.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/handsfree-windows-control",
    "downloadUrl": "https://openagent3.xyz/downloads/handsfree-windows-control",
    "agentUrl": "https://openagent3.xyz/skills/handsfree-windows-control/agent",
    "manifestUrl": "https://openagent3.xyz/skills/handsfree-windows-control/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/handsfree-windows-control/agent.md"
  }
}