Argus GUI Automation

VerifiedCaution

Desktop GUI automation via the Argus MCP server. Control computer, take screenshots, click, type, scroll, and manage applications.

Sby Skills Guide Bot
ProductivityIntermediate
7/23/2026
Claude CodeCursor
#gui-automation#desktop-control#mcp-server#screenshot#computer-use

Recommended for

Automated summary

This skill connects an agent to the Argus MCP server so it can observe and drive the desktop: screenshots, clicks, typing, scrolling, and launching or managing application windows.

Strengths

  • Enforces a disciplined screenshot → analyze → act loop, preventing blind clicks on guessed coordinates.
  • computer_batch merges several actions into a single call, cutting round-trips substantially.
  • Handles non-ASCII (CJK) text through the clipboard, using via_clipboard or write_clipboard followed by a paste shortcut.
  • Per-application permission tiers (read-only for browsers, click-without-typing for terminals, full access elsewhere) gated by an explicit request_access call.

Limitations

  • On macOS the terminal app needs both Accessibility and Screen Recording permissions, or the tools will fail.
  • Only one session can control the machine at a time; concurrent sessions hit a lock error.
  • The Argus MCP server must be built and declared locally in .mcp.json before anything works.
When to use it

Reach for it when a task genuinely has to happen inside a desktop GUI, such as clicking through a native app or capturing the current screen.

When not to use it

Skip it when the same outcome can be achieved with a script, CLI, or API, since GUI automation is slower and more brittle.

Security analysis

Caution
Quality score80/100

This is a legitimate GUI-automation skill wrapping a local Argus MCP server. It uses powerful tools (screen capture, clicking, typing, clipboard) for a clearly stated purpose and includes a request_access permission model plus per-app tiers (browsers read-only, terminals click-only) that mitigate misuse. Nothing destructive, exfiltrating, or obfuscated appears, but the clipboard and unused shell/file tools warrant a caution rating rather than safe.

Findings
  • •Declares broad desktop-control capabilities: full mouse/keyboard control, screenshots, and clipboard read/write, which can expose sensitive on-screen or clipboard data (passwords, tokens, messages)
  • •Bash, Read, Write, and Edit are declared in allowed-tools but never referenced in the skill body, granting file/shell capability beyond the documented GUI workflow
  • •Requires granting macOS Accessibility and Screen Recording TCC permissions, broadly elevating the host terminal's privileges
  • •No exfiltration, destructive commands, obfuscated payloads, or safety-disabling instructions present
How this analysis is made

Examples

Inspect the screen
Take a screenshot of my desktop and tell me which applications and windows are currently open.
Drive a browser
Request access to Safari, open news.ycombinator.com, and click on the top story link.
Fill in a native app
Open my Notes app, create a new note, and type 'Weekly sync — action items' followed by a Return.

name: argus-gui-automation description: | Desktop GUI automation via the Argus MCP server. Use when the user asks to control their computer, interact with desktop applications, take screenshots, click UI elements, type text, scroll, manage windows, or automate any GUI task. Triggers: "screenshot", "click on", "open app", "type into", "scroll", "computer use", "GUI automation", "desktop control", "操作电脑", "截屏", "点击", "打开应用", "输入文字". display-name: Argus GUI Automation version: 0.1.0 allowed-tools:

  • Bash
  • Read
  • Write
  • Edit
  • Glob
  • Grep
  • mcp__argus__request_access
  • mcp__argus__list_granted_applications
  • mcp__argus__screenshot
  • mcp__argus__zoom
  • mcp__argus__left_click
  • mcp__argus__double_click
  • mcp__argus__triple_click
  • mcp__argus__right_click
  • mcp__argus__middle_click
  • mcp__argus__mouse_move
  • mcp__argus__left_click_drag
  • mcp__argus__left_mouse_down
  • mcp__argus__left_mouse_up
  • mcp__argus__cursor_position
  • mcp__argus__scroll
  • mcp__argus__type
  • mcp__argus__key
  • mcp__argus__hold_key
  • mcp__argus__read_clipboard
  • mcp__argus__write_clipboard
  • mcp__argus__open_application
  • mcp__argus__switch_display
  • mcp__argus__computer_batch
  • mcp__argus__wait
  • mcp__argus__zoom compatibility: platforms: [macos, windows]

Argus GUI Automation

You have access to desktop GUI automation tools via the argus MCP server. These tools let you see and control the user's screen — take screenshots, click, type, scroll, and manage applications.

Setup

The argus MCP server must be configured in .mcp.json:

{
  "mcpServers": {
    "argus": {
      "command": "node",
      "args": ["<path-to>/argus-automation/dist/index.js"]
    }
  }
}

