Agent skill

Firefox

by meain in meain/dotfiles

Control Firefox browser on macOS: open URLs, close/switch tabs, get active tab info, focus Firefox, send keystrokes.

MITAuto-check passed

Install Firefox

skills CLI
$ npx skills add meain/dotfiles --skill firefox -a claude-code

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

GitHub CLI
$ gh skill install meain/dotfiles firefox --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/meain/dotfiles.git skills-src && mkdir -p .claude/skills && cp -r skills-src/agents/.agents/skills/firefox .claude/skills/firefox && 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
firefox
GitHub stars
285
Token cost
~991 tokens
SKILL.md length
180 words
Files
1
Skills in repo
36
Repo updated
First seen
Licence
MIT

At a glance

Control Firefox browser on macOS: open URLs, close/switch tabs, get active tab info, focus Firefox, send keystrokes.

  • Asked to open a link in Firefox
  • SKILL.md covers What works / doesn't, Snippets and Important: always confirm…
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Switch to a tab

What it does

Firefox is an agent skill from meain/dotfiles. Control Firefox browser on macOS: open URLs, close/switch tabs, get active tab info, focus Firefox, send keystrokes. Use when asked to open a link in Firefox, close a tab, switch to a tab, find what's open in Firefox, or automate any browser action.

Its SKILL.md is about 990 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with macOS. The repository describes itself as: If there is a shell, there is a way! The licence is MIT.

When your agent uses it

  • Asked to open a link in Firefox
  • Switch to a tab
  • Find whats open in Firefox
  • Automate any browser action

Example prompts

  • “/firefox”

What it can do on your machine

Read from SKILL.md and the folder at commit f469fb6. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are applescript).

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

  • Network

    No URLs in SKILL.md.

    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

Firefox loads about 991 tokens when it runs. Until then it costs about 64 tokens; SKILL.md has 180 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~64
When it runs · the whole SKILL.md, loaded when a task matches
~991

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 meain/dotfiles at commit f469fb6, republished under its MIT licence (© meain). 180 words, ~991 tokens.

