Agent skill

Update Safari Extension

by voyager-crew in voyager-crew/voyager

Build, reload, and verify Voyager in Safari for web-extension changes, native integration, or signed-app testing while preserving installed apps and extension data.

GPL-3.0Auto-check passed

Install Update Safari Extension

skills CLI
$ npx skills add voyager-crew/voyager --skill update-safari-extension -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install voyager-crew/voyager update-safari-extension --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/voyager-crew/voyager.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/update-safari-extension .claude/skills/update-safari-extension && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
update-safari-extension
GitHub stars
20k
Token cost
~1.2k tokens
SKILL.md length
602 words
Files
4 (incl. references)
Skills in repo
7
Repo updated
First seen
Licence
GPL-3.0

At a glance

Build, reload, and verify Voyager in Safari for web-extension changes, native integration, or signed-app testing while preserving installed apps and extension data.

  • Works in 4 steps: Run bun run build:safari. This builds… → In Safari Settings > Developer >… → Reload the target Gemini, AI Studio,… → …
  • SKILL.md covers Choose the runtime route, Default: temporary extension, Safety and recovery and Evidence and completion
  • Calls bun, git and gemini

What it does

Update Safari Extension is an agent skill from voyager-crew/voyager. Build, reload, and verify Voyager in Safari for web-extension changes, native integration, or signed-app testing while preserving installed apps and extension data.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `agents/openai.yaml`, `references/native-app.md` and `references/native-behavior.md`).

It works with Chrome Extensions and OpenAI. The repository describes itself as: Enhancement suite for Gemini, AI Studio, Claude, ChatGPT & DeepSeek — plus a prompt manager for any website, DeepSeek Harness included. / 面向 Gemini、AI Studio、Claude、ChatGPT 与… The licence is GPL-3.0.

Example prompts

  • “/update-safari-extension”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Run bun run build:safari. This builds dist_safari and verifies Safari resource wiring.
  2. In Safari Settings > Developer > Temporary Extensions, click Voyager's Reload. If absent, choose Add Temporary Extension… and select…
  3. Reload the target Gemini, AI Studio, ChatGPT, or Claude tab once to load the current content script.
  4. Open the Voyager popup and test the changed behavior.

What it can do on your machine

Read from SKILL.md and the folder at commit e854e34. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • bun
    • git
    • gemini

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Update Safari Extension loads about 1.2k tokens when it runs, and up to ~3k if it reads all its reference files. Until then it costs about 47 tokens; SKILL.md has 602 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~47
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from voyager-crew/voyager at commit e854e34, republished under its GPL-3.0 licence (© voyager-crew). 602 words, ~1,216 tokens.

Download SKILL.mdSave it as .claude/skills/update-safari-extension/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
update-safari-extension
description
Build, reload, and verify Voyager in Safari for web-extension changes, native integration, or signed-app testing while preserving installed apps and extension data.

Update Safari Extension

Use the least invasive route that can test the change. A successful build and a successful live Safari check are separate evidence.

Choose the runtime route

Check git status --short --branch -uall and inspect Safari Settings > Developer/Extensions. Record whether Voyager is temporary or app-installed and enabled before changing it.

  • Web extension: TypeScript, React, CSS, manifest, or bundled assets that stay inside the extension use the temporary route below.
  • Native or signed app: Swift, entitlements, Sparkle, signing, packaging, or any call to browser.runtime.sendNativeMessage require native-app.md. Temporary extensions cannot launch the containing-app handler, including iCloud sync, Safari Google Drive authorization, and native notifications.
  • Native behavior: For Drive authorization, notification delivery/clicks, or account-scoped sync verification, also read native-behavior.md.

Default: temporary extension

  1. Run bun run build:safari. This builds dist_safari and verifies Safari resource wiring.
  2. In Safari Settings > Developer > Temporary Extensions, click Voyager's Reload. If absent, choose Add Temporary Extension… and select dist_safari.
  3. Reload the target Gemini, AI Studio, ChatGPT, or Claude tab once to load the current content script.
  4. Open the Voyager popup and test the changed behavior.

Safari removes temporary extensions after 24 hours or when Safari quits. Re-add dist_safari; a routine UI refresh does not require signed installation.

