android-new-module
BrowserWorks/waterfox-android/.agents/skills/android-new-module/SKILL.md
Guide for creating new Android gradle modules in the android-components project.
One search for your own team's files and the public ecosystem. See how real projects write their agent instructions, and bring the good ideas home.
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
BrowserWorks/waterfox-android/.agents/skills/android-new-module/SKILL.md
Guide for creating new Android gradle modules in the android-components project.
BrowserWorks/waterfox-android/.agents/skills/bug-filing/SKILL.md
File a Bugzilla bug for Firefox/Gecko work, or draft a bug summary and description. Use when the user asks to file a bug, wants a bug summary/description for a change, or needs to report a defect/enhancement/task. Determines the product and component with `mach file-info`, drafts the summary and description, and opens a prefilled enter_bug.cgi form in the browser for the user to submit.
BrowserWorks/waterfox-android/.agents/skills/documentation/SKILL.md
Use this skill when working with Firefox documentation,
BrowserWorks/waterfox-android/.agents/skills/file-good-first-bug/SKILL.md
Use this skill when the user wants to file good-first-bugs in Bugzilla for Firefox. A good-first-bug is a narrow, self-contained, low-risk task scoped so a first-time contributor can land it without deep context. Sources include lint warnings, small typos, dead-code removal, mechanical refactors, docs conversions, or any other small task the user points at. Opens a prefilled `enter_bug.cgi` form per bug in the user's browser for them to submit. Trigger on phrases like "file a good first bug", "open good first bugs for X", "create a good-first-bug from this".
BrowserWorks/waterfox-android/.agents/skills/find-reviewer/SKILL.md
Find the right reviewer for a Firefox/Gecko change so the user does not have to. Use this primarily when committing changes, to fill in the `r=` part of the commit message automatically instead of leaving it blank or guessing. Also use it when the user asks directly who should review a patch or what reviewer group to use.
BrowserWorks/waterfox-android/.agents/skills/firefox-commits/SKILL.md
Guidelines to follow when committing, or amending commits
BrowserWorks/waterfox-android/.agents/skills/firefox-desktop-frontend/SKILL.md
You MUST use this skill when working with HTML, JS, CSS and other front-end code.
BrowserWorks/waterfox-android/.agents/skills/fluent-migration/SKILL.md
Use this skill when a patch or local changes rename, restructure, move, or replace Fluent (.ftl) strings - or migrate legacy .properties strings to Fluent - and you need a migration recipe in python/l10n/fluent_migrations so existing translations carry over. You read the diff, classify each changed string, write the recipe by hand, and validate it with the in-tree `./mach fluent-migration-test`. Triggers: "write/generate a fluent migration", "migrate these strings", renamed/bumped l10n IDs (foo -> foo2), moving a value to/from an attribute, adding or removing an attribute on a message, moving a string between files, .properties -> Fluent. Also covers changes that must NOT be migrated.
BrowserWorks/waterfox-android/.agents/skills/gecko-web-standard-implementation/SKILL.md
You MUST use this skill when working with C++, C, Rust code to implement or modify WebIDL interfaces and their native implementations.
BrowserWorks/waterfox-android/.agents/skills/js-perf-investigation/SKILL.md
Structured performance opportunity investigation for SpiderMonkey (the Firefox JavaScript engine). Use this skill when the user wants to investigate JS engine performance, profile SpiderMonkey, find optimization opportunities, write performance patches, or evaluate benchmark regressions. Trigger on mentions of: profiling JS, SpiderMonkey performance, JIT optimization, benchmark regression analysis, shell benchmarking, or any request to make JS workloads faster.
BrowserWorks/waterfox-android/.agents/skills/media-patch-review/SKILL.md
Reviews dom/media code changes ONLY — not any other component. Fans out the in-tree dom/media review checklists (dom/media/docs/review/*.md) against a patch, one opus reviewer per checklist, then collects the findings. Temporary local tool until bugbug's /patch_review loads these docs directly. Triggers on: "media-patch-review", "/media-patch-review".
BrowserWorks/waterfox-android/.agents/skills/mozlint/SKILL.md
You MUST use this skill when working with Firefox's linting infrastructure (mozlint), adding new linters, modifying existing linters, running linters, or dealing with linting issues.
BrowserWorks/waterfox-android/.agents/skills/nimbus-prefs/SKILL.md
Use this skill when a Firefox preference has to be remotely controllable: putting a new feature behind a pref so it can be experimented on, rolled out gradually, or disabled remotely via Nimbus. Covers declaring prefs (StaticPrefList.yaml, firefox.js), adding a feature to toolkit/components/nimbus/FeatureManifest.yaml, choosing between `fallbackPref` and `setPref`, reading values from JS and C++, recording exposure events, and pairing the pref with Glean telemetry. Trigger on "put this behind a pref", "make this Nimbus-controllable", "add a feature gate", "run an experiment on this", "setPref vs fallbackPref".
BrowserWorks/waterfox-android/.agents/skills/perf-regression-triage/SKILL.md
Handle a Perfherder performance regression bug end to end: read the alert bug, confirm whether the regression is real, find the cause, and iterate to a fix. Use when the user has a Perfherder/browsertime regression bug (the "N% <test> ... regression on <date>" bugs filed in Testing::Performance), needs to establish whether an alert summary is a real regression, is interpreting a PerfCompare baseRev/newRev comparison, or asks what to do about a patch of theirs that regressed a benchmark. Not for simply running perf tests or pushing them to try — including running an alert summary's tests with `mach try perf --alert` (use perftest) — nor for choosing or writing perf tests (use perftest), analyzing a profile you already have in hand (use profiler-analysis), SpiderMonkey microbenchmarks (use js-perf-investigation), or non-performance regressions such as failing tests, crashes, or build bustage.
BrowserWorks/waterfox-android/.agents/skills/perftest/SKILL.md
Run Firefox performance tests locally or in CI. Use when the user asks how to run a perf test, needs the mach invocation for Raptor, Talos, MozPerftest, AWSY, or browsertime, wants to push perf tests to try, wants to run the tests belonging to an alert summary (`mach try perf --alert <id>`), or mentions `mach try perf`, `mach perftest`, `mach raptor`, or `mach talos-test`. Covers picking the right harness, finding a test's name, and the local-vs-CI tradeoff. Not for triaging or root-causing a Perfherder regression bug — confirming whether a regression is real, identifying the culprit patch, interpreting a PerfCompare result, or deciding backout vs fix-forward (use perf-regression-triage). Not for analyzing an existing Firefox profile (use profiler-analysis) or SpiderMonkey/JS engine benchmarking (use js-perf-investigation).
BrowserWorks/waterfox-android/.agents/skills/profiler-analysis/SKILL.md
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.
BrowserWorks/waterfox-android/.agents/skills/spec-trace/SKILL.md
Trace a claim about web spec behaviour through the algorithm call chain and produce a Bugzilla-ready markdown trace ending in a REACHED / NOT REACHED / INCONCLUSIVE verdict. Use when a bug says "the spec says X should happen" and you need to check whether it does, when asked where in the spec some event gets fired or some state gets set, or when a reporter's expected-results section needs a spec citation it did not provide.
BrowserWorks/waterfox-android/.agents/skills/stack-reorganize/SKILL.md
Reorganize a range of local commits so each one stands on its own for review, by splitting, reordering, squashing or dropping them. Use when a stack or its commits are hard to review, carry churn, or have an awkward shape - "my stack is hard to review", "clean up these commits", "organize my patches for review". Works in a git or a Jujutsu (jj) checkout.
BrowserWorks/waterfox-android/.agents/skills/stack-split-commit/SKILL.md
Split one large or hard-to-review commit into several commits that each stand on their own for review, in a git or a Jujutsu (jj) checkout. Use when asked to split a commit or patch, break up a big diff for review, or make a lumped commit more reviewable. One commit at a time - `stack-reorganize` restructures a whole stack.
BrowserWorks/waterfox-android/.agents/skills/stmo/SKILL.md
Manage Redash queries and dashboards on Mozilla's STMO (sql.telemetry.mozilla.org) using stmo-cli. Use when the user wants to explore telemetry data on STMO, write, deploy, or execute Redash queries, manage dashboards, or discover data sources. Also trigger on mentions of STMO, Redash, sql.telemetry.mozilla.org, or when the user wants to query Mozilla telemetry data (as opposed to probe/metric discovery, which is mozdata territory).
Plain text files in a repository that tell a coding agent how the project works: commands to run, conventions to follow and things to avoid. CLAUDE.md, AGENTS.md, cursor rules and skills are the common kinds.
CLAUDE.md is read by Claude Code. AGENTS.md is an open format that Codex, Cursor and other agents read. Many projects keep one and point the other at it.
A folder with a SKILL.md that describes one capability, such as filling PDFs or reviewing code. The agent loads it only when the task calls for it.
Your agents already can, over MCP, limited to the files you're allowed to read. Searching them from this page is coming.