Download SKILL.mdSave it as .claude/skills/firefox/SKILL.md (or your agent's skills folder).
name
firefox
description
Control Firefox browser on macOS: open URLs, close/switch tabs, get active tab info, focus Firefox, send keystrokes. Use when asked to open a link in Firefox, close a tab, switch to a tab, find what's open in Firefox, or automate any browser action.
user_invocable
true

Firefox Control

Automate Firefox via AppleScript + System Events UI scripting.

All osascript calls require dangerouslyDisableSandbox: true.

What works / doesn't

Works natively:

  • Open a URL (new tab)
  • Get active tab title per window
  • Close a window
  • Window properties (bounds, visibility, minimize)
  • Activate/focus Firefox

Works via UI scripting (System Events):

  • Close current tab (Cmd+W)
  • Switch to a tab by name (%<query> in address bar)
  • Get current tab URL (Cmd+L → select all → copy)
  • Any keyboard shortcut / menu item

Does NOT work:

  • Enumerate all tabs in a window (Firefox doesn't expose tabs as AppleScript objects)
  • Get URLs without focusing the tab first

Snippets

Open a URL
applescript
tell application "Firefox"
  activate
  open location "https://example.com"
end tell
Get active tab titles (one per window)
applescript
tell application "Firefox"
  set names to {}
  repeat with i from 1 to (count windows)
    try
      set end of names to (i as string) & ": " & name of window i
    end try
  end repeat
  return names
end tell
Close a window by index
applescript
tell application "Firefox"
  close window 2
end tell
Get current tab URL
applescript
tell application "Firefox"
  activate
end tell
delay 0.3
tell application "System Events"
  tell process "Firefox"
    keystroke "l" using command down
    delay 0.3
    keystroke "a" using command down
    delay 0.1
    keystroke "c" using command down
    delay 0.2
  end tell
end tell
do shell script "pbpaste"
Switch to a tab by name / URL fragment
applescript
-- Uses Firefox's built-in tab search: type "% <query>" in address bar
-- Must open a new tab first so the address bar is focused and ready
tell application "Firefox"
  activate
end tell
delay 0.5
tell application "System Events"
  tell process "Firefox"
    keystroke "t" using command down  -- open new tab (address bar auto-focused)
    delay 1
    keystroke "% YOUR_QUERY_HERE"
    delay 1.5
    key code 125  -- arrow down to first result
    delay 0.5
    key code 36   -- Enter to switch
  end tell
end tell
Close a tab by URL fragment
applescript
-- Open a new tab, search for the tab, switch to it, then close it
tell application "Firefox"
  activate
end tell
delay 0.5
tell application "System Events"
  tell process "Firefox"
    keystroke "t" using command down
    delay 1
    keystroke "% YOUR_QUERY_HERE"
    delay 1.5
    key code 125  -- arrow down to first result
    delay 0.5
    key code 36   -- Enter to switch to the found tab
    delay 0.8
    keystroke "w" using command down  -- close it
  end tell
end tell
Close the current tab
applescript
tell application "Firefox"
  activate
end tell
delay 0.2
tell application "System Events"
  tell process "Firefox"
    keystroke "w" using command down
  end tell
end tell
Send any keyboard shortcut
applescript
tell application "Firefox"
  activate
end tell
delay 0.2
tell application "System Events"
  tell process "Firefox"
    keystroke "r" using command down  -- e.g. Cmd+R to reload
  end tell
end tell

Important: always confirm before closing

Before closing any tab or window, confirm with the user which one to close. Prefer identifying by title. Never assume which window index is which without first listing window names.

To identify windows before acting:

applescript
tell application "Firefox"
  set names to {}
  repeat with i from 1 to (count windows)
    try
      set end of names to (i as string) & ": " & name of window i
    end try
  end repeat
  return names
end tell

© meain, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in agents/.agents/skills/firefox of meain/dotfiles.

Open the folder on GitHubat commit f469fb6

Compare with similar skills

Firefox 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.

Firefox compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Firefox this skillmeain/dotfiles285—~991Automated safety check: PassMIT
Site ArchitectureAvdLee/RocketSimApp80210 repos~3.3kAutomated safety check: PassCustom licence
macOS Spm App PackagingDimillian/Skills4k5 repos~1.2kAutomated safety check: PassMIT
Orca iOS Simulator Controlstablyai/orca87k1 repos~584Automated safety check: PassApache-2.0
Mole Bug Patternstw93/Mole69k—~2kAutomated safety check: PassGPL-3.0
Disk Storage AnalyzerKKKKhazix/khazix-skills21k1 repos~1.4kAutomated safety check: PassMIT

Similar skills

  • Site Architecture

    AvdLee/RocketSimApp

    When the user wants to plan, map, or restructure their website's page hierarchy, navigation, URL structure, or internal linking.

    802 GitHub starsUsed in 10 repos~3.3k tokens
    Marketing & SEOAuto-check passed
  • macOS Spm App Packaging

    Dimillian/Skills

    Scaffold, build, and package SwiftPM-based macOS apps without an Xcode project.

    4k GitHub starsUsed in 5 repos~1.2k tokens
    MobileAuto-check passed
  • iOS Simulator control from inside Orca, with the live device view in Orca's emulator pane. Use when driving a booted Apple Simulator on macOS: taps, gestures…

    87k GitHub starsUsed in 1 repo~584 tokens
    MobileAuto-check passed
  • A catalog of recurring bug shapes in the Mole Mac cleaner, used to review safety-sensitive diffs for deletion safety, unbounded commands, shell traps and weak tests.

    69k GitHub stars~2k tokensUpdated today
    DevelopmentAuto-check passed
  • Disk Storage Analyzer

    KKKKhazix/khazix-skills

    Scans a Mac or Windows PC read-only to find what fills the disk, grades each item by how safe it is to clean and builds an interactive HTML report.

    21k GitHub starsUsed in 1 repo~1.4k tokens
    Productivity & AutomationAuto-check passed
  • cmux Diagnostics

    manaflow-ai/cmux

    Runs a read-only health check for cmux and explains what it finds, covering the CLI and socket, settings, agent hooks, session restore and notifications.

    28k GitHub starsUsed in 1 repo~819 tokens
    Productivity & AutomationAuto-check passed

More from meain/dotfiles

All 36 skills in this repo
  • Recall

    meain/dotfiles

    Search past Claude Code and Codex sessions. An agent skill from meain/dotfiles.

    285 GitHub starsUsed in 1 repo~684 tokens
    Auto-check passed
  • Grill With Docs

    meain/dotfiles

    Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise.

    285 GitHub starsUsed in 21 repos~875 tokens
    Auto-check passed
  • Backlog

    meain/dotfiles

    Daily backlog management — full planning review OR add a single entry from a URL.

    285 GitHub stars~3k tokensUpdated 1 mo ago
    Auto-check passed
  • Concern Review

    meain/dotfiles

    Generate an interactive local HTML review page for a large PR or diff, grouping the changed files by logical concern (not just by file) so a reviewer can go through one theme at a time instead of a…

    285 GitHub stars~2.2k tokensUpdated 1 mo ago
    Auto-check passed
  • My Weekly Report

    meain/dotfiles

    Generate a concise weekly status update in team format. An agent skill from meain/dotfiles.

    285 GitHub stars~2.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Web Search

    meain/dotfiles

    Search the web using lynx and DuckDuckGo. An agent skill from meain/dotfiles.

    285 GitHub stars~830 tokensUpdated 1 mo ago
    Auto-check passed

Works with

Questions about Firefox

What does Firefox do?

Control Firefox browser on macOS: open URLs, close/switch tabs, get active tab info, focus Firefox, send keystrokes. Firefox is an agent skill from meain/dotfiles. Control Firefox browser on macOS: open URLs, close/switch tabs, get active tab info, focus Firefox, send keystrokes.

When should I use Firefox?

Firefox fits situations like: asked to open a link in Firefox; switch to a tab; find whats open in Firefox; automate any browser action.

How do I install Firefox in Claude Code?

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

How do I install Firefox in Codex?

Run `npx skills add meain/dotfiles --skill firefox -a codex`. Or copy the skill folder (agents/.agents/skills/firefox in meain/dotfiles) into .agents/skills/firefox in your project. Codex loads it when a task matches its description.

Can I use Firefox 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 meain/dotfiles --skill firefox -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/firefox, .gemini/skills/firefox, .github/skills/firefox and .opencode/skills/firefox in your project.

What does Firefox need to run?

SKILL.md names no scripts, command-line tools or credentials: Firefox is instructions for the agent only.

Does Firefox access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Firefox 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 Firefox use?

Firefox is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Firefox use?

About 991 tokens (SKILL.md is roughly 4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Firefox?

Skills that share tags, products or a category with Firefox: Site Architecture (AvdLee/RocketSimApp, 802 stars), macOS Spm App Packaging (Dimillian/Skills, 4k stars), Orca iOS Simulator Control (stablyai/orca, 87k stars) and Mole Bug Patterns (tw93/Mole, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Firefox?

meain (a GitHub user) maintains it in meain/dotfiles, which has 285 GitHub stars. The repository holds 36 skills in this directory. The repository was last updated on September 5, 2026.

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