Convert Cucumber BDD suites (feature files + step definitions) to and from Eggplant (SenseTalk), OpenTest.AI, Testers.AI Recorder, Testers.AI Dynamic, Selenium, Playwright, Cypress, and Appium. Handles Cucumber-JVM (Java/Kotlin/Scala), Cucumber-Ruby, Cucumber.js (JavaScript/TypeScript), SpecFlow (.NET), Behave (Python), and Behat (PHP). Converts Gherkin syntax (Feature/Scenario/Background/Scenario Outline/Examples) plus the underlying step-definition layer, preserving tags, hooks, data tables, and doc strings. Use whenever the user wants to migrate a Cucumber project, translate a single .feature file, or round-trip BDD through another framework. MANDATORY TRIGGERS — "convert Cucumber", "Cucumber to Playwright", "Gherkin to Selenium", "BDD to OpenTest.AI", "migrate feature files", "translate cucumber", "port SpecFlow", "Behave to Playwright", "Cucumber.js to Cypress", "Cucumber → Testers.AI", or any mention of `.feature` / Gherkin alongside any of the supported targets.
Installation
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Convert Cucumber BDD suites (feature files + step definitions) to and from Eggplant (SenseTalk), OpenTest.AI, Testers.AI Recorder, Testers.AI Dynamic, Selenium, Playwright, Cypress, and Appium. Handles Cucumber-JVM (Java/Kotlin/Scala), Cucumber-Ruby, Cucumber.js (JavaScript/TypeScript), SpecFlow (.NET), Behave (Python), and Behat (PHP). Converts Gherkin syntax (Feature/Scenario/Background/Scenario Outline/Examples) plus the underlying step-definition layer, preserving tags, hooks, data tables, and doc strings. Use whenever the user wants to migrate a Cucumber project, translate a single .feature file, or round-trip BDD through another framework. MANDATORY TRIGGERS — "convert Cucumber", "Cucumber to Playwright", "Gherkin to Selenium", "BDD to OpenTest.AI", "migrate feature files", "translate cucumber", "port SpecFlow", "Behave to Playwright", "Cucumber.js to Cypress", "Cucumber → Testers.AI", or any mention of `.feature` / Gherkin alongside any of the supported targets.
Converts BDD suites from Cucumber-style Gherkin (feature files + step definitions) to any supported target, and to Cucumber from another framework. Delegates orchestration, cross-framework rules, and target semantics to the open-testing-convert master skill.
When to use
Trigger when:
The user references a .feature file or any of: Cucumber, Cucumber-JVM, Cucumber-Ruby, Cucumber.js, SpecFlow, Behave, Behat.
The user asks to convert to a Cucumber/Gherkin suite from another framework.
The user uploads files in these shapes:
*.feature (Gherkin source).
Step-definition files: Java/Kotlin with @Given/@When/@Then, Ruby with Given(/.../) do ... end, JS/TS with Given('...', function() {...}) (from @cucumber/cucumber), C# with [Given(...)]/[When(...)]/[Then(...)] (SpecFlow), Python @given/@when/@then decorators (Behave), PHP @Given/@When/@Then annotations (Behat).
Read the master orchestrator first. Open ../open-testing-convert/SKILL.md.
Confirm target. Cucumber has two layers (feature files + step definitions), so target decisions may differ per layer:
For natural-language targets (OpenTest.AI, Testers.AI Recorder, Testers.AI Dynamic, Eggplant Mode B): the scenarios themselves convert directly from the feature file; step definitions are effectively merged into the prose.
For code targets (Selenium, Playwright, Cypress, Appium, Eggplant Mode C): the feature file's scenarios become test methods, and the step-definition bodies are inlined as the method body.
For round-trip to Cucumber: synthesise both feature file and step-definition skeletons.
Determine the action layer language. The underlying step-definition language (Java, Ruby, JS, Python, C#, PHP) is the "implementation language" that the converter processes to build canonical intent. Delegate to the relevant per-source skill:
Selenium under Cucumber-JVM → open-testing-convert-selenium for the action layer.
Playwright under Cucumber.js → open-testing-convert-playwright for the action layer.
Cypress with @badeball/cypress-cucumber-preprocessor → open-testing-convert-cypress for the action layer.
Appium under Cucumber-JVM → open-testing-convert-appium for the action layer.
Pure Gherkin (feature file only, no step defs visible) → treat scenarios as natural-language canonical steps directly.
reference/source-profile.md — Gherkin syntax and step-definition shapes across bindings.
reference/extraction.md — how to stitch feature file + step definitions into canonical intent.
reference/mappings.md — per-target translation tables and worked examples.
Read shared references — open-testing-convert/reference/shared/{locator-mapping,wait-strategies,assertion-mapping,lifecycle-mapping}.md — only when the step-definition layer uses a web or mobile driver.
Emit the converted test(s) according to the target primer's Emission Checklist. Produce a preamble summarising: source feature file(s), step-definition language, underlying driver (Selenium/Playwright/Cypress/Appium/none), target, language choice, resolved step definitions, any TODOs.
Scope
Cucumber-JVM 6.x and 7.x (Java, Kotlin, Scala). Step annotations: @Given, @When, @Then, @And, @But (deprecated with Gherkin 6), @Before, @After.