Overview
The Spur GitHub App analyzes every pull request the moment it’s opened. It looks at the files changed and the actual code diff, then automatically generates a focused set of browser tests that cover the change. Spur also scans your existing test suite and triggers any relevant saved tests, so every PR gets both fresh, change-aware tests and proven regression coverage.Auto-generated tests
Relevant existing tests
Preview-aware
Re-trigger with context
@spur or /spurtest) to re-run with extra context like “log in as an admin user.”How it works
Open a pull request

Spur analyzes the PR diff to understand what changed
Spur generates new tests and finds relevant existing tests

Spur posts a comment with generated and existing tests and their statuses
Tests run on the preview deployment
Reviewing a test run
Click the View Generated Tests link in the Spur PR comment to open the full run on Spur. You get everything a normal Spur test run gives you:- The full list of steps the agent executed
- Screenshots at each step
- The deployment URL the test ran against
- Pass/fail status and failure reasons

Deep-dive view of a test run, with steps and screenshots
Keeping a generated test
By default, generated tests are discarded after the PR run — they’re scoped to that PR and don’t pollute your suite. If a generated test is good enough that you want it to keep running on future PRs and as part of your test plans, save it:Click Keep Test

Promote a generated test into your saved suite
Add it to a suite
Re-triggering with extra context
You can ask Spur to re-analyze a PR and apply new context by mentioning the app in a PR comment. Both@-mentions and /-prefixed triggers are accepted — use / if you want to fire the agent without sending a GitHub notification to the bot account.
spur, spurai, spurtest, spurbot, spuragent. Either @ or / works as the prefix.
When you submit the comment, Spur:
- Reacts to the comment to confirm it picked up the trigger.
- Re-reads the PR diff and preview URL.
- Generates a fresh set of tests and re-runs any relevant existing tests, applying your extra context (in the example above, logging in as admin instead of a normal user).
- Posts the new run back to the PR.

Re-trigger a run by @-mentioning Spur with extra context
Setting default context
If you find yourself repeating the same context on every PR (“log in as admin,” “the staging env requires this header,” etc.), set it once as default context on the integration.Open the GitHub integration
Add default context

Default context is applied to every PR run
Save changes
FAQ
Are generated tests saved automatically?
Are generated tests saved automatically?
How does Spur pick which existing tests to run?
How does Spur pick which existing tests to run?
What deployment URL does Spur run tests against?
What deployment URL does Spur run tests against?
Can I re-run tests after pushing new commits?
Can I re-run tests after pushing new commits?
@spur, /spurtest, or any of the other aliases) asking it to re-trigger. Spur will re-analyze the latest diff and preview URL.