{
  "schemaVersion": "1.0",
  "item": {
    "slug": "linux-desktop",
    "name": "Linux Desktop Control",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/ouyangAbel/linux-desktop",
    "canonicalUrl": "https://clawhub.ai/ouyangAbel/linux-desktop",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/linux-desktop",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=linux-desktop",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/linux-desktop.py"
    ],
    "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",
      "slug": "linux-desktop",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-05T00:39:44.497Z",
      "expiresAt": "2026-05-12T00:39:44.497Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=linux-desktop",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=linux-desktop",
        "contentDisposition": "attachment; filename=\"linux-desktop-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "linux-desktop"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/linux-desktop"
    },
    "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/linux-desktop",
    "agentPageUrl": "https://openagent3.xyz/skills/linux-desktop/agent",
    "manifestUrl": "https://openagent3.xyz/skills/linux-desktop/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/linux-desktop/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": "Linux Desktop Control",
        "body": "Automate and control your Linux desktop using command-line tools. Capture screenshots, control mouse/keyboard, and manage windows."
      },
      {
        "title": "When to Use",
        "body": "Take screenshots of screen or specific windows\nAutomate mouse movements and clicks\nSimulate keyboard input\nManage and interact with windows\nBuild desktop automation workflows"
      },
      {
        "title": "Prerequisites",
        "body": "Install required tools:\n\nsudo apt-get install scrot xdotool xclip x11-utils x11-apps"
      },
      {
        "title": "Take Screenshot",
        "body": "python3 scripts/linux-desktop.py screenshot\n# Output: ~/screenshot_20240224_203901.png"
      },
      {
        "title": "List Windows",
        "body": "python3 scripts/linux-desktop.py list"
      },
      {
        "title": "Move Mouse and Click",
        "body": "python3 scripts/linux-desktop.py move 500 300\npython3 scripts/linux-desktop.py click"
      },
      {
        "title": "Type Text",
        "body": "python3 scripts/linux-desktop.py type \"Hello World\""
      },
      {
        "title": "screenshot [path]",
        "body": "Capture a screenshot of the entire screen.\n\nExamples:\n\n# Save to default location (/tmp/screenshot_YYYYMMDD_HHMMSS.png)\npython3 scripts/linux-desktop.py screenshot\n\n# Save to custom path\npython3 scripts/linux-desktop.py screenshot ~/desktop.png"
      },
      {
        "title": "window [window_id] [path]",
        "body": "Capture a screenshot of a specific window.\n\nExamples:\n\n# Screenshot active window\npython3 scripts/linux-desktop.py window\n\n# Screenshot specific window\npython3 scripts/linux-desktop.py window 0x12345678 ~/window.png"
      },
      {
        "title": "active",
        "body": "Get information about the currently active window.\n\npython3 scripts/linux-desktop.py active\n# Output: 🖥️ Active Window\n#         ID: 0x12345678\n#         Title: Terminal"
      },
      {
        "title": "list",
        "body": "List all visible windows.\n\npython3 scripts/linux-desktop.py list\n# Output: 🪟 Found 5 windows:\n#         1. 0x12345678 - Terminal\n#         2. 0x87654321 - Chrome"
      },
      {
        "title": "move <x> <y>",
        "body": "Move mouse cursor to specified coordinates.\n\nExamples:\n\npython3 scripts/linux-desktop.py move 100 200\n# Moves mouse to (100, 200)\n\npython3 scripts/linux-desktop.py move 500 300\n# Moves mouse to center of 1000x600 area"
      },
      {
        "title": "click [button]",
        "body": "Click mouse button at current cursor position.\n\nButton values:\n\n1 - Left button (default)\n2 - Middle button\n3 - Right button\n\nExamples:\n\npython3 scripts/linux-desktop.py click\n# Left click\n\npython3 scripts/linux-desktop.py click 3\n# Right click"
      },
      {
        "title": "type <text>",
        "body": "Type text at current cursor position (must be in focused window).\n\nExamples:\n\npython3 scripts/linux-desktop.py type \"Hello World\"\n\npython3 scripts/linux-desktop.py type \"ls -la\"\n\npython3 scripts/linux-desktop.py type \"sudo apt update\""
      },
      {
        "title": "key <keyspec>",
        "body": "Press keyboard keys.\n\nCommon keys:\n\nReturn - Enter key\nEscape - Escape key\nTab - Tab key\nBackSpace - Backspace\nDelete - Delete\nUp, Down, Left, Right - Arrow keys\nHome, End, Page_Up, Page_Down\nF1 through F12\nCtrl+c, Ctrl+v, Ctrl+a, Ctrl+z - Key combinations\n\nExamples:\n\npython3 scripts/linux-desktop.py key Return\n\npython3 scripts/linux-desktop.py key Escape\n\npython3 scripts/linux-desktop.py key Ctrl+a\n\npython3 scripts/linux-desktop.py key F5"
      },
      {
        "title": "screen",
        "body": "Get screen information.\n\npython3 scripts/linux-desktop.py screen\n# Output: 🖥️ Screen Info\n#         Resolution: 1920x1080"
      },
      {
        "title": "Basic Automation",
        "body": "# Move mouse, click, type, and press enter\npython3 scripts/linux-desktop.py move 100 100\npython3 scripts/linux-desktop.py click\npython3 scripts/linux-desktop.py type \"ls -la\"\npython3 scripts/linux-desktop.py key Return"
      },
      {
        "title": "Web Search Automation",
        "body": "# Open browser, navigate to Google, search\npython3 scripts/linux-desktop.py move 100 50\npython3 scripts/linux-desktop.py click\npython3 scripts/linux-desktop.py type \"https://www.google.com\"\npython3 scripts/linux-desktop.py key Return\nsleep 2\npython3 scripts/linux-desktop.py type \"how to make money online\"\npython3 scripts/linux-desktop.py key Return"
      },
      {
        "title": "Screenshot Workflow",
        "body": "# Take screenshot before and after action\npython3 scripts/linux-desktop.py screenshot /tmp/before.png\npython3 scripts/linux-desktop.py key F5  # Refresh\nsleep 1\npython3 scripts/linux-desktop.py screenshot /tmp/after.png"
      },
      {
        "title": "Tips",
        "body": "Always check the active window before typing\nUse sleep commands between actions for reliability\nTake screenshots to verify state changes\nTest commands one by one before building complex workflows\nUse window list to find specific window IDs for targeting"
      },
      {
        "title": "Troubleshooting",
        "body": "\"Command not found\" errors:\n\nsudo apt-get install scrot xdotool xclip x11-utils x11-apps\n\nPermission denied:\n\nEnsure you're running in a graphical session (X11 or Wayland)\nSome actions require focus on the target window\n\nMouse doesn't move:\n\nCheck if another application is grabbing the mouse\nTry moving the mouse manually to see if it's responsive"
      },
      {
        "title": "Security Notes",
        "body": "This skill can control your desktop - use with caution\nDon't automate sensitive actions without verification\nAlways review automation scripts before running"
      }
    ],
    "body": "Linux Desktop Control\n\nAutomate and control your Linux desktop using command-line tools. Capture screenshots, control mouse/keyboard, and manage windows.\n\nWhen to Use\nTake screenshots of screen or specific windows\nAutomate mouse movements and clicks\nSimulate keyboard input\nManage and interact with windows\nBuild desktop automation workflows\nPrerequisites\n\nInstall required tools:\n\nsudo apt-get install scrot xdotool xclip x11-utils x11-apps\n\nQuick Start\nTake Screenshot\npython3 scripts/linux-desktop.py screenshot\n# Output: ~/screenshot_20240224_203901.png\n\nList Windows\npython3 scripts/linux-desktop.py list\n\nMove Mouse and Click\npython3 scripts/linux-desktop.py move 500 300\npython3 scripts/linux-desktop.py click\n\nType Text\npython3 scripts/linux-desktop.py type \"Hello World\"\n\nCommands\nscreenshot [path]\n\nCapture a screenshot of the entire screen.\n\nExamples:\n\n# Save to default location (/tmp/screenshot_YYYYMMDD_HHMMSS.png)\npython3 scripts/linux-desktop.py screenshot\n\n# Save to custom path\npython3 scripts/linux-desktop.py screenshot ~/desktop.png\n\nwindow [window_id] [path]\n\nCapture a screenshot of a specific window.\n\nExamples:\n\n# Screenshot active window\npython3 scripts/linux-desktop.py window\n\n# Screenshot specific window\npython3 scripts/linux-desktop.py window 0x12345678 ~/window.png\n\nactive\n\nGet information about the currently active window.\n\npython3 scripts/linux-desktop.py active\n# Output: 🖥️ Active Window\n#         ID: 0x12345678\n#         Title: Terminal\n\nlist\n\nList all visible windows.\n\npython3 scripts/linux-desktop.py list\n# Output: 🪟 Found 5 windows:\n#         1. 0x12345678 - Terminal\n#         2. 0x87654321 - Chrome\n\nmove <x> <y>\n\nMove mouse cursor to specified coordinates.\n\nExamples:\n\npython3 scripts/linux-desktop.py move 100 200\n# Moves mouse to (100, 200)\n\npython3 scripts/linux-desktop.py move 500 300\n# Moves mouse to center of 1000x600 area\n\nclick [button]\n\nClick mouse button at current cursor position.\n\nButton values:\n\n1 - Left button (default)\n2 - Middle button\n3 - Right button\n\nExamples:\n\npython3 scripts/linux-desktop.py click\n# Left click\n\npython3 scripts/linux-desktop.py click 3\n# Right click\n\ntype <text>\n\nType text at current cursor position (must be in focused window).\n\nExamples:\n\npython3 scripts/linux-desktop.py type \"Hello World\"\n\npython3 scripts/linux-desktop.py type \"ls -la\"\n\npython3 scripts/linux-desktop.py type \"sudo apt update\"\n\nkey <keyspec>\n\nPress keyboard keys.\n\nCommon keys:\n\nReturn - Enter key\nEscape - Escape key\nTab - Tab key\nBackSpace - Backspace\nDelete - Delete\nUp, Down, Left, Right - Arrow keys\nHome, End, Page_Up, Page_Down\nF1 through F12\nCtrl+c, Ctrl+v, Ctrl+a, Ctrl+z - Key combinations\n\nExamples:\n\npython3 scripts/linux-desktop.py key Return\n\npython3 scripts/linux-desktop.py key Escape\n\npython3 scripts/linux-desktop.py key Ctrl+a\n\npython3 scripts/linux-desktop.py key F5\n\nscreen\n\nGet screen information.\n\npython3 scripts/linux-desktop.py screen\n# Output: 🖥️ Screen Info\n#         Resolution: 1920x1080\n\nAutomation Examples\nBasic Automation\n# Move mouse, click, type, and press enter\npython3 scripts/linux-desktop.py move 100 100\npython3 scripts/linux-desktop.py click\npython3 scripts/linux-desktop.py type \"ls -la\"\npython3 scripts/linux-desktop.py key Return\n\nWeb Search Automation\n# Open browser, navigate to Google, search\npython3 scripts/linux-desktop.py move 100 50\npython3 scripts/linux-desktop.py click\npython3 scripts/linux-desktop.py type \"https://www.google.com\"\npython3 scripts/linux-desktop.py key Return\nsleep 2\npython3 scripts/linux-desktop.py type \"how to make money online\"\npython3 scripts/linux-desktop.py key Return\n\nScreenshot Workflow\n# Take screenshot before and after action\npython3 scripts/linux-desktop.py screenshot /tmp/before.png\npython3 scripts/linux-desktop.py key F5  # Refresh\nsleep 1\npython3 scripts/linux-desktop.py screenshot /tmp/after.png\n\nTips\nAlways check the active window before typing\nUse sleep commands between actions for reliability\nTake screenshots to verify state changes\nTest commands one by one before building complex workflows\nUse window list to find specific window IDs for targeting\nTroubleshooting\n\n\"Command not found\" errors:\n\nsudo apt-get install scrot xdotool xclip x11-utils x11-apps\n\n\nPermission denied:\n\nEnsure you're running in a graphical session (X11 or Wayland)\nSome actions require focus on the target window\n\nMouse doesn't move:\n\nCheck if another application is grabbing the mouse\nTry moving the mouse manually to see if it's responsive\nSecurity Notes\nThis skill can control your desktop - use with caution\nDon't automate sensitive actions without verification\nAlways review automation scripts before running"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ouyangAbel/linux-desktop",
    "publisherUrl": "https://clawhub.ai/ouyangAbel/linux-desktop",
    "owner": "ouyangAbel",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/linux-desktop",
    "downloadUrl": "https://openagent3.xyz/downloads/linux-desktop",
    "agentUrl": "https://openagent3.xyz/skills/linux-desktop/agent",
    "manifestUrl": "https://openagent3.xyz/skills/linux-desktop/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/linux-desktop/agent.md"
  }
}