一键导入
safari-cli
Safari browser automation via AppleScript. Use for navigating, extracting content, running JavaScript, and taking screenshots in Safari on macOS.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Safari browser automation via AppleScript. Use for navigating, extracting content, running JavaScript, and taking screenshots in Safari on macOS.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Manage and inspect UniFi Network controllers using uvx unifi-cli. Use for clients, network devices, switch ports, networks, events, controller health/info, and safe UniFi troubleshooting.
Query previous pi sessions to retrieve context, decisions, code changes, or other information. Use when you need to look up what happened in a parent session or any other session file.
Debug CSS override issues in Tailwind/DaisyUI/component-library projects. Use when styles do not apply as expected, active/hover states look wrong, `!important` does not win, `:where()` specificity is involved, or Tailwind `@layer`/generated CSS order may affect the cascade.
Manage Heroku apps, dynos, and add-ons via CLI and API. Deploy and scale applications.
Create BambuStudio-compatible 3MF files from STL models with embedded print settings. Supports presets for common scenarios (solid, fast, fine, strong) and per-setting overrides.
Create and render OpenSCAD 3D models. Generate preview images from multiple angles, extract customizable parameters, validate syntax, and export STL files for 3D printing platforms like MakerWorld.
| name | safari-cli |
| description | Safari browser automation via AppleScript. Use for navigating, extracting content, running JavaScript, and taking screenshots in Safari on macOS. |
Safari browser automation tools using AppleScript. Works with native macOS Safari.
First time setup - enable JavaScript automation:
Make scripts executable (if needed):
chmod +x {baseDir}/*.sh
Screenshot dependency: Requires the peekaboo skill. Install with: brew install steipete/tap/peekaboo
{baseDir}/safari-nav.sh https://example.com
{baseDir}/safari-nav.sh https://example.com --new
Navigate to URLs. Use --new to open in a new tab.
{baseDir}/safari-eval.sh 'document.title'
{baseDir}/safari-eval.sh 'document.querySelectorAll("a").length'
{baseDir}/safari-eval.sh 'Array.from(document.querySelectorAll("h1")).map(h => h.textContent)'
Execute JavaScript in the active tab. Returns the result.
{baseDir}/safari-screenshot.sh
Capture Safari window as PNG using Peekaboo. Returns the file path. Includes browser chrome (tabs, address bar).
For more screenshot options (Retina, specific windows, etc.), see the peekaboo skill.
{baseDir}/safari-content.sh
{baseDir}/safari-content.sh https://example.com
{baseDir}/safari-content.sh --no-reader https://docs.example.com
Extract readable content as markdown. Optionally navigate to URL first.
Uses Safari's native Reader mode when available for clean article extraction. Falls back to JavaScript DOM extraction when Reader is unavailable.
Options:
--no-reader - Skip Reader mode, use JavaScript extraction insteadWhen to use --no-reader:
Reader mode works best for articles and blog posts. For technical documentation (e.g., Tailwind CSS docs, MDN), use --no-reader to preserve code examples and technical details.
{baseDir}/safari-tabs.sh # List all tabs
{baseDir}/safari-tab.sh 1:3 # Switch to tab 3 of window 1
{baseDir}/safari-close.sh # Close current tab
{baseDir}/safari-close.sh 1:2 # Close specific tab
{baseDir}/safari-url.sh # Get current URL
{baseDir}/safari-back.sh # Go back
{baseDir}/safari-forward.sh # Go forward
{baseDir}/safari-reload.sh # Reload page
{baseDir}/safari-source.sh # Get HTML source
Capture and retrieve console output (log, warn, error, etc.) from the page.
{baseDir}/safari-console-install.sh # Install capture (run after page load)
{baseDir}/safari-console.sh # Get all captured messages
{baseDir}/safari-console.sh --clear # Get messages and clear buffer
{baseDir}/safari-console.sh error # Filter by type (log/warn/error/info/debug/uncaught)
{baseDir}/safari-console.sh --json # Output raw JSON
Workflow:
# 1. Navigate to page
{baseDir}/safari-nav.sh https://example.com
# 2. Install console capture
{baseDir}/safari-console-install.sh
# 3. Interact with the page, then retrieve logs
{baseDir}/safari-console.sh
Note: Console capture must be installed after each page navigation. It cannot capture messages that occurred before installation.
"JavaScript execution blocked" error:
"No Safari window open" error:
safari-nav.sh to open a URL"Peekaboo not installed" error:
brew install steipete/tap/peekaboo