Official agent skill

Profiler Analysis

by SAP in SAP/project-foxhound

Analyze Firefox performance profiles using the profiler-cli CLI tool.

OfficialGPL-3.0Auto-check passedDevelopment

Install Profiler Analysis

skills CLI
$ npx skills add SAP/project-foxhound --skill profiler-analysis -a claude-code

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

GitHub CLI
$ gh skill install SAP/project-foxhound profiler-analysis --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/SAP/project-foxhound.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/profiler-analysis .claude/skills/profiler-analysis && 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
profiler-analysis
GitHub stars
180
Used in
1 other repo
Token cost
~1.1k tokens
SKILL.md length
477 words
Files
19 (incl. references)
Skills in repo
10
Repo updated
First seen
Licence
GPL-3.0

At a glance

Analyze Firefox performance profiles using the profiler-cli CLI tool.

  • Works in 5 steps: Run profiler-cli guide first and read… → If $ARGUMENTS contains a profile path or… → Walk through the analysis interactively.… → …
  • Given a profiler.firefox.com
  • Calls npm
  • Share.firefox.dev link

What it does

Profiler Analysis is an agent skill from SAP/project-foxhound, published by the product's own GitHub organization. Analyze Firefox performance profiles using the profiler-cli CLI tool. Trigger when given a profiler.firefox.com or share.firefox.dev link, a local profile path, or when the user wants to investigate an issue in a Firefox profile. Always use this skill instead of WebFetch for Firefox profiler URLs; WebFetch only retrieves the profiler UI's HTML shell and cannot access profile data, whereas profiler-cli downloads and parses the actual profile into a local daemon that supports structured queries over stacks…

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 19 other files, including reference files (for example `references/firefox-macos-startup-font-initialization-cli.md`, `references/firefox-macos-startup-font-initialization.md` and `references/macos-extensions-hang-infinite-recursion-cli.md`).

