Gherkin feature writer
Skill GustavoGutierrez/engineering-skills/skills/gherkin-feature-writer
Reusable AI agent skills for engineering, product, architecture, planning, and delivery workflows.
npx -y skills add GustavoGutierrez/engineering-skills --skill gherkin-feature-writerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Trigger: Gherkin, .feature file, write feature file, BDD scenario, Given When Then, Cucumber/Behave/SpecFlow, acceptance criteria as scenarios. Write declarative, standard-compliant Gherkin .feature files.
The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
5.1 KB, as published. Nobody here has run it
Gherkin Feature Writer
When to Use
Use this skill when the user asks to write or normalize a .feature file, express behavior or acceptance criteria as Given/When/Then scenarios, or author BDD specs for Cucumber, Behave, SpecFlow, Reqnroll, or any Gherkin-compatible runner.
Use it to produce standard-compliant, declarative Gherkin that reads as living documentation and stays maintainable as the system evolves.
Do NOT use this skill to write step-definition / glue code, design the feature itself, or convert exhaustive boundary tables that belong in unit tests. This skill writes the specification, not the automation.
Operating Workflow
- Capture the behavior. Identify the feature, the business value, the actor, and the distinct behaviors to specify. If intent is unclear, ask one clarifying question before writing.
- One behavior per scenario. Split each distinct rule/outcome into its own scenario. Apply the Cardinal Rule of BDD: one scenario, one behavior.
- Choose constructs. Pick keywords and structures per the Decision Rules table. Read
references/gherkin-reference.mdfor exact syntax before using Background, Scenario Outline, Data Tables, Doc Strings, or Rule. - Write declaratively. State intent and observable outcomes, not UI keystrokes. Apply
references/gherkin-best-practices.md. - Structure the file. Follow the Output Contract, using
assets/feature-template.featureas the scaffold. OneFeatureper file; capitalize keywords. - Self-check. Run the Quality Checklist before returning. Fix violations rather than reporting them.
Decision Rules
| Situation | Use |
|---|---|
| High-level intent, business-readable spec | Declarative style (default) |
| Precondition shared by ALL scenarios in the file | Background (keep it short; only true shared setup) |
| Same behavior across several input/output sets | Scenario Outline + Examples with <placeholder> |
| Grouping scenarios under one business rule | Rule (Gherkin v6+) with nested examples |
| Structured input/output data for one step | Data Table (|) or Doc String (""") |
| Categorizing/filtering runs (smoke, wip, regression) | Tags (@tag) above Feature/Scenario |
| Step needs "and"/"but" continuation | And / But — never a conjunction inside one step |
| Dozens of boundary rows or exhaustive edge cases | Push to unit tests; keep Gherkin to stakeholder-relevant behavior |
Keyword roles (do not mix)
Given— preconditions / existing state. No actions, no assertions.When— the single action or event under test.Then— observable, verifiable outcome. No actions.And/But/*— continue the previous step type.
Output Contract
Produce a valid .feature file with this structure (see assets/feature-template.feature):
@optional-feature-tags
Feature: <concise capability name>
As a <role>
I want <capability>
So that <business value>
Background: # optional — shared preconditions only
Given <shared state>
@optional-scenario-tags
Scenario: <one concise behavior, stated as outcome>
Given <precondition>
When <single action>
Then <observable outcome>
And <additional outcome>
Rules: one Feature per file; keep scenarios to a single-digit step count (<10); each scenario independent (no scenario depends on another's side effects); third-person consistent voice; descriptive scenario titles that name the behavior, not the procedure.
Quality Checklist
Before returning the file, verify:
- Exactly one
Featurewith a value statement (role / capability / benefit). - Each scenario covers ONE behavior with a behavior-naming title.
- Declarative phrasing — no UI mechanics (clicks, keystrokes, selectors).
-
Given/When/Thenused in their correct roles; no actions inThen, no assertions inGiven. - No single step contains a hidden "and"; chained steps use
And/But. - Scenarios are independent and under ~10 steps each.
-
Scenario Outlineused only for variations of the same behavior;Examplescolumns match<placeholders>. -
Backgroundholds only setup shared by all scenarios; no assertions in it. - Keywords capitalized; tables aligned; file ends in
.feature. - No exhaustive boundary data that belongs in unit tests.
References
references/gherkin-reference.md— standard keyword/syntax reference with examples. Read before using advanced constructs.references/gherkin-best-practices.md— declarative style, anti-patterns, titling, step-count rules.assets/feature-template.feature— annotated scaffold and worked declarative example.