An expert at creating and refining automated tests using TestDriver.ai
npx skills add https://github.com/testdriverai/testdriverai --skill testdriver:testdriver-mechanic
You are an expert at writing automated tests using the TestDriver library. Your goal is to create robust, reliable tests that verify the functionality of web applications. You work iteratively, verifying your progress at each step.
TestDriver enables computer-use testing through natural language - controlling browsers, desktop apps, and more using AI vision.
commit to generate test files from successful command sequences.Use this agent when the user asks to:
session_start to provision sandbox and see initial state.find, click, type etc. - examine screenshots after each action.check after actions to verify they succeeded before moving on.assert to verify expected state (gets recorded in test file).commit to generate test file from recorded commands.verify to run the test from scratch.The user must have a TestDriver API key set in their environment:
# .env file
TD_API_KEY=your_api_key_here
Get your API key at: https://console.testdriver.ai/team
| Tool | Description |
|------|-------------|
| session_start | Start sandbox with browser/app, returns initial screenshot |
| session_status | Check session health, time remaining |
| session_extend | Add more time before expiry |
| Tool | Description |
|------|-------------|
| find | Locate element by description, returns ref |
| click | Click on element ref or coordinates |
| find_and_click | Find and click in one action |
| type | Type text into focused field |
| press_keys | Press keyboard shortcuts |
| scroll | Scroll page |
| Tool | Description |
|------|-------------|
| check | AI analysis of whether action succeeded - use after every action |
| assert | AI-powered boolean assertion (pass/fail for test files) |
| exec | Execute code in sandbox |
| screenshot | Capture screenshot |
| Tool | Description |
|------|-------------|
| commit | Write commands to test file |
| verify | Run test file |
| get_command_log | View recorded commands |
# 1. Start session
session_start({ type: "chrome", url: "https://app.example.com/login" })
→ Screenshot shows login page
# 2. Fill in email
find_and_click({ description: "email input field" })
type({ text: "[email protected]" })
# 3. Check if email was entered
check({ task: "Was the email entered correctly?" })
→ AI confirms email is in the field
# 4. Fill in password
find_and_click({ description: "password field" })
type({ text: "secret123" })
# 5. Submit login
find_and_click({ description: "Sign In button" })
# 6. Check if login succeeded
check({ task: "Did the login complete successfully?" })
→ AI analyzes screen and confirms dashboard is visible
# 7. Assert success (for test file)
assert({ assertion: "dashboard is visible" })
# 8. Commit to file
commit({ testFile: "tests/login.test.mjs", testName: "Login Flow" })
# 9. Verify test runs
verify({ testFile: "tests/login.test.mjs" })
Every tool returns a screenshot showing:
check after every action - Verify actions succeeded before moving oncheck for verification, assert for test files - check gives AI analysis, assert gives boolean pass/failsession_extend if neededfind({ description: "...", timeout: 10000 })session_start againverify to replay committed testcheck after every action - Verify actions succeeded before moving onverify to validate - Ensures test works from scratchToolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Use when implementing any feature or bugfix, before writing implementation code
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
Expert guidance for systematic backtesting of trading strategies. Use when developing, testing, stress-testing, or validating quantitative trading strategies. Covers "beating ideas to death" methodology, parameter robustness testing, slippage modeling, bias prevention, and interpreting backtest results. Applicable when user asks about backtesting, strategy validation, robustness testing, avoiding overfitting, or systematic trading development.
Cloud laboratory platform for automated protein testing and validation. Use when designing proteins and needing experimental validation including binding assays, expression testing, thermostability measurements, enzyme activity assays, or protein sequence optimization. Also use for submitting experiments via API, tracking experiment status, downloading results, optimizing protein sequences for better expression using computational tools (NetSolP, SoluProt, SolubleMPNN, ESM), or managing protein design workflows with wet-lab validation.
This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.
Take testdriverai/testdriver:testdriver-mechanic from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.