# Setup Safari

> Prepare and verify Appium Safari on macOS by validating Node/Appium, Safari and safaridriver prerequisites, driver installation, optional doctor behavior, authorization boundaries, and server smoke evidence. Use after the setup Skill selects Safari. Do not use for an existing Safari runtime failure after prerequisites pass.

- Skill: `appium/setup-safari` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add appium/setup-safari`
- Raw SKILL.md: https://api.skillmd.com/api/skills/appium/setup-safari/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-safari

---


# Safari Setup Workflow

## Routing

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

## Required inputs

Confirm macOS as the host, desktop or simulator Safari target, global `appium`
mode or explicitly requested local `npx appium` mode, Safari automation state,
and permissions for authorization changes.

## Workflow

1. Load the global command profile by default or the local profile only when
   explicitly requested.
2. Load the macOS and Safari profiles, shared Appium setup basics, Safari
   prerequisites, and Safari decision, installation, and smoke references.
3. Run `node tools/appium/setup/scripts/check-safari-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 `appium driver doctor safari` reports `0 required fixes needed`, or
   record `not-supported` and require the install, list, Safari, and smoke
   gates instead. Use `npx --no-install appium ...` for the direct check in
   local mode.
5. Run `node tools/appium/setup/scripts/smoke-appium-server.mjs --driver safari --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.

## Safari setup safety and approval constraints

- Require macOS.
- Ask before privileged commands, browser installation, or enabling Safari
  automation.
- Preserve the selected command mode and working Safari and driver
  installations.

## Completion criteria

- `safaridriver --version` succeeds.
- Safari automation is enabled when needed and user-approved.
- Appium succeeds in the selected command mode and the installed list includes
  `safari`.
- Doctor reports `0 required fixes needed` when supported; unsupported doctor
  behavior is reported and does not replace install, list, or smoke gates.
- `/status` succeeds and logs list `safari`.

## Evidence boundary

Report macOS and Safari versions, `safaridriver` evidence, Appium and driver
versions, helper and doctor summaries, authorization blockers, `/status`,
server driver evidence, and cleanup.

## Self-Improvement Prompt

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

