# Computer Use

> Use when a user asks to inspect, navigate, or operate an explicitly allowed macOS application through the blade-computer-use MCP tools.

- Skill: `echovic/computer-use` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add echovic/computer-use`
- Raw SKILL.md: https://api.skillmd.com/api/skills/echovic/computer-use/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: echovic (https://skillmd.com/u/echovic)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/echovic/computer-use

---


# Computer Use

Operate one allowed macOS app at a time. Treat every observation revision as a single-use capability for exactly one action.

## Workflow

1. Call `list_apps` and identify the target bundle identifier.
2. Call `observe` for that app. Use `element_index` when a suitable AX node exists; use window-relative coordinates only as a fallback.
3. Confirm immediately before impactful actions such as sending, submitting, purchasing, deleting, publishing, or changing permissions.
4. Perform one `click`, `type_text`, `press_key`, or `scroll` with the revision returned by that observation.
5. Observe after every action. Never reuse a revision or assume the interface remained unchanged.

If an action reports a stale or consumed revision, observe again and reassess the current interface. Do not replay the old action blindly.

## Tools

| Tool | Purpose |
| --- | --- |
| `list_apps` | List running GUI apps and bundle identifiers. |
| `observe` | Return the current AX tree, revision, and optional screenshot. |
| `click` | Click an AX element or window-relative coordinate. |
| `type_text` | Type Unicode text into the focused non-secure field. |
| `press_key` | Press a supported key with optional modifiers. |
| `scroll` | Scroll at an element, coordinate, or window center. |

## Safety

- Stay within the app the user named and the configured `CUA_ALLOWED_APPS` policy.
- Explain when Accessibility or Screen Recording permission is missing; do not weaken the policy to bypass it.
- Never target `loginwindow`, `SecurityAgent`, password fields, or other secure input surfaces.
- Pause when the visible state differs from the user's request or when physical user input changes the target.
- Prefer a purpose-built API or CLI when it can complete the task with less UI access.

## Common Mistakes

- Reusing a revision: observe again before retrying.
- Guessing screen coordinates from an old screenshot: use the current AX element index first.
- Chaining several actions from one observation: one observation permits one action only.
- Treating a successful input event as task completion: verify the resulting state with `observe`.