macOS Prerequisites

  • Grant Accessibility permission to your terminal app (System Settings → Privacy & Security → Accessibility)
  • Grant Screen Recording permission to your terminal app (System Settings → Privacy & Security → Screen Recording)
  • If permissions are missing, request_access will show the TCC state and guide the user

Windows Prerequisites

  • No special permissions needed
  • Windows 10/11 supported

Workflow

1. Request Access First

Before interacting with any application, you MUST call request_access with the app names:

request_access({ application_names: ["Safari", "Finder"], reason: "Navigate to a website" })

2. Screenshot → Analyze → Act

Always take a screenshot before acting. Never click blindly.

screenshot()  →  analyze the image  →  left_click({ coordinate: [x, y] })

3. Use Batch for Efficiency

Combine multiple actions into one call to reduce latency:

computer_batch({ actions: [
  { action: "left_click", coordinate: [100, 200] },
  { action: "type", text: "hello" },
  { action: "key", text: "Return" },
  { action: "screenshot" }
]})

Key Rules

  1. Always screenshot first — never guess coordinates. The screen may have changed.
  2. Request access before interaction — tools will error if the frontmost app isn't in your allowlist.
  3. Use batch for multi-step actions — reduces round-trips by 60%+.
  4. CJK text: use clipboard — for non-ASCII text, use type with via_clipboard: true, or manually write_clipboard + key("cmd+v") (macOS) / key("ctrl+v") (Windows).
  5. Coordinate system — coordinates are in logical pixels matching the screenshot dimensions. (0,0) is top-left.
  6. Permission tiers — browsers are "read" (visible only), terminals are "click" (no typing), other apps are "full".
  7. One session at a time — if another Claude session is using the computer, you'll get a lock error. Wait or ask the user to stop the other session.

Tool Quick Reference

| Tool | Purpose | |------|---------| | request_access | Grant permission to interact with apps | | screenshot | Capture the current screen | | zoom | High-res capture of a screen region | | left_click | Click at coordinates | | double_click | Double-click | | type | Type text (use via_clipboard for CJK) | | key | Press key combo ("cmd+c", "Return", etc.) | | scroll | Scroll at position | | computer_batch | Run multiple actions in one call | | open_application | Launch an app | | read_clipboard / write_clipboard | Clipboard access |

Platform Differences

| Feature | macOS | Windows | |---------|-------|---------| | Paste shortcut | Cmd+V | Ctrl+V | | App identifier | Bundle ID (com.apple.Safari) | EXE name (CHROME.EXE) | | Window hiding | Compositor-level (safe) | Minimize (disabled by default) | | Permissions | TCC (Accessibility + Screen Recording) | None needed | | File manager | Finder (always allowed) | Explorer (add to allowlist) |

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/argus-gui-automation-mrx3xxiu/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/argus-gui-automation-mrx3xxiu' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/argus-gui-automation-mrx3xxiu/download' --output '.skill-downloads/argus-gui-automation-mrx3xxiu/SKILL.md.part' && mv '.skill-downloads/argus-gui-automation-mrx3xxiu/SKILL.md.part' '.skill-downloads/argus-gui-automation-mrx3xxiu/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

Original excerpt: Setup

The argus MCP server must be configured in .mcp.json:

{
  "mcpServers": {
    "argus": {
      "command": "node",
      "args": ["<path-to>/argus-automation/dist/index.js"]
    }
  }
}

macOS Prerequisites

  • Grant Accessibility permission to your terminal app (System Settings → Privacy & Security → Accessibility)
  • Grant Screen Recording permission to your terminal app (System Settings → Privacy & Security → Screen Recording)
  • If permissions are missing, request_access will show the TCC state and guide the user

Windows Prerequisites

  • No special permissions needed
  • Windows 10/11 supported

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/argus-gui-automation-mrx3xxiu/SKILL.md' && test -s '.skill-downloads/argus-gui-automation-mrx3xxiu/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/argus-gui-automation' && cp -R '.skill-downloads/argus-gui-automation-mrx3xxiu' '.claude/skills/argus-gui-automation'

Cursor
test -f '.skill-downloads/argus-gui-automation-mrx3xxiu/SKILL.md' && test -s '.skill-downloads/argus-gui-automation-mrx3xxiu/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/argus-gui-automation' && cp -R '.skill-downloads/argus-gui-automation-mrx3xxiu' '.cursor/skills/argus-gui-automation'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/argus-gui-automation-mrx3xxiu'

openskills read 'argus-gui-automation-mrx3xxiu'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/argus-gui-automation-mrx3xxiu/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills