How it works
- Connect Statsig's MCP server at https://api.statsig.com/v1/mcp to your AI assistant or coding agent, then add your Console API key.
- Install the ExpLint MCP at https://explint.com/mcp to enable your agent to audit tests.
- Run the prompt below to audit these plans before the work starts.
How the check runs
- It reads the experiment's hypothesis, groups, allocation, primary and secondary metrics, and targeting rules, then writes one text that keeps your field names.
- It sends that text to ExpLint with
explint__lint, which returns errors, warnings, and passes, each finding naming the rule behind it. - You update Statsig, and the assistant reads and lints the experiment again so the next figure it reports is the one the platform now holds.
Copy and paste this prompt
Change the words in square brackets to name your own project, board, or test.
Read the experiment called [experiment name] with the Statsig MCP tools. Build one text from its hypothesis, groups and what each group sees, allocation, primary and guardrail metrics, targeting, and planned run time. Lint it with explint.com against [your ExpLint project name]. Show each error and warning with its Statsig field. Do not start or change the experiment. Suggest fixes here and re-check after I update Statsig.
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.
| Rule | Level | In plain words |
|---|---|---|
| randomization/states-the-unit | error | Statsig allocates by a bucketing id, and the plan has to state whether that unit is a person, a visitor, or an account, because every rate depends on it. |
| randomization/states-the-split | error | The allocation percentages belong in the plan text, since a share of traffic the reader cannot see is one the team cannot judge. |
| variants/each-differs-from-control-stated | error | Each Statsig group needs its change written out, because a group named Test tells the team nothing about what it differs by. |
| decision/has-criteria-before-launch | error | Statsig holds the settings, and the plan still has to record what result would ship the change, stop it, or send it back for another round. |



