@testdriverai/agent 7.11.240-test → 7.11.241-canary

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/ai/skills/testdriver-agent/SKILL.md +174 -91
  2. package/ai/skills/testdriver-assert/SKILL.md +73 -269
  3. package/ai/skills/testdriver-aws-setup/SKILL.md +194 -312
  4. package/ai/skills/testdriver-bring-your-own-machine/SKILL.md +137 -204
  5. package/ai/skills/testdriver-cache/SKILL.md +142 -149
  6. package/ai/skills/testdriver-caching/SKILL.md +97 -87
  7. package/ai/skills/testdriver-captcha/SKILL.md +126 -111
  8. package/ai/skills/testdriver-ci-cd/SKILL.md +153 -542
  9. package/ai/skills/testdriver-click/SKILL.md +74 -229
  10. package/ai/skills/testdriver-client/SKILL.md +175 -229
  11. package/ai/skills/testdriver-customizing-devices/SKILL.md +72 -250
  12. package/ai/skills/testdriver-dashcam/SKILL.md +71 -404
  13. package/ai/skills/testdriver-debugging-with-screenshots/SKILL.md +103 -369
  14. package/ai/skills/testdriver-double-click/SKILL.md +46 -67
  15. package/ai/skills/testdriver-errors/SKILL.md +102 -176
  16. package/ai/skills/testdriver-events/SKILL.md +170 -327
  17. package/ai/skills/testdriver-exec/SKILL.md +92 -256
  18. package/ai/skills/testdriver-extract/SKILL.md +69 -170
  19. package/ai/skills/testdriver-find/SKILL.md +140 -736
  20. package/ai/skills/testdriver-focus-application/SKILL.md +69 -246
  21. package/ai/skills/testdriver-generating-tests/SKILL.md +102 -136
  22. package/ai/skills/testdriver-hosted/SKILL.md +79 -143
  23. package/ai/skills/testdriver-hover/SKILL.md +62 -235
  24. package/ai/skills/testdriver-locating-elements/SKILL.md +71 -366
  25. package/ai/skills/testdriver-making-assertions/SKILL.md +114 -72
  26. package/ai/skills/testdriver-mcp-setup/SKILL.md +79 -62
  27. package/ai/skills/testdriver-mouse-down/SKILL.md +46 -124
  28. package/ai/skills/testdriver-mouse-up/SKILL.md +45 -128
  29. package/ai/skills/testdriver-options/SKILL.md +73 -46
  30. package/ai/skills/testdriver-parse/SKILL.md +95 -184
  31. package/ai/skills/testdriver-performing-actions/SKILL.md +101 -91
  32. package/ai/skills/testdriver-press-keys/SKILL.md +59 -299
  33. package/ai/skills/testdriver-provision/SKILL.md +135 -179
  34. package/ai/skills/testdriver-quickstart/SKILL.md +24 -8
  35. package/ai/skills/testdriver-quickstart-claude/SKILL.md +84 -0
  36. package/ai/skills/testdriver-quickstart-github/SKILL.md +62 -32
  37. package/ai/skills/testdriver-quickstart-manual/SKILL.md +59 -32
  38. package/ai/skills/testdriver-quickstart-vscode/SKILL.md +96 -0
  39. package/ai/skills/testdriver-redraw/SKILL.md +100 -164
  40. package/ai/skills/testdriver-reusable-code/SKILL.md +95 -199
  41. package/ai/skills/testdriver-right-click/SKILL.md +45 -88
  42. package/ai/skills/testdriver-screenshot/SKILL.md +47 -201
  43. package/ai/skills/testdriver-screenshots/SKILL.md +86 -136
  44. package/ai/skills/testdriver-scroll/SKILL.md +71 -154
  45. package/ai/skills/testdriver-secrets/SKILL.md +94 -90
  46. package/ai/skills/testdriver-self-hosted/SKILL.md +82 -140
  47. package/ai/skills/testdriver-test-results-json/SKILL.md +165 -202
  48. package/ai/skills/testdriver-type/SKILL.md +56 -304
  49. package/ai/skills/testdriver-variables/SKILL.md +119 -80
  50. package/ai/skills/testdriver-wait/SKILL.md +31 -29
  51. package/ai/skills/testdriver-what-is-testdriver/SKILL.md +80 -32
  52. package/package.json +1 -1