Safety and recovery

  • Preserve /Applications/Voyager.app and the legacy /Applications/Gemini Voyager.app. Replacing an installed app or changing distribution signing/provisioning requires an explicit signed-app test request. Local development profile refresh is covered by the native route.
  • Preserve Safari extension containers, preferences, storage, permissions, bundle identifiers, and versions; changing them is not a stale-build remedy.
  • Use Safari's Reload for normal refreshes. If it looks stale, verify the built asset, reload the target tab, and reopen the popup. For launch/URL routing failures or duplicate entries, use the read-only diagnosis in native-app.md.
  • Registration changes (pluginkit -r/-a or manual unregister/register) are targeted recovery only, with Safari closed, an exact stale/current path pair, and a recovery plan. Reuse explicit user authorization that covers this recovery; otherwise complete read-only diagnosis and prepare the plan before asking. A generic reload request does not authorize it.
  • Never bulk-reset LaunchServices or unregister/remove an app in /Applications without explicit permission. Avoid launching apps from Archives, backups, disk images, or old DerivedData; duplicate bundle identifiers can route Safari or custom URLs to the wrong copy.
  • Keep signing identities, provisioning-profile contents, Keychain data, Apple account details, notarization credentials, and CI secret values out of output and commits. Refer only to repository-documented environment-variable names. Keep generated apps, archives, DerivedData, and signed artifacts out of commits unless explicitly tracked.
  • If a feature disappears, stop the update attempt, preserve app and extension data, return to the previously working extension route, and verify the feature.
Show full SKILL.md (162 more words)Show less

Evidence and completion

Report the highest tier actually proven:

  1. Build: bun run build:safari passes.
  2. Artifact: expected JS/CSS/resources exist in dist_safari and the Xcode bundle wiring check passes.
  3. Loaded: Safari shows the intended temporary or containing-app extension enabled once, without an unexpected duplicate.
  4. Live behavior: the popup/page visibly shows the changed UI or behavior after reloading the target tab.
  5. State safety: pre-existing cards/settings remain visible. A missing card is not evidence of successful loading.

Inspect the reloaded popup for popup changes; reload the website for content-script changes; close and reopen the popup for background/native changes. Claim the latest build is loaded only after checking live behavior or a build-specific visible marker in Safari. A marker alone does not prove the changed behavior; report any unverified behavior or state safety.

A standalone popup tab has no source-tab account scope. For account-scoped sync checks or a toolbar popover dismissed before automation reaches its button, follow the testing boundaries in native-behavior.md.

© voyager-crew, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in .agents/skills/update-safari-extension of voyager-crew/voyager.

  • SKILL.md
  • agents/openai.yaml
  • references/native-app.md
  • references/native-behavior.md

Open the folder on GitHubat commit e854e34

Compare with similar skills

Update Safari Extension next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Update Safari Extension compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Update Safari Extension this skillvoyager-crew/voyager20k—~1.2kAutomated safety check: PassGPL-3.0
Geoflowyaojingang/GEOFlow3.8k—~722Automated safety check: PassAGPL-3.0
Live Extension UI Automationqixing-jk/all-api-hub4.9k—~2.7kAutomated safety check: PassAGPL-3.0
Md2docxYorick-Ryu/deep-share144—~1.9kAutomated safety check: PassCustom licence
Xsai SDKyusixian/moe-copy-ai145—~1.1kAutomated safety check: PassAGPL-3.0
Release ExtensionYorick-Ryu/deep-share144—~1.3kAutomated safety check: PassCustom licence

Similar skills

  • Geoflow

    yaojingang/GEOFlow

    Operate/develop GEOFlow CLI/Laravel/admin/API, topics/专题 and topic tasks, theme libraries/replication, sites/leads/Agent, channel sync and legacy yao-geoflow-cli/design/template migration.

    3.8k GitHub stars~722 tokensUpdated today
    Backend & APIsAuto-check passed
  • Live Extension UI Automation

    qixing-jk/all-api-hub

    Control, debug, and test the live dev browser extension UI (Options, Popup, Sidepanel) via CDP with persistent login states and accounts.

    4.9k GitHub stars~2.7k tokensUpdated today
    DevelopmentAuto-check passed
  • Md2docx

    Yorick-Ryu/deep-share

    Convert Markdown to Word (DOCX) documents. An agent skill from Yorick-Ryu/deep-share.

    144 GitHub stars~1.9k tokensUpdated 6 days ago
    Documents & OfficeAuto-check passed
  • Xsai SDK

    yusixian/moe-copy-ai

    xsAI SDK v0.4.x API reference - extra-small AI SDK with OpenAI-compatible API

    145 GitHub stars~1.1k tokensUpdated 6 mo ago
    Data & AnalyticsAuto-check passed
  • Release Extension

    Yorick-Ryu/deep-share

    Release browser extensions or similar small packaged apps by upgrading a semantic version, packaging build artifacts, creating a git commit and tag, pushing to the remote, and publishing a GitHub…

    144 GitHub stars~1.3k tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Geo Fundamentals

    wasp-lang/wasp

    Generative Engine Optimization for AI search engines (ChatGPT, Claude, Perplexity).

    19k GitHub starsUsed in 9 repos~861 tokens
    Marketing & SEOAuto-check passed

