Lint a Firebase A/B test from the Remote Config API

A Firebase A/B test lives behind Remote Config, and the experiments API returns most of the plan while exposure and run length stay in the console.

How it works

  1. Point your AI assistant or coding agent at the Firebase Remote Config experiments API for your project, signing in with credentials that carry the firebase.remoteconfig or cloud-platform scope, because the Firebase MCP server reads Remote Config templates and carries no A/B Testing tools.
  2. Install the ExpLint MCP at https://explint.com/mcp to enable your agent to audit tests.
  3. Run the prompt below to audit these plans before the work starts.

How the check runs

  1. It reads the display name and description, variants with their weights, the primary objective beside its secondary objectives, the activation event, and the state with start and end times, then states plainly where targeting, exposure, run length, and sample size need your words.
  2. It sends that text to ExpLint with explint__lint, which returns errors, warnings, and passes, each finding naming the rule behind it.
  3. You edit the experiment in the Firebase console and ask for a fresh read, since the experiments API reads and deletes but cannot create or update an experiment.

Copy and paste this prompt

Change the words in square brackets to name your own project, board, or test.

Prompt for your assistant
Use the Firebase Remote Config experiments API to read the experiment [experiment name] in project [Firebase project ID]. Build one text from its display name and description, variants and weights, primary and secondary objectives, and state with start and end times, and state which of targeting, exposure, run length, and sample size the API did not return. Lint it with explint.com against project [your ExpLint project name]. Show each error and warning with its Firebase field. Do not launch or edit the experiment. Suggest fixes here and re-check after I update Firebase.

What ExpLint looks for

ExpLint ships over 24 rules, and a project switches each one on or off or rewrites it in plain English. These are the rules the plans this guide reads break most often. An error means the test cannot answer its question as written, and a warning means the result will be hard to judge when it comes in.

RuleLevelIn plain words
randomization/states-the-spliterrorVariant weights are the plan's traffic split, and they belong in the text the lint reads rather than only in the console.
variants/control-is-describederrorThe control variant keeps the current values, so the plan should say what people see today before it describes the alternatives.
duration/covers-full-business-cycleserrorThe state's start and end times should span full weeks, since the console records dates rather than a measurement window.
decision/has-criteria-before-launcherrorSecondary objectives support the result rather than decide it, so the plan should record what outcome would roll the variant out.

Read more

Portrait of Kameron Tanseli

Kameron Tanseli

Founder, ExpLint

Kameron Tanseli is the founder of ExpLint and a growth engineer who has run more than 1,500 experiments across a nine-year career. As the founding growth hire at Fyxer he launched 540 experiments in a year while the company grew from $1M to $35M in annual revenue, and he now runs growth engineering at FLORA, where a one-person team ships six to eight experiments a week.

Don’t let a bad test make it to production

Install the MCP and start flagging ticket slop before it reaches your users