Converts Karate (JVM API + UI testing DSL) suites to any supported target, and emits Karate from any source.
Karate is unusual among BDD tools: it has no step-definitions layer. The .feature file itself is the test code — Karate provides a fixed DSL vocabulary (Given url, When method, Then match, And def, etc.) that interprets Gherkin directly. This means extraction reads meaning straight from the feature file without cross-referencing step definition classes.
When to use
Trigger when:
com.intuit.karate:karate-junit5 / karate-junit4 / karate-apache / karate-core as Maven/Gradle dependencies.
karate-config.js in src/test/java or src/test/resources.
.feature files using Karate's DSL verbs: Given url, Given path, When method POST, Then status 200, Then match response == {...}, And def var = ..., * def ..., configure, call, callonce, read(...).
logback-test.xml at test resources root (Karate's logging convention).
karate.options system property set in build config.
Test runner classes containing @Karate.Test annotations (JUnit 5) or Runner.runFeature(...) patterns.
How to use
Read the master orchestrator first.
Read this skill's reference files: source-profile.md, extraction.md, mappings.md.
Read target primer for your target.
Emit per target Emission Checklist.
Scope
Karate 1.0+ (including 1.4+ with improved UI support) and Karate 0.9.x legacy.
Feature files with Karate DSL — API-heavy tests (dominant use case) and UI tests (Karate UI).
Custom Java HttpClient injection via configure httpClientClass — preserve as todo with warning.
karate.env variants that change test semantics dynamically at runtime in ways not resolvable at extraction time — extract the default env and record others as env_profiles.