More from voyager-crew/voyager

  • Create Voyager Plugin

    voyager-crew/voyager

    Create or change a Voyager declarative plugin, site adapter, or native primitive.

    20k GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Release

    voyager-crew/voyager

    Prepare, publish, or recover a Voyager release. An agent skill from voyager-crew/voyager.

    20k GitHub stars~814 tokensUpdated today
    Auto-check passed
  • Voyager Contribute

    voyager-crew/voyager

    Prepare Voyager commits, pull requests, and contribution evidence, or claim an issue and check review readiness.

    20k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Verify In Browser

    voyager-crew/voyager

    Verify Voyager content-script or injected-CSS behavior in a live browser, including stale-build diagnosis.

    20k GitHub stars~886 tokensUpdated today
    Auto-check passed
  • Issue Review

    voyager-crew/voyager

    Investigate or fix a referenced Voyager GitHub issue, within the requested delivery scope.

    20k GitHub stars~289 tokensUpdated today
    Auto-check passed
  • PR Description

    voyager-crew/voyager

    Write or rewrite a Voyager pull request description. An agent skill from voyager-crew/voyager.

    20k GitHub stars~182 tokensUpdated today
    Auto-check passed

Questions about Update Safari Extension

What does Update Safari Extension do?

Build, reload, and verify Voyager in Safari for web-extension changes, native integration, or signed-app testing while preserving installed apps and extension data. Update Safari Extension is an agent skill from voyager-crew/voyager. Build, reload, and verify Voyager in Safari for web-extension changes, native integration, or signed-app testing while preserving installed apps and extension data.

How do I install Update Safari Extension in Claude Code?

Run `npx skills add voyager-crew/voyager --skill update-safari-extension -a claude-code`. Or copy the skill folder (.agents/skills/update-safari-extension in voyager-crew/voyager) into .claude/skills/update-safari-extension in your project. Claude Code loads it when a task matches its description.

How do I install Update Safari Extension in Codex?

Run `npx skills add voyager-crew/voyager --skill update-safari-extension -a codex`. Or copy the skill folder (.agents/skills/update-safari-extension in voyager-crew/voyager) into .agents/skills/update-safari-extension in your project. Codex loads it when a task matches its description.

Can I use Update Safari Extension in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add voyager-crew/voyager --skill update-safari-extension -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/update-safari-extension, .gemini/skills/update-safari-extension, .github/skills/update-safari-extension and .opencode/skills/update-safari-extension in your project.

What does Update Safari Extension need to run?

Going by SKILL.md and its folder, Update Safari Extension needs the command-line tools its instructions call (bun, git and gemini).

Does Update Safari Extension access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Update Safari Extension safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Update Safari Extension use?

Update Safari Extension is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Update Safari Extension use?

About 1.2k tokens (SKILL.md is roughly 4.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.7k tokens, read only when the agent opens those files.

What are the alternatives to Update Safari Extension?

Skills that share tags, products or a category with Update Safari Extension: Geoflow (yaojingang/GEOFlow, 3.8k stars), Live Extension UI Automation (qixing-jk/all-api-hub, 4.9k stars), Md2docx (Yorick-Ryu/deep-share, 144 stars) and Xsai SDK (yusixian/moe-copy-ai, 145 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Update Safari Extension?

voyager-crew (a GitHub organization) maintains it in voyager-crew/voyager, which has 20,349 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 10, 2026.

Source: voyager-crew/voyager on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.