It sits in Development, covering Performance optimization. The repository describes itself as: A web browser with dynamic data-flow tracking enabled in the Javascript engine and DOM, based on Mozilla Firefox (https://github.com/mozilla-firefox/firefox). It can be used to… The licence is GPL-3.0.

When your agent uses it

  • Given a profiler.firefox.com
  • Share.firefox.dev link
  • A local profile path
  • The user wants to investigate an issue in a Firefox profile

Example prompts

  • “/profiler-analysis”

Requirements

  • Node.js
  • Pre-approved tools (allowed-tools): Bash(profiler-cli:*), Bash(searchfox-cli:*), Bash(jq:*), Read, Grep, Glob

Workflow steps

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

  1. Run profiler-cli guide first and read the entire output. It is approximately 400 lines. The Bash tool may silently truncate long output…
  2. If $ARGUMENTS contains a profile path or URL, load it with profiler-cli load.
  3. Walk through the analysis interactively. Run commands and interpret the output.
  4. Suggest next steps based on what the output reveals.
  5. When output is large or complex, highlight the most actionable findings.

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash(profiler-cli:*)
    • Bash(searchfox-cli:*)
    • Bash(jq:*)
    • Read
    • Grep
    • Glob

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm

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

  • Network

    No URLs in SKILL.md. Its commands use npm, 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

Profiler Analysis loads about 1.1k tokens when it runs, and up to ~37k if it reads all its reference files. Until then it costs about 140 tokens; SKILL.md has 477 words of instructions outside code blocks.

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

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 SAP/project-foxhound at commit 9dcb850, republished under its GPL-3.0 licence (© SAP). 477 words, ~1,119 tokens.

Download SKILL.mdSave it as .claude/skills/profiler-analysis/SKILL.md (or your agent's skills folder). This skill also uses 18 other files; get the full folder from GitHub.
name
profiler-analysis
description
Analyze Firefox performance profiles using the profiler-cli CLI tool. Trigger when given a profiler.firefox.com or share.firefox.dev link, a local profile path, or when the user wants to investigate an issue in a Firefox profile. Always use this skill instead of WebFetch for Firefox profiler URLs; WebFetch only retrieves the profiler UI's HTML shell and cannot access profile data, whereas profiler-cli downloads and parses the actual profile into a local daemon that supports structured queries over stacks, markers, threads, and samples.
allowed-tools
Bash(profiler-cli:*), Bash(searchfox-cli:*), Bash(jq:*), Read, Grep, Glob
argument-hint
[profile path or URL]

You are helping a Mozilla Firefox engineer analyze a Firefox performance profile using the profiler-cli CLI tool. The user works on Firefox and has familiarity with the browser's internals, so you can use Firefox-specific terminology freely (e.g. Gecko, SpiderMonkey, Necko, content/parent process split, PBackground, etc.) without explaining it.

How to Help the User

When invoked:

  1. Run profiler-cli guide first and read the entire output. It is approximately 400 lines. The Bash tool may silently truncate long output, causing you to miss the command reference and analysis patterns that appear later in the guide, so read all of it before proceeding.
  2. If $ARGUMENTS contains a profile path or URL, load it with profiler-cli load.
  3. Walk through the analysis interactively. Run commands and interpret the output.
  4. Suggest next steps based on what the output reveals.
  5. When output is large or complex, highlight the most actionable findings.

If the URL is a profiler.firefox.com/from-file/... or profiler.firefox.com/from-browser/... link, stop and tell the user it cannot be loaded. These URLs store the profile data locally in the browser tab and are not accessible to anyone else. Ask the user to either upload the profile using the share button in the Firefox Profiler UI (which produces a share.firefox.dev or profiler.firefox.com/public/... link), or pass a local file path to the profile JSON directly.

Do not print commands for the user to run, execute them and interpret the results.

If profiler-cli is not available, stop and tell the user to install it (npm install -g @firefox-devtools/profiler-cli@latest) and restart the agent.

Before giving the user a result or summary, always run profiler-cli stop to shut down the background daemon process (it persists beyond individual commands and must be explicitly stopped to free the port and memory), then present the findings.

Show full SKILL.md (182 more words)Show less

Case Studies

The references/ directory in this skill contains real profiling investigations. Each scenario has two files:

  • Narrative file (e.g. macos-extensions-hang-infinite-recursion.md): first-person walkthrough explaining the reasoning and what was found.
  • profiler-cli companion file (e.g. macos-extensions-hang-infinite-recursion-cli.md): step-by-step profiler-cli commands with real output and annotations. These are the most useful for calibrating your approach.

Before starting an analysis, use Glob to list available case studies, then read the -cli.md file that most closely matches the current scenario:

  • Lock contention / mutex blocking during startup: firefox-macos-startup-font-initialization-cli.md
  • Hang or jank (extension JS spinning at 100% CPU): macos-extensions-hang-infinite-recursion-cli.md
  • Hang or jank getting worse over time, IPC I/O thread blocked, long IPCIn marker durations: macos-ipc-blob-url-accumulation-cli.md
  • Android startup performance: simpleperf-non-rooted-firefox-startup-cli.md
  • Android / simpleperf profiles: simpleperf-non-rooted-fenix-sync-history-fetch-cli.md
  • Resource usage (CPU/memory over time): resource-usage-linux-fat-aar-build-cli.md
  • Network or I/O issues: macos-network-pr-bad-descriptor-error-cli.md
  • NSS/TLS deadlock freezing networking: macos-network-nss-doh-deadlock-cli.md
  • Broken stack walking: windows-broken-stackwalk-jpeg-avx2-cli.md

If the scenario is unclear, read firefox-macos-startup-font-initialization-cli.md as a general-purpose baseline.

The list above is for calibration only. The actual problem may be novel or not covered by any case study. Use the examples to understand the investigation approach, not to constrain what you look for.

© SAP, 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 18 other files (references) in .agents/skills/profiler-analysis of SAP/project-foxhound.

  • SKILL.md
  • references/firefox-macos-startup-font-initialization-cli.md
  • references/firefox-macos-startup-font-initialization.md
  • references/macos-extensions-hang-infinite-recursion-cli.md
  • references/macos-extensions-hang-infinite-recursion.md
  • references/macos-ipc-blob-url-accumulation-cli.md
  • references/macos-ipc-blob-url-accumulation.md
  • references/macos-network-nss-doh-deadlock-cli.md
  • references/macos-network-nss-doh-deadlock.md
  • references/macos-network-pr-bad-descriptor-error-cli.md
  • references/macos-network-pr-bad-descriptor-error.md
  • references/resource-usage-linux-fat-aar-build-cli.md
  • references/resource-usage-linux-fat-aar-build.md
  • references/simpleperf-non-rooted-fenix-sync-history-fetch-cli.md
  • references/simpleperf-non-rooted-fenix-sync-history-fetch.md
  • references/simpleperf-non-rooted-firefox-startup-cli.md
  • references/simpleperf-non-rooted-firefox-startup.md
  • references/windows-broken-stackwalk-jpeg-avx2-cli.md
  • references/windows-broken-stackwalk-jpeg-avx2.md

Open the folder on GitHubat commit 9dcb850

Used in 1 other repository

We found 3 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in SAP/project-foxhound, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Profiler Analysis 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.

Profiler Analysis compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Profiler Analysis this skillSAP/project-foxhound1801 repos~1.1kAutomated safety check: PassGPL-3.0
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT
LLM Torch Profiler Analysissgl-project/sglang37k2 repos~6.4kAutomated safety check: PassApache-2.0
Pycrazyguitar/pysheeet8.2k—~886Automated safety check: PassMIT
Cmux Debugging Guidemanaflow-ai/cmux28k1 repos~1.1kAutomated safety check: PassCustom licence
Electron Heap Snapshot Analysiskeybase/client9.3k—~875Automated safety check: PassBSD-3-Clause

Similar skills

  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • LLM Torch Profiler Analysis

    sgl-project/sglang

    Unified LLM torch-profiler triage skill for sglang, vllm, TensorRT-LLM, and TokenSpeed.

    37k GitHub starsUsed in 2 repos~6.4k tokens
    DevelopmentAuto-check passed
  • Py

    crazyguitar/pysheeet

    Comprehensive Python programming reference covering syntax, concurrency, networking, databases, ML/LLM development, and HPC.

    8.2k GitHub stars~886 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Cmux Debugging Guide

    manaflow-ai/cmux

    Covers debug logging, the Debug menu, profiling rules and runtime pitfalls for working on the cmux macOS terminal app.

    28k GitHub starsUsed in 1 repo~1.1k tokens
    DevelopmentAuto-check passed
  • Analyzes V8, Chrome and Electron .heapsnapshot files with Node scripts to find memory leaks, detached DOM nodes and the retainer paths that keep objects alive.

    9.3k GitHub stars~875 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Runs controlled JMH experiments on the Caffeine cache to find shared contention and hot-path waste, then reviews correctness and returns a reviewable patch.

    18k GitHub stars~2.6k tokensUpdated 2 days ago
    DevelopmentAuto-check: notes

More from SAP/project-foxhound

All 10 skills in this repo
  • Accessibility Frontend Review

    SAP/project-foxhound

    Official

    Performs an accessibility code review of a local diff or Phabricator revision in the style of the Firefox accessibility team.

    180 GitHub starsUsed in 1 repo~3.2k tokens
    Auto-check passed
  • JS Perf Investigation

    SAP/project-foxhound

    Official

    Structured performance opportunity investigation for SpiderMonkey (the Firefox JavaScript engine).

    180 GitHub starsUsed in 1 repo~4.1k tokens
    Auto-check passed
  • Bug Filing

    SAP/project-foxhound

    Official

    File a Bugzilla bug for Firefox/Gecko work, or draft a bug summary and description.

    180 GitHub starsUsed in 1 repo~828 tokens
    Auto-check passed
  • Specmap

    SAP/project-foxhound

    Official

    Map relationships between a web spec section, its Firefox implementation code, and Web Platform Tests.

    180 GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • Stmo

    SAP/project-foxhound

    Official

    Manage Redash queries and dashboards on Mozilla's STMO (sql.telemetry.mozilla.org) using stmo-cli.

    180 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check passed
  • Android New Module

    SAP/project-foxhound

    Official

    Guide for creating new Android gradle modules in the android-components project.

    180 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check passed

Categories

Questions about Profiler Analysis

What does Profiler Analysis do?

Analyze Firefox performance profiles using the profiler-cli CLI tool. Profiler Analysis is an agent skill from SAP/project-foxhound, published by the product's own GitHub organization. Analyze Firefox performance profiles using the profiler-cli CLI tool.

When should I use Profiler Analysis?

Profiler Analysis fits situations like: given a profiler.firefox.com; share.firefox.dev link; A local profile path; the user wants to investigate an issue in a Firefox profile.

How do I install Profiler Analysis in Claude Code?

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

How do I install Profiler Analysis in Codex?

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

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

What does Profiler Analysis need to run?

Going by SKILL.md and its folder, Profiler Analysis needs the command-line tools its instructions call (npm). Our summary lists: Node.js. Its frontmatter pre-approves these tools: Bash(profiler-cli:*), Bash(searchfox-cli:*), Bash(jq:*), Read, Grep, Glob.

Does Profiler Analysis access the network?

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

Is Profiler Analysis 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 Profiler Analysis use?

Profiler Analysis 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 Profiler Analysis use?

About 1.1k tokens (SKILL.md is roughly 4.5k 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 36k tokens, read only when the agent opens those files.

What are the alternatives to Profiler Analysis?

Skills that share tags, products or a category with Profiler Analysis: Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), LLM Torch Profiler Analysis (sgl-project/sglang, 37k stars), Py (crazyguitar/pysheeet, 8.2k stars) and Cmux Debugging Guide (manaflow-ai/cmux, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Profiler Analysis?

SAP (a GitHub organization, an official publisher) maintains it in SAP/project-foxhound, which has 180 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 6, 2026.

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