Back to skills
SkillHub ClubShip Full StackFull StackFrontendTesting

steve

Use the steve CLI to automate macOS apps via Accessibility APIs. Use when you need to drive Mac UI (apps, windows, menus, elements), run UI smoke tests, or script interactions using steve commands and JSON output.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
154
Hot score
96
Updated
March 20, 2026
Overall rating
C2.9
Composite score
2.9
Best-practice grade
S96.0

Install command

npx @skill-hub/cli install mikker-steve-steve

Repository

mikker/steve

Skill path: skills/steve

Use the steve CLI to automate macOS apps via Accessibility APIs. Use when you need to drive Mac UI (apps, windows, menus, elements), run UI smoke tests, or script interactions using steve commands and JSON output.

Open repository

Best for

Primary workflow: Ship Full Stack.

Technical facets: Full Stack, Frontend, Testing.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: mikker.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install steve into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/mikker/steve before adding steve to shared team environments
  • Use steve for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: steve
description: Use the steve CLI to automate macOS apps via Accessibility APIs. Use when you need to drive Mac UI (apps, windows, menus, elements), run UI smoke tests, or script interactions using steve commands and JSON output.
---

# Steve

## Overview

Use the `steve` CLI to automate macOS applications through the Accessibility API. Prefer steve when you need deterministic, scriptable UI control with JSON responses.

## Quick Start

1. Assume the CLI is installed and available on `PATH`. If not, download it from the GitHub releases page: https://github.com/mikker/steve/releases
2. Ensure Accessibility permissions are granted for the terminal running steve.

```bash
steve apps
```

## Core Tasks

### Target an app or window

Use `--app`, `--bundle`, or `--pid` to select the app, and `--window` to scope to a window title.

```bash
steve elements --app "System Settings" --window "Settings"
```

### Find text reliably

Use `--text` to match visible text via `AXValue`, `AXDescription`, or `AXStaticText` title (case-insensitive substring).

```bash
steve find --text "Dictation Mode" --window "Settings"
```

### Click the right ancestor

After a text match, use `--ancestor-role` and `--click` to press a nearby container row/cell/button.

```bash
steve find --text "Dictation Mode" --window "Settings" --ancestor-role AXRow --click
```

### Common interactions

```bash
steve click --title "OK"
steve type "hello world"
steve key cmd+shift+p
steve menu "File" "New"
```

## Reliability Tips

- Prefer `--window` and `--text` over raw coordinates.
- Use `wait` for UI state changes before clicking:

```bash
steve wait --title "Results" --timeout 5
```
steve | SkillHub