litmusly
CAPABILITIESGITHUB APPONE COMMENT

What the reagent
actually does.

No dashboard to upload to, no test suite to write. Install the app, open a pull request, and a grounded persona dips into your preview deploy. Every capability below exists to make one PR comment worth reading, and to keep it quiet when there is nothing to say.

Install the GitHub AppSample run ↗
PIPELINEDISCOVERWALKCOMMENTNO CONFIG · EDITS ITSELF · HARD-CAPPED SPEND
DISCOVERY

It finds your preview on its own.

The moment your host reports a deployment, Litmusly reads the preview URL straight from the GitHub Deployments API and dips into it. Vercel, or any host that posts deployments. There is nothing to paste and nothing to configure past the install. The reagent walks the real rendered page, not your code and not a mock.

DEPLOYMENT · github.deploymentspreview
0:00deployment created · environment=preview
0:00status=success · target_url resolved
0:01reagents assigned · walk queued
0:03GET /preview → 200 · homepage + primary CTA
THE WALK

A swarm walks it, not a script.

Each reagent opens the preview in a live browser driven by Stagehand and walks your homepage and primary CTA the way its persona would. No selectors to maintain, no steps to record. Every reagent runs a distinct profile, so the same page gets read seven different ways.

MMarcus
VIEWPORT 390 × 844 · POINTER COARSE

Loads your preview as a phone and taps with a thumb. If it takes pinch-zoom to use, that is a finding.

PPriya
KEYBOARD ONLY · FOCUS ORDER

Navigates by Tab and Enter, no mouse. If focus cannot reach it, to her it does not exist.

EElena
TRUST · SECURITY

Reads the page the way a careful visitor does before typing anything sensitive, and flags what erodes trust.

Seven reagents in all, each declaring what it watches for and what it is blind to. SEE THE FULL ROSTER ↗

THE REPORT

One comment. Edits itself.

Findings land in a single PR comment, each tagged blocker, friction, or nit, and each carrying the quoted evidence the reagent actually said. Force-push and the same comment updates in place. No new thread, no pile of bot noise. Many PRs earn zero findings, and get exactly zero.

litmus·ly bot · PR #312EDITED IN PLACE
SYNTHESIS · TEAM+

Two reactions worth reading. One I would fix before merge.

BLOCKER

The primary CTA never reaches the fold at 390px.

I scrolled twice looking for a way in. On my phone there wasn't one. MARCUS · 390PX

FRICTION

Tab order skips the sign-up link entirely.

I went key by key and never landed on it. Without a mouse I'm stuck. PRIYA · KEYBOARD

NIT

Two buttons read differently and go the same place.

"Get started" and "Start free" both drop me on the same form. SAM · FIRST-TIMER

SEVERITY

Severity reads as a reaction, not a number.

A blocker is strongly acidic. Friction sits in the middle. A page with nothing to say tests clean and basic. The scale is the same one your PR comment is measured against.

REACTION SCALE
0 · BLOCKERNITCLEANFRICTION
B
N
F
SYNTHESIS · TEAM+

One verdict, read across every reagent.

On Pro and above, a synthesis pass reads all of the reagents together and writes a single line at the top of the comment: what reacted, how strongly, and whether it is safe to ship. Below it, the individual findings stay intact for whoever wants the detail.

SPEND

Every walk runs under a hard cap.

Each review is bounded before it starts. When a walk hits its ceiling it stops and reports, so a runaway page can never run up a bill. Higher tiers add more reagents and more reviews per day.

TIER/MOREAGENTSREVIEWS
Free$01 reagent2 / day
Pro$995 + synthesis40 / day
Lab$3997 + synthesis150 / day

Enterprise adds bring-your-own-key and is waitlist-only. FULL PRICING ↗

SECURITY BY DESIGN

It reads your rendered preview, never your source.

Litmusly touches as little as the job allows and proves who it is at every hop.

GITHUB APP

Scoped, least-privilege install. It reads the pull request and posts one comment. Nothing more.

WEBHOOKS

Every event is signature-verified before it runs. Unsigned or tampered payloads are dropped.

BYOK

Bring your own model key on Enterprise. Stored encrypted, used only for your runs, never logged in the clear.

Put it on your
next PR.

Install in two clicks, open a pull request, and read your first reaction in under five minutes.

Connect GitHubTalk to us ↗