{"id":"sdlll-claude-for-safari","name":"claude-for-safari","homepage":"https://safari.skilljam.dev","repo_url":"https://github.com/SDLLL/claude-for-safari","category":"automation","subcategories":[],"tags":["ai-agent","browser-automation","macos","safari","applescript","screencapture","skills"],"what_it_does":"Provides an AI “Skill” (installed via npx) that lets an agent control the user’s local Safari on macOS using AppleScript and macOS-native capabilities (including page interaction, tab listing/switching, JavaScript execution, and screenshots via screencapture).","use_cases":["Let an AI agent inspect what tabs/windows are open in Safari","Ask an agent to navigate to URLs, open new tabs/windows, and switch tabs","Enable the agent to read page content and extract information via AppleScript/JS","Allow form filling and page interaction (click/type/scroll) through scripted events","Provide visual context to the agent via Safari screenshots (foreground or background with permissions)"],"not_for":["Automating non-Safari browsers (Chrome/Firefox/others) — the project describes Safari-only support","Headless/background server automation (it relies on macOS UI automation and system permissions)","Use cases requiring a documented network API contract, auth model, or server-side isolation"],"best_when":"You want an AI agent to work with your existing Safari session on macOS (real user context), with OS-level permissions controlling access to automation and screenshots.","avoid_when":"You need a multi-platform/browser-agnostic solution or you cannot grant macOS automation/screen permissions; also avoid for handling highly sensitive browsing without strict user oversight.","alternatives":["Playwright-based solutions (e.g., Playwright MCP) for browser automation with separate sessions","Chrome-focused approaches (e.g., Chrome ACP) using extensions/proxying","Manual copy/paste or browser-agnostic read-only tooling that avoids interactive control"],"af_score":45.5,"security_score":52.8,"reliability_score":25.0,"package_type":"skill","discovery_source":["openclaw"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T15:39:28.262070+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":false,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["macOS system permission prompts for Automation (terminal controlling Safari)","macOS Screen Recording permission (optional, for background screenshots)"],"oauth":false,"scopes":false,"notes":"There is no API-layer auth (no tokens/scopes described). Access is mediated through macOS privacy/permission dialogs and the agent’s own confirmation flow in the hosting AI agent (e.g., Claude Code)."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"The repository is MIT-licensed and installed as a local “skill”; no service pricing is described. Costs would come from the user’s AI provider/agent usage, not from this package."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":45.5,"security_score":52.8,"reliability_score":25.0,"mcp_server_quality":0.0,"documentation_accuracy":75.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":70.0,"rate_limit_clarity":0.0,"tls_enforcement":100.0,"auth_strength":45.0,"scope_granularity":20.0,"dependency_hygiene":50.0,"secret_handling":50.0,"security_notes":"No network API is described; access is via local macOS automation permissions and user confirmation prompts from the hosting agent. The threat model is primarily local/agent-driven (risk of unintended clicks/navigation and exposure through screenshots), and it depends on macOS privacy settings. No details are provided about dependency scanning, secret handling practices, or structured error reporting.","uptime_documented":0.0,"version_stability":40.0,"breaking_changes_history":40.0,"error_recovery":20.0,"idempotency_support":"false","idempotency_notes":null,"pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Requires macOS automation permissions; first-run may require user confirmation in System Settings","Screenshot mode affects UX: foreground screenshot can briefly activate Safari (~0.3s) unless Screen Recording permission is granted","Operations are stateful (click/type/navigate), so retries may cause duplicate actions unless the agent adds safeguards","Safari-only support; behavior may vary by page complexity and dynamic web apps"]}}