# Setup Mac2

> Prepare and verify Appium Mac2 for native macOS automation by validating Node/Appium, macOS and Xcode tooling, driver installation, doctor output, privacy authorization boundaries, and server smoke evidence. Use after the setup Skill selects Mac2. Do not use for an existing Mac2 runtime failure after prerequisites pass.

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

---


# Mac2 Setup Workflow

## Routing

Prepare only the Appium Mac2 route on macOS. Use driver-specific official
guidance for an existing runtime failure after setup passes.

## Required inputs

Confirm macOS as the host and target, global `appium` mode or explicitly
requested local `npx appium` mode, Xcode tooling state, permissions, and any
required privacy authorization state.

## Workflow

1. Load the global command profile by default or the local profile only when
   explicitly requested.
2. Load the macOS and Mac2 profiles, shared Appium setup basics, Xcode
   command-line-tools Context, and Mac2 decision, doctor, and smoke references.
3. Run `node tools/appium/setup/scripts/check-mac2-env.mjs --format summary --report auto`; add
   `--appium-mode local` only for explicitly requested local mode. Require
   top-level `summary.requiredOk: true`.
   Apply required fixes in technical dependency order and rerun affected checks.
   If the gate remains unresolved, report `blocked` with evidence and the next
   action. Load the matching example only when needed.
4. Verify the direct doctor output reports `0 required fixes needed` using
   `appium driver doctor mac2`, or
   `npx --no-install appium driver doctor mac2` in local mode.
5. Run `node tools/appium/setup/scripts/smoke-appium-server.mjs --driver mac2 --report auto`;
   add `--appium-mode local` only in local mode. Require
   `summary.requiredOk: true` for server readiness, driver evidence, and
   cleanup. The smoke reference documents target-specific options.

## Mac2 setup safety and approval constraints

- Require macOS.
- Ask before privileged commands, Xcode license or first-launch changes, or
  privacy-setting changes.
- Preserve the selected command mode and working Xcode and driver
  installations.

## Completion criteria

- `xcodebuild -version` and `xcode-select -p` succeed.
- Xcode license and first-launch requirements are handled.
- Appium succeeds in the selected command mode and the installed list includes
  `mac2`.
- `appium driver doctor mac2` reports `0 required fixes needed`.
- Required privacy permissions are user-approved when session startup needs
  them.
- `/status` succeeds and logs list `mac2`.

## Evidence boundary

Report Xcode tooling, Appium and driver versions, helper and doctor summaries,
privacy authorization blockers, `/status`, server driver evidence, and cleanup.

## Self-Improvement Prompt

Before the final response, report any missing, ambiguous, outdated, or
retry-causing Mac2 setup instruction with its asset path and proposed wording.
Leave unrelated assets unchanged.

