Skip to content
Big Arrow on the Screen

Big Arrow on the ScreenSkill

Released
MIT
Repository

Summary

macOS CLI plus agent skill that lets Claude Code or Codex draw a big click-through arrow and sign on your screen to show you exactly what to click.

Features

  • Point at a UI element by label or coordinates
  • Click-through overlay that never takes focus
  • Self-removing arrows, or start/stop for persistent ones
  • Skill for Claude Code and Codex installed by the CLI

Install This Skill

Add this skill to your favorite AI agent in a few steps.

Any AI agent

This skill is plain instructions — it works with any assistant that accepts custom instructions or system prompts.

  1. Copy the skill content with the button below.
  2. Paste it into your agent's instruction file or system prompt (for example AGENTS.md, .cursorrules, or a custom instructions field).
  3. Ask the agent to apply the skill whenever the task matches.

Skill Content

Markdown Content

Copy this content and use it with your preferred AI agent

---
name: big-arrow
description: "Point at something on the human's macOS screen with a big arrow and a sign (\"Franz, click HERE\") using the bigarrow CLI. Use whenever the human has to look at, click, type into or choose a specific spot, button, field, window, tab or menu: show me where, point to it, which button, where do I click, zeig mir wo, guide me through this UI, the human must approve or sign something, or you need the human's hand and they may not be looking at the terminal. Mandatory when it is time-critical: a code that expires, a login or payment page that times out, a build waiting on the human."
license: MIT
allowed-tools: Bash(bigarrow:*)
metadata:
  short-description: "Point at the screen with a big arrow and a sign"
---

# big-arrow

`bigarrow` draws a click-through arrow with a sign, needs no permission and never takes the
focus. Point at the thing itself, a line in the terminal is easy to miss.

Needs bigarrow 0.4.6 or newer. If `bigarrow --version` prints an older one, run
`brew upgrade franzenzenhofer/tap/bigarrow` first: an old binary prints `{{value}}` as plain text.

```bash
open "x-apple.systempreferences:com.apple.preference.security?Privacy_ScreenCapture"
bigarrow start --element "Ghostty" --app "System Settings" --text "Franz, switch this on: Ghostty may record your screen" --say
# watch for the result (page changed, job continued, file appeared), then:
bigarrow stop
```

## Rules

- Open the exact pane or URL yourself, then point at the one control left for the human. Never
  walk them through menus. The human clicks; you point.
- The sign is one full sentence naming the action ("Franz, click Save", never "here"). When the
  click approves, grants, pays, signs, sends or deletes, add what happens: "Franz, click Pay:
  49 EUR to Hetzner". The human decides; the facts go on the sign, not only in the terminal.
- `--say` when the human may not be looking. Time-critical (code expires, page times out, job
  waits): `--color red --say` and say by when: "Franz, enter the 2FA code now, it expires in 60 s".
- Something to paste (a command you may not run, a URL, a code): put it on the sign as
  `{{value}}`. The human sees the value on a copy button (no braces); one click copies all of it
  and the arrow stays. Point at where it goes: "Franz, copy {{sudo xcodebuild -license accept}}
  and paste it here", then check that it was pasted.
- One arrow per step; `bigarrow stop` the moment the step is done. Arrows also end alone: after
  300 s, when your session exits, when the human answers (hook below).
- A click on the sign or shaft, except a copy button, removes the arrow (target clicks pass
  through). A removed arrow was seen: check the result, do not redraw. Skip `--close-button`
  unless asked.

## Targets

| You know | Use |
|---|---|
| A label in a native or Electron app | `--element "Allow" --app "System Settings"` |
| An app or one of its windows | `--window "Safari"` / `--window "Safari:Inbox"` |
| A spot inside a Chrome tab | `--rect x,y,w,h --app "Google Chrome:<tab title>"` |
| A spot in a screenshot | `--at X,Y --app "<App>"` |

Always pass `--app` (or `--window`) for a target inside an app: it is raised first and the arrow
hides while another app covers it. `App:title` matches a window title, else a tab. Coordinates
are global top-left points. Inside a Chrome page `--element` needs Chrome started with
`--force-renderer-accessibility`; otherwise convert `getBoundingClientRect()` to `--rect`
([reference.md](reference.md)). Unsure? `bigarrow elements --app X --match "allow"` or `--dry-run`.

## Errors

Exit 2 bad input, 3 target not found (the message lists what exists), 4 permission missing: run
`bigarrow doctor`. Accessibility (`--element`, `App:title`, `--until-click`) and Screen Recording
(`--window App:title`) belong to the app running your shell (Terminal, Ghostty, VS Code), never
to bigarrow. Open the pane the error names (macOS 27: Accessibility is "Device Control and Data
Access") and point at that app's switch.

More (pane ids, look and timing flags): [reference.md](reference.md).

## Setup once

`~/.claude/settings.json`: `"hooks": {"UserPromptSubmit": [{"hooks": [{"type": "command", "command": "bigarrow stop --hook"}]}]}`

Usage Instructions

Learn how to use this skill with different AI agents.

Generic Instructions

brew install franzenzenhofer/tap/bigarrow && bigarrow install-skill

Description

Big Arrow on the Screen (bigarrow) is a macOS command-line tool and an Agent Skill for Claude Code and Codex. When an agent needs a human to click, type or approve something, it can point at the button itself instead of printing instructions to a terminal: bigarrow draws a large arrow with a sign over every window, targeting an accessibility element by label (for example the Allow button in System Settings) or screen coordinates. Clicks pass through the overlay, keyboard focus stays put and the arrow removes itself; start/stop keep one on screen until the task continues. Install with Homebrew, then bigarrow install-skill. Needs macOS 14+. MIT licensed.

Install

Covered in the Weekly

Related Skills

Skill: Oil UI

by oil-oil

New

Interface-design skill that explores several distinct visual directions side by side, then refines the chosen one against real screenshots.

Skill: Anatomy

by Ryan (wheresryan22)

New

Agent skill that explains a technical idea by drawing it as a detailed, interactive isometric machine in SVG, with optional WebGL shaders and a 3D mode.

Skill: OpenQodex

by OpenQodex

New

Open source pre-push AI code review for Claude Code and Codex: scanners plus a separate reviewer that verifies every finding.

Skill: Open Code Review

by Alibaba Group

New

Alibaba's open-source AI code review CLI as an agent skill: line-level comments on diffs, branches and commits, with optional auto-fix.

Browse all skills →