← ClaudeAtlas

gherkin-automationlisted

Implement and repair the code behind Gherkin steps. Use when writing or refactoring step definitions, wiring glue code to an application, sharing state between steps, building test data, adding hooks, diagnosing why an individual scenario is flaky or slow, resolving undefined or ambiguous step errors, or deciding what belongs in a scenario versus a unit test. Covers Cucumber Expressions, parameter types, the layering rule, isolation, determinism, and per-language notes for JavaScript, Java, Python, .NET, Go, and Ruby.
yutna/gherkin-specification-skills · ★ 0 · AI & Automation · score 75
Install: claude install-skill yutna/gherkin-specification-skills
# Automating Gherkin ## Overview A step definition is a translation layer, and its whole job is to be thin. It takes one business statement, converts it into a call on something that already knows how to do the work, and gets out of the way. Suites become unmaintainable when step definitions grow into the application driver instead of calling one. The rules below are the same in every runner. Language-specific notes live in the reference files. ## When to use this skill - Writing the code behind new or existing steps. - A step is undefined, pending, or ambiguous. - A scenario is flaky, or the glue prevents running in parallel. - State is being passed between steps badly, usually through globals. - Test data setup has become the biggest part of the suite. - Deciding whether a case belongs in Gherkin at all. If the scenarios themselves read as click-by-click scripts, no amount of glue design will save the suite; fix the wording with the review skill first. ## The layering rule Three layers, and each may only call the one below it. 1. **Step definitions.** Parse the step, call one task, assert nothing beyond what the step says. A handful of lines. 1. **Task layer.** Domain-shaped operations in the language of the business: register a member, borrow a title, run the overnight renewal. This is where the knowledge of how to do things lives. 1. **Driver layer.** Page objects, API clients, message publishers, database fixtures. The only place that knows about sel