@@ -1,99 +1,182 @@
1
1
  ---
2
2
  name: testdriver:agent
3
- description: How the TestDriver agent behaves on GitHub issues, pull requests, and @mentions
3
+ description: How the TestDriver agent reviews pull requests, builds tests, and answers @mentions on GitHub.
4
4
  ---
5
5
  <!-- Generated from agent.mdx. DO NOT EDIT. -->
6
6
 
7
- The TestDriver agent is an AI teammate in your GitHub repository. It is
8
- **code review that runs your app**. It does not only read a diff and guess
9
- what can break. It starts a real sandbox, controls the real app, and reports what
10
- really happens.
11
-
12
- ## Scope: it only builds and maintains tests
13
-
14
- The agent has one purpose. It does one thing: it **writes, debugs, fixes, and keeps
15
- automated tests** with TestDriver. It reviews pull requests. It writes and runs
16
- a test against the change. It does not do work that is not in scope. It does not edit
17
- your application code, fix product bugs, answer other programming questions, or
18
- act as a general coding assistant.
19
-
20
- ## How it behaves depends on the surface
21
-
22
- The agent reacts to three different GitHub surfaces. Its behavior is
23
- different on each one.
24
-
25
- | Surface | Trigger | What it does |
26
- |---------|---------|--------------|
27
- | **Pull request opened** | Automatic (no mention) | Silent, evidence-based **code review** |
28
- | **Issue opened** | Automatic (no mention) | **Onboarding / test-building** |
29
- | **@mention** (issue or PR) | You mention the bot | Interactive, chatty conversation |
30
-
31
- ## Pull requests — automatic code review
32
-
33
- When a pull request is **opened**, the agent reviews it automatically. Nobody has
34
- to ask.
35
-
36
- - **The review is the deliverable, not chatter.** No person asks for an automatic review.
37
- Thus the agent stays quiet while it works. It posts a **single review
38
- comment** at the end. It does not put many inline threads across the diff. It does not
39
- tell each step.
40
- - **It runs the change when it can.** Its default first move is to start a session,
41
- work out what the PR changes from a user's point of view, and write and run a
42
- TestDriver test that exercises exactly that. A bug it *watched happen* is far
43
- more valuable than one it inferred.
44
- - **Findings are labeled by how they were found.** Each finding is marked
45
- `observed` (proven by actually running the change) or `suspected` (reasoned out
46
- from reading the diff). If the installation isn't signed in to TestDriver, the
47
- agent can't run anything, so it reviews by reading and marks every finding
48
- `suspected`.
49
- - **It focuses on real bugs.** Logic errors, regressions, broken edge cases,
50
- mishandled errors — not style, naming, or "consider extracting this."
51
- - **Zero findings is a good review.** If the change looks correct, it says so in a
52
- sentence. If there's nothing worth reviewing (only lockfiles, generated files, or
53
- formatting), it posts nothing at all.
54
- - **It comments, it never blocks.** The review is always a `COMMENT` — it never
55
- approves and never requests changes, so it can't gate a merge.
56
-
57
- It also fires a native GitHub **Check Run** for the PR's TestDriver suite, and
58
- re-runs that check on every push (not a full re-review — push more commits and
59
- @mention the agent if you want it to review again).
60
-
61
- <Note>
62
- The agent never reviews its own pull requests. PRs opened by the bot are skipped,
63
- so it won't wake itself up to review the tests it just committed.
64
- </Note>
65
-
66
- ## Issues — onboarding and test building
67
-
68
- When an issue is **opened**, the agent treats it as a cue to help you build a test.
69
-
70
- - **If the issue describes a task**, it acts on the request — writing or debugging
71
- the test you asked for.
72
- - **If the issue is empty**, it introduces itself, explains that it writes and
73
- debugs computer-use tests, and walks you through signing in to TestDriver and
74
- creating your first test.
75
- - **It finishes by opening a pull request** with the test it wrote.
76
-
77
- ## @mentions — interactive conversation
78
-
79
- Mentioning the bot (on either an issue or a PR) starts a **solicited**, interactive
80
- turn. Because you asked directly, the agent is chatty: it posts progress updates,
81
- shows you screenshots of what's happening in the sandbox, and answers follow-ups in
82
- the thread.
83
-
84
- On a PR, an @mention overrides the silent auto-review behavior — you'll see the full
85
- play-by-play instead of just the final review comment.
86
-
87
- You can also manage the agent from a comment:
88
-
89
- - **`@bot logout`** (or "sign out") revokes the installation's shared TestDriver
90
- sign-in and tears down the live sandbox, so the next mention will prompt whoever
91
- responds to sign in again.
7
+ The TestDriver agent is an AI teammate that lives in your GitHub repository.
8
+
9
+ - It reviews every pull request's code for bugs.
10
+ - For user-visible changes, it drives your app in a real sandbox and reports what happened.
11
+ - It writes, runs, and maintains your end-to-end tests.
12
+
13
+ To install it, see [Add TestDriver to GitHub](/quickstart-github).
14
+
15
+ ## What the agent does
16
+
17
+ The agent does two jobs:
18
+
19
+ - **Code review.** It reviews pull requests like a senior engineer. It reads the diff for logic errors, security problems, and regressions. When it can, it runs the change in a sandbox to prove what it finds.
20
+ - **Test building.** It writes new TestDriver tests, debugs and fixes failing ones, and keeps them up to date.
21
+
22
+ It declines work outside that scope:
23
+
24
+ - It doesn't edit your application code.
25
+ - It doesn't fix product bugs.
26
+ - It doesn't act as a general coding assistant.
27
+
28
+ When it finds a bug in a pull request, it reports the bug instead of pushing a fix.
29
+
30
+ ## How it responds on each surface
31
+
32
+ The agent behaves differently depending on what woke it up:
33
+
34
+ | Event | Trigger | What the agent does |
35
+ | --- | --- | --- |
36
+ | Pull request opened, or new commits pushed | Automatic | Reviews the change and posts one review comment |
37
+ | Issue opened | Automatic | Acts on the request in the issue, or onboards a new user |
38
+ | @mention on an issue or pull request | You mention the agent | Works with you interactively in the thread |
39
+
40
+ Automatic turns are unsolicited, so the agent posts only when it has something useful to say.
41
+
42
+ When you @mention it, someone is waiting. It always replies and narrates its progress.
43
+
44
+ ## Pull request reviews
45
+
46
+ The agent reviews a pull request without being asked when it's opened or gets new commits.
47
+
48
+ <Steps>
49
+ <Step title="Triage the change">
50
+
51
+ The agent reads the changed files and decides whether there's anything to review or run.
52
+
53
+ A pull request that only touches lockfiles, generated output, or formatting gets an 👀 reaction and no comment.
54
+
55
+ </Step>
56
+ <Step title="Read the code">
57
+
58
+ It reviews the diff like a senior engineer. It opens surrounding files only when the diff isn't enough on its own.
59
+
60
+ It looks for:
61
+
62
+ - Logic errors
63
+ - Unhandled error paths
64
+ - Security problems
65
+ - Race conditions
66
+ - Broken contracts for callers
67
+ - Risky logic with no tests
68
+
69
+ It skips style issues that a linter would catch.
70
+
71
+ </Step>
72
+ <Step title="Run the change">
73
+
74
+ This step runs if the change has a user-visible surface and your installation is signed in to TestDriver. The agent:
75
+
76
+ - Starts a sandbox.
77
+ - Drives the exact flow the diff touches.
78
+ - Runs any existing tests that cover it.
79
+ - Writes and runs a new test for the change.
80
+
81
+ While it works, a single comment on the pull request shows the latest screenshot. The comment finishes with the run recording.
82
+
83
+ </Step>
84
+ <Step title="Post the review">
85
+
86
+ It posts one review comment with:
87
+
88
+ - A summary and verdict
89
+ - A short walkthrough of each meaningful file
90
+ - Its findings
91
+
92
+ On a re-review after a push, it reassesses its earlier findings against the new code. It drops the fixed ones and checks the new commits for regressions.
93
+
94
+ </Step>
95
+ </Steps>
96
+
97
+ ### What's in a finding
98
+
99
+ Each finding has:
100
+
101
+ - A file and line
102
+ - A severity: `critical`, `major`, `minor`, or `nit`
103
+ - A category
104
+ - A suggested replacement, when the fix is small and certain
105
+
106
+ Findings are also labelled by how the agent found them:
107
+
108
+ - **`observed`**: the agent saw the bug happen during a run in the sandbox.
109
+ - **`suspected`**: the agent inferred the bug from reading the code.
110
+
111
+ If a run confirms a suspected finding, the agent upgrades it to `observed` instead of listing it twice.
112
+
113
+ If the change looks correct, the review says so in a sentence and has no findings.
114
+
115
+ ### The review never blocks a merge
116
+
117
+ Reviews are posted as GitHub `COMMENT` reviews. The agent never approves a pull request or requests changes, so it can't gate a merge.
118
+
119
+ ### Tests from a review
120
+
121
+ During a review, the agent may write a test worth keeping: one that passes, or one that cleanly reproduces a bug.
122
+
123
+ It opens a separate pull request for that test and links it from the review. The pull request uses a `testdriver/session/…` branch and targets your default branch.
124
+
125
+ It never pushes to the branch it's reviewing.
126
+
127
+ ### Pull requests the agent skips
128
+
129
+ - **Draft pull requests** get no review until they're marked ready for review.
130
+ - **Pull requests opened by bots** are never reviewed. This includes the agent's own test pull requests, so it doesn't review its own work.
131
+ - **Teams without a subscription** don't get automatic reviews, because automatic review is a paid feature. If your team has used its allowance, the pull request gets one short notice explaining why there's no review.
132
+
133
+ ## Issues
134
+
135
+ When an issue is opened, the agent reads its title and description:
136
+
137
+ - **If the issue describes a test task**, the agent does it. It asks you to sign in only if a step needs it.
138
+ - **If the issue is empty** and you look like a new user, the agent introduces itself. It walks you through signing in to TestDriver and creating your first test.
139
+ - **If the agent can't help with the issue**, such as a product bug report or a feature request, it stays silent instead of posting an off-topic reply.
140
+
141
+ Whenever the agent creates or changes a test file, it finishes by opening a pull request with the test.
142
+
143
+ ## @mentions
144
+
145
+ Mention the agent on an issue or pull request to start an interactive conversation. Because you asked directly, the agent:
146
+
147
+ - Posts progress updates and sandbox screenshots as it works.
148
+ - Answers follow-up questions in the thread.
149
+ - Opens a pull request with any test it writes.
150
+
151
+ On a pull request, an @mention gets you this play-by-play instead of the quiet automatic review.
152
+
153
+ ### Sign out
154
+
155
+ To revoke your installation's TestDriver sign-in, mention the agent with `logout`:
156
+
157
+ ```text
158
+ @testdriverai logout
159
+ ```
160
+
161
+ `sign out` and `disconnect` work too.
162
+
163
+ The agent revokes the installation's shared sign-in and shuts down its live sandbox. The next person to mention it is asked to sign in again.
92
164
 
93
165
  ## Signing in
94
166
 
95
- Reading a diff needs nothing, but **running** the app needs a TestDriver session,
96
- which requires the installation to be signed in. Sign-in state doesn't decide
97
- *whether* the agent reviews — it decides *how good* the review gets. A signed-out
98
- install still gets its bugs caught from reading the code; signing in upgrades
99
- findings from `suspected` to `observed`.
167
+ Reading a diff doesn't need a TestDriver account, but running your app does.
168
+
169
+ When your installation isn't signed in, the agent still reviews pull requests by reading the code. It marks every finding `suspected`.
170
+
171
+ Signing in lets it run each change, so findings it proves become `observed`.
172
+
173
+ ## Related
174
+
175
+ <CardGroup cols={2}>
176
+ <Card title="Add TestDriver to GitHub" icon="github" href="/quickstart-github">
177
+ Install the GitHub app and get your first review.
178
+ </Card>
179
+ <Card title="Run tests in CI/CD" icon="code-branch" href="/ci-cd">
180
+ Run your TestDriver suite in GitHub Actions and other CI systems.
181
+ </Card>
182
+ </CardGroup>