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.
التثبيت
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
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.