LambdaTest Agent Skills — Test Automation Registry (46 Skills)
Overview
This skill is a curated index of 46 production-grade test automation skills sourced from the LambdaTest/agent-skills repository. It teaches AI coding assistants how to write, structure, and execute test automation code across every major framework and 15+ programming languages. Instead of generating generic test code, the AI becomes a senior QA automation architect that understands correct project structure, dependency versions, cloud execution, CI/CD integration, and common debugging patterns for each framework.
This skill adapts material from an external GitHub repository:
source_repo: LambdaTest/agent-skills
source_type: community
When to Use This Skill
- Use when you need to write, scaffold, or review test automation code for any major framework
- Use when working with Selenium, Playwright, Cypress, Jest, pytest, Appium, or any of the 46 supported frameworks
- Use when setting up a new test project and need the correct project structure, config files, and dependencies
- Use when integrating tests into a CI/CD pipeline (GitHub Actions, Jenkins, GitLab CI)
- Use when migrating tests between frameworks (e.g. Selenium → Playwright, Puppeteer → Cypress)
- Use when running tests on cloud infrastructure such as LambdaTest / TestMu AI
- Use when the user asks how to write, debug, or scale automated tests
How It Works
Step 1: Identify the Framework and Language
Determine which testing framework and programming language the user is working with. Match it to one of the 46 supported skills below. Each skill covers a specific framework with language-appropriate code patterns.
Step 2: Apply the Correct Skill Context
Load the relevant framework skill from the registry below. Each skill includes: project setup and dependencies, core code patterns, page objects or test utilities, cloud execution configuration, CI/CD integration, a debugging table for common problems, and a best practices checklist.
Step 3: Generate Production-Ready Test Code
Use the loaded skill context to generate test code that follows real-world conventions — not generic boilerplate. Apply correct import paths, configuration formats, assertion libraries, and runner commands specific to the framework and language.
Step 4: Configure for Local or Cloud Execution
If the user wants to run tests locally, apply local runner configuration. If running on LambdaTest / TestMu AI cloud, configure RemoteWebDriver capabilities or the appropriate cloud SDK, and set LT_USERNAME and LT_ACCESS_KEY from environment variables — never hardcode credentials.
Step 5: Add CI/CD Integration
When requested, generate a GitHub Actions (or Jenkins / GitLab CI) workflow that runs the tests in parallel, uploads reports, and captures artifacts on failure.
Skill Registry
🌐 E2E / Browser Testing (15 skills)
| Skill |
Languages |
Description |
selenium-skill |
Java, Python, JS, C#, Ruby |
Selenium WebDriver with cross-browser and cloud support |
playwright-skill |
JS, TS, Python, Java, C# |
Playwright browser automation with API mocking |
cypress-skill |
JS, TS |
Cypress E2E and component testing |
webdriverio-skill |
JS, TS |
WebdriverIO with page objects and cloud integration |
puppeteer-skill |
JS, TS |
Puppeteer Chrome automation |
testcafe-skill |
JS, TS |
TestCafe cross-browser testing |
nightwatchjs-skill |
JS, TS |
Nightwatch.js browser automation |
capybara-skill |
Ruby |
Capybara acceptance testing |
geb-skill |
Groovy |
Geb Groovy browser automation |
selenide-skill |
Java |
Selenide fluent Selenium wrapper |
nemojs-skill |
JS |
Nemo.js PayPal browser automation |
protractor-skill |
JS, TS |
Protractor Angular E2E testing |
codeception-skill |
PHP |
Codeception full-stack PHP testing |
laravel-dusk-skill |
PHP |
Laravel Dusk browser testing |
robot-framework-skill |
Python, Robot |
Robot Framework keyword-driven testing |
🧪 Unit Testing (15 skills)
| Skill |
Languages |
Description |
jest-skill |
JS, TS |
Jest unit and integration tests with mocking |
junit-5-skill |
Java |
JUnit 5 with parameterized tests and extensions |
pytest-skill |
Python |
pytest with fixtures, parametrize, and plugins |
testng-skill |
Java |
TestNG with data providers and parallel execution |
vitest-skill |
JS, TS |
Vitest for Vite projects |
mocha-skill |
JS, TS |
Mocha with Chai assertions |
jasmine-skill |
JS, TS |
Jasmine BDD-style unit testing |
karma-skill |
JS, TS |
Karma test runner |
xunit-skill |
C# |
xUnit.net for .NET |
nunit-skill |
C# |
NUnit for .NET |
mstest-skill |
C# |
MSTest for .NET |
rspec-skill |
Ruby |
RSpec with shared examples |
phpunit-skill |
PHP |
PHPUnit with data providers |
testunit-skill |
Ruby |
Test::Unit Ruby testing |
unittest-skill |
Python |
Python unittest with mocking |
📱 Mobile Testing (5 skills)
| Skill |
Languages |
Description |
appium-skill |
Java, Python, JS, Ruby, C# |
Appium mobile testing for iOS and Android |
espresso-skill |
Java, Kotlin |
Espresso Android UI testing |
xcuitest-skill |
Swift, Obj-C |
XCUITest iOS UI testing |
flutter-testing-skill |
Dart |
Flutter widget and integration tests |
detox-skill |
JS, TS |
Detox React Native E2E testing |
📋 BDD Testing (7 skills)
| Skill |
Languages |
Description |
cucumber-skill |
Java, JS, Ruby, TS |
Cucumber Gherkin BDD |
specflow-skill |
C# |
SpecFlow .NET BDD with Gherkin |
serenity-bdd-skill |
Java |
Serenity BDD with Screenplay pattern |
behave-skill |
Python |
Behave Python BDD |
behat-skill |
PHP |
Behat BDD for PHP |
gauge-skill |
Java, Python, JS, Ruby, C# |
Gauge specification-based testing |
lettuce-skill |
Python |
Lettuce Python BDD testing |
👁️ Visual Testing (1 skill)
| Skill |
Languages |
Description |
smartui-skill |
JS, TS, Java |
SmartUI visual regression testing |
☁️ Cloud Testing (1 skill)
| Skill |
Languages |
Description |
hyperexecute-skill |
YAML |
HyperExecute cloud test orchestration |
🔄 Migration (1 skill)
| Skill |
Languages |
Description |
test-framework-migration-skill |
JS, TS, Java, Python, C# |
Convert tests between Selenium, Playwright, Puppeteer, Cypress |
🔄 DevOps / CI/CD (1 skill)
| Skill |
Languages |
Description |
cicd-pipeline-skill |
YAML |
CI/CD pipeline integration for GitHub Actions, Jenkins, GitLab CI |
Examples
Example 1: Scaffold a Playwright test in TypeScript
"Write Playwright tests for the login page using TypeScript and run them on Chrome and Firefox"
The skill will generate: correct playwright.config.ts, a typed Page Object for the login page, a test file using @playwright/test, and a GitHub Actions workflow with parallel execution.
Example 2: Run Selenium tests on LambdaTest cloud
"Run my Selenium Java tests on Chrome, Firefox, and Safari on LambdaTest with OS Windows 11 and macOS Sonoma"
The skill will configure RemoteWebDriver with LambdaTest capabilities, read LT_USERNAME and LT_ACCESS_KEY from environment variables, and set up a parallel TestNG suite.
Example 3: Migrate Selenium tests to Playwright
"Migrate my existing Selenium Python tests to Playwright"
The skill uses test-framework-migration-skill to map Selenium locators, waits, and assertions to their Playwright equivalents, preserving test intent while updating syntax.
Example 4: Set up pytest with fixtures
"Create a pytest test suite for the payments API with fixtures and parametrized test cases"
The skill generates a conftest.py with shared fixtures, parametrized test cases using @pytest.mark.parametrize, and a pytest.ini config with coverage reporting.
Best Practices
- ✅ Always use environment variables for cloud credentials (
LT_USERNAME, LT_ACCESS_KEY) — never hardcode them
- ✅ Use Page Object Model (POM) to keep test logic separate from UI selectors
- ✅ Prefer explicit waits over fixed
sleep() calls in all frameworks
- ✅ Run tests in parallel where the framework supports it to reduce execution time
- ✅ Always capture screenshots and logs on test failure for easier debugging
- ✅ Match dependency versions to what each framework officially recommends — avoid mixing major versions
- ❌ Don't write tests that depend on test execution order
- ❌ Don't hardcode URLs, credentials, or environment-specific values inside test files
- ❌ Don't skip writing assertions — a test without assertions is not a test
- ❌ Don't ignore flaky tests — investigate and fix root cause rather than adding retries as a permanent fix
Limitations
- This skill is an index and trigger guide. The full implementation details for each framework live in the individual skill files at LambdaTest/agent-skills.
- This skill does not replace framework-specific documentation, environment setup, or expert QA review.
- Cloud execution examples assume a valid LambdaTest / TestMu AI account. Stop and ask the user for their setup details if credentials or target environments are unclear.
- Mobile testing skills (Appium, Espresso, XCUITest, Flutter, Detox) require platform-specific toolchains (Android SDK, Xcode) that must be installed separately.
Security & Safety Notes
- Never include
LT_USERNAME, LT_ACCESS_KEY, API tokens, or any credentials in generated code. Always reference them via environment variables.
- When generating CI/CD pipelines, store secrets in GitHub Actions Secrets or equivalent — never in plaintext YAML.
- Installation commands (
npm install, pip install, mvn install) should only be run in local development or authorized CI environments.
Common Pitfalls
Problem: Tests pass locally but fail on CI
Solution: Ensure headless mode is enabled in CI, and that browser versions match between local and CI environments. Use the framework's built-in CI detection where available.
Problem: Flaky tests due to timing issues
Solution: Replace sleep() with explicit waits — waitForSelector in Playwright, WebDriverWait in Selenium, cy.get().should() in Cypress.
Problem: Cloud tests fail with authentication errors
Solution: Verify LT_USERNAME and LT_ACCESS_KEY are correctly set as environment variables and match the credentials on the LambdaTest dashboard.
Problem: Wrong browser capabilities for cloud execution
Solution: Use the LambdaTest Capabilities Generator at https://www.lambdatest.com/capabilities-generator/ to get the correct capability object for your target browser and OS.
Problem: Mobile tests fail with "device not found"
Solution: For local runs, verify the emulator/simulator is running and adb devices (Android) or Simulator is active (iOS). For cloud runs, check the device name matches exactly what LambdaTest supports.
Related Skills
@test-driven-development — Use when you want to design tests before writing implementation code
@testing-patterns — Use for general testing design patterns and strategies
@cicd-pipeline-skill — Use when setting up end-to-end CI/CD pipelines with test automation
@debugging-strategies — Use when diagnosing systematic test failures
Source: sickn33/agentic-awesome-skills → skills/lambdatest-agent-skills/SKILL.md
Also appears in: sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills/skills/lambdatest-agent-skills/SKILL.md, sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills-claude/skills/lambdatest-agent-skills/SKILL.md
1---2name: lambdatest-agent-skills3description: Production-grade test automation skills for 46 frameworks across E2E, unit, mobile, BDD, visual, and cloud testing in 15+ languages.4---567# LambdaTest Agent Skills — Test Automation Registry (46 Skills)89## Overview1011This skill is a curated index of 46 production-grade test automation skills sourced from the [LambdaTest/agent-skills](https://github.com/LambdaTest/agent-skills) repository. It teaches AI coding assistants how to write, structure, and execute test automation code across every major framework and 15+ programming languages. Instead of generating generic test code, the AI becomes a senior QA automation architect that understands correct project structure, dependency versions, cloud execution, CI/CD integration, and common debugging patterns for each framework.1213This skill adapts material from an external GitHub repository:14- `source_repo: LambdaTest/agent-skills`15- `source_type: community`1617## When to Use This Skill1819- Use when you need to write, scaffold, or review test automation code for any major framework20- Use when working with Selenium, Playwright, Cypress, Jest, pytest, Appium, or any of the 46 supported frameworks21- Use when setting up a new test project and need the correct project structure, config files, and dependencies22- Use when integrating tests into a CI/CD pipeline (GitHub Actions, Jenkins, GitLab CI)23- Use when migrating tests between frameworks (e.g. Selenium → Playwright, Puppeteer → Cypress)24- Use when running tests on cloud infrastructure such as LambdaTest / TestMu AI25- Use when the user asks how to write, debug, or scale automated tests2627## How It Works2829### Step 1: Identify the Framework and Language3031Determine which testing framework and programming language the user is working with. Match it to one of the 46 supported skills below. Each skill covers a specific framework with language-appropriate code patterns.3233### Step 2: Apply the Correct Skill Context3435Load the relevant framework skill from the registry below. Each skill includes: project setup and dependencies, core code patterns, page objects or test utilities, cloud execution configuration, CI/CD integration, a debugging table for common problems, and a best practices checklist.3637### Step 3: Generate Production-Ready Test Code3839Use the loaded skill context to generate test code that follows real-world conventions — not generic boilerplate. Apply correct import paths, configuration formats, assertion libraries, and runner commands specific to the framework and language.4041### Step 4: Configure for Local or Cloud Execution4243If the user wants to run tests locally, apply local runner configuration. If running on LambdaTest / TestMu AI cloud, configure RemoteWebDriver capabilities or the appropriate cloud SDK, and set `LT_USERNAME` and `LT_ACCESS_KEY` from environment variables — never hardcode credentials.4445### Step 5: Add CI/CD Integration4647When requested, generate a GitHub Actions (or Jenkins / GitLab CI) workflow that runs the tests in parallel, uploads reports, and captures artifacts on failure.4849## Skill Registry5051### 🌐 E2E / Browser Testing (15 skills)5253| Skill | Languages | Description |54|---|---|---|55| `selenium-skill` | Java, Python, JS, C#, Ruby | Selenium WebDriver with cross-browser and cloud support |56| `playwright-skill` | JS, TS, Python, Java, C# | Playwright browser automation with API mocking |57| `cypress-skill` | JS, TS | Cypress E2E and component testing |58| `webdriverio-skill` | JS, TS | WebdriverIO with page objects and cloud integration |59| `puppeteer-skill` | JS, TS | Puppeteer Chrome automation |60| `testcafe-skill` | JS, TS | TestCafe cross-browser testing |61| `nightwatchjs-skill` | JS, TS | Nightwatch.js browser automation |62| `capybara-skill` | Ruby | Capybara acceptance testing |63| `geb-skill` | Groovy | Geb Groovy browser automation |64| `selenide-skill` | Java | Selenide fluent Selenium wrapper |65| `nemojs-skill` | JS | Nemo.js PayPal browser automation |66| `protractor-skill` | JS, TS | Protractor Angular E2E testing |67| `codeception-skill` | PHP | Codeception full-stack PHP testing |68| `laravel-dusk-skill` | PHP | Laravel Dusk browser testing |69| `robot-framework-skill` | Python, Robot | Robot Framework keyword-driven testing |7071### 🧪 Unit Testing (15 skills)7273| Skill | Languages | Description |74|---|---|---|75| `jest-skill` | JS, TS | Jest unit and integration tests with mocking |76| `junit-5-skill` | Java | JUnit 5 with parameterized tests and extensions |77| `pytest-skill` | Python | pytest with fixtures, parametrize, and plugins |78| `testng-skill` | Java | TestNG with data providers and parallel execution |79| `vitest-skill` | JS, TS | Vitest for Vite projects |80| `mocha-skill` | JS, TS | Mocha with Chai assertions |81| `jasmine-skill` | JS, TS | Jasmine BDD-style unit testing |82| `karma-skill` | JS, TS | Karma test runner |83| `xunit-skill` | C# | xUnit.net for .NET |84| `nunit-skill` | C# | NUnit for .NET |85| `mstest-skill` | C# | MSTest for .NET |86| `rspec-skill` | Ruby | RSpec with shared examples |87| `phpunit-skill` | PHP | PHPUnit with data providers |88| `testunit-skill` | Ruby | Test::Unit Ruby testing |89| `unittest-skill` | Python | Python unittest with mocking |9091### 📱 Mobile Testing (5 skills)9293| Skill | Languages | Description |94|---|---|---|95| `appium-skill` | Java, Python, JS, Ruby, C# | Appium mobile testing for iOS and Android |96| `espresso-skill` | Java, Kotlin | Espresso Android UI testing |97| `xcuitest-skill` | Swift, Obj-C | XCUITest iOS UI testing |98| `flutter-testing-skill` | Dart | Flutter widget and integration tests |99| `detox-skill` | JS, TS | Detox React Native E2E testing |100101### 📋 BDD Testing (7 skills)102103| Skill | Languages | Description |104|---|---|---|105| `cucumber-skill` | Java, JS, Ruby, TS | Cucumber Gherkin BDD |106| `specflow-skill` | C# | SpecFlow .NET BDD with Gherkin |107| `serenity-bdd-skill` | Java | Serenity BDD with Screenplay pattern |108| `behave-skill` | Python | Behave Python BDD |109| `behat-skill` | PHP | Behat BDD for PHP |110| `gauge-skill` | Java, Python, JS, Ruby, C# | Gauge specification-based testing |111| `lettuce-skill` | Python | Lettuce Python BDD testing |112113### 👁️ Visual Testing (1 skill)114115| Skill | Languages | Description |116|---|---|---|117| `smartui-skill` | JS, TS, Java | SmartUI visual regression testing |118119### ☁️ Cloud Testing (1 skill)120121| Skill | Languages | Description |122|---|---|---|123| `hyperexecute-skill` | YAML | HyperExecute cloud test orchestration |124125### 🔄 Migration (1 skill)126127| Skill | Languages | Description |128|---|---|---|129| `test-framework-migration-skill` | JS, TS, Java, Python, C# | Convert tests between Selenium, Playwright, Puppeteer, Cypress |130131### 🔄 DevOps / CI/CD (1 skill)132133| Skill | Languages | Description |134|---|---|---|135| `cicd-pipeline-skill` | YAML | CI/CD pipeline integration for GitHub Actions, Jenkins, GitLab CI |136137## Examples138139### Example 1: Scaffold a Playwright test in TypeScript140141```142"Write Playwright tests for the login page using TypeScript and run them on Chrome and Firefox"143```144145The skill will generate: correct `playwright.config.ts`, a typed Page Object for the login page, a test file using `@playwright/test`, and a GitHub Actions workflow with parallel execution.146147### Example 2: Run Selenium tests on LambdaTest cloud148149```150"Run my Selenium Java tests on Chrome, Firefox, and Safari on LambdaTest with OS Windows 11 and macOS Sonoma"151```152153The skill will configure `RemoteWebDriver` with LambdaTest capabilities, read `LT_USERNAME` and `LT_ACCESS_KEY` from environment variables, and set up a parallel TestNG suite.154155### Example 3: Migrate Selenium tests to Playwright156157```158"Migrate my existing Selenium Python tests to Playwright"159```160161The skill uses `test-framework-migration-skill` to map Selenium locators, waits, and assertions to their Playwright equivalents, preserving test intent while updating syntax.162163### Example 4: Set up pytest with fixtures164165```166"Create a pytest test suite for the payments API with fixtures and parametrized test cases"167```168169The skill generates a `conftest.py` with shared fixtures, parametrized test cases using `@pytest.mark.parametrize`, and a `pytest.ini` config with coverage reporting.170171## Best Practices172173- ✅ Always use environment variables for cloud credentials (`LT_USERNAME`, `LT_ACCESS_KEY`) — never hardcode them174- ✅ Use Page Object Model (POM) to keep test logic separate from UI selectors175- ✅ Prefer explicit waits over fixed `sleep()` calls in all frameworks176- ✅ Run tests in parallel where the framework supports it to reduce execution time177- ✅ Always capture screenshots and logs on test failure for easier debugging178- ✅ Match dependency versions to what each framework officially recommends — avoid mixing major versions179- ❌ Don't write tests that depend on test execution order180- ❌ Don't hardcode URLs, credentials, or environment-specific values inside test files181- ❌ Don't skip writing assertions — a test without assertions is not a test182- ❌ Don't ignore flaky tests — investigate and fix root cause rather than adding retries as a permanent fix183184## Limitations185186- This skill is an index and trigger guide. The full implementation details for each framework live in the individual skill files at [LambdaTest/agent-skills](https://github.com/LambdaTest/agent-skills).187- This skill does not replace framework-specific documentation, environment setup, or expert QA review.188- Cloud execution examples assume a valid LambdaTest / TestMu AI account. Stop and ask the user for their setup details if credentials or target environments are unclear.189- Mobile testing skills (Appium, Espresso, XCUITest, Flutter, Detox) require platform-specific toolchains (Android SDK, Xcode) that must be installed separately.190191## Security & Safety Notes192193- Never include `LT_USERNAME`, `LT_ACCESS_KEY`, API tokens, or any credentials in generated code. Always reference them via environment variables.194- When generating CI/CD pipelines, store secrets in GitHub Actions Secrets or equivalent — never in plaintext YAML.195- Installation commands (`npm install`, `pip install`, `mvn install`) should only be run in local development or authorized CI environments.196197## Common Pitfalls198199- **Problem:** Tests pass locally but fail on CI200 **Solution:** Ensure headless mode is enabled in CI, and that browser versions match between local and CI environments. Use the framework's built-in CI detection where available.201202- **Problem:** Flaky tests due to timing issues203 **Solution:** Replace `sleep()` with explicit waits — `waitForSelector` in Playwright, `WebDriverWait` in Selenium, `cy.get().should()` in Cypress.204205- **Problem:** Cloud tests fail with authentication errors206 **Solution:** Verify `LT_USERNAME` and `LT_ACCESS_KEY` are correctly set as environment variables and match the credentials on the LambdaTest dashboard.207208- **Problem:** Wrong browser capabilities for cloud execution209 **Solution:** Use the LambdaTest Capabilities Generator at https://www.lambdatest.com/capabilities-generator/ to get the correct capability object for your target browser and OS.210211- **Problem:** Mobile tests fail with "device not found"212 **Solution:** For local runs, verify the emulator/simulator is running and `adb devices` (Android) or Simulator is active (iOS). For cloud runs, check the device name matches exactly what LambdaTest supports.213214## Related Skills215216- `@test-driven-development` — Use when you want to design tests before writing implementation code217- `@testing-patterns` — Use for general testing design patterns and strategies218- `@cicd-pipeline-skill` — Use when setting up end-to-end CI/CD pipelines with test automation219- `@debugging-strategies` — Use when diagnosing systematic test failures220221---222223**Source:** [`sickn33/agentic-awesome-skills`](https://github.com/sickn33/agentic-awesome-skills) → `skills/lambdatest-agent-skills/SKILL.md`224225**Also appears in:** `sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills/skills/lambdatest-agent-skills/SKILL.md`, `sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills-claude/skills/lambdatest-agent-skills/SKILL.md`