Cavekit Validation First
JuliusBrussee/caveman-code
Validation-first design for Cavekit — every kit requirement must be automatically verifiable.
Generate comprehensive Gherkin scenarios from approved FRDs.
$ npx skills add EmeaAppGbb/spec2cloud --skill gherkin-generation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install EmeaAppGbb/spec2cloud gherkin-generation --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/EmeaAppGbb/spec2cloud.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/gherkin-generation .claude/skills/gherkin-generation && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "gherkin-generation" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/gherkin-generation into .claude/skills/gherkin-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gherkin-generation", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/gherkin-generationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add EmeaAppGbb/spec2cloud --skill gherkin-generation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install EmeaAppGbb/spec2cloud gherkin-generation --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EmeaAppGbb/spec2cloud.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/gherkin-generation .agents/skills/gherkin-generation && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "gherkin-generation" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/gherkin-generation into .agents/skills/gherkin-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gherkin-generation", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add EmeaAppGbb/spec2cloud --skill gherkin-generation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install EmeaAppGbb/spec2cloud gherkin-generation --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EmeaAppGbb/spec2cloud.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/gherkin-generation .cursor/skills/gherkin-generation && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "gherkin-generation" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/gherkin-generation into .cursor/skills/gherkin-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gherkin-generation", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/EmeaAppGbb/spec2cloud.git --path .github/skills/gherkin-generation--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add EmeaAppGbb/spec2cloud --skill gherkin-generation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install EmeaAppGbb/spec2cloud gherkin-generation --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EmeaAppGbb/spec2cloud.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/gherkin-generation .gemini/skills/gherkin-generation && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "gherkin-generation" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/gherkin-generation into .gemini/skills/gherkin-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gherkin-generation", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install EmeaAppGbb/spec2cloud gherkin-generationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add EmeaAppGbb/spec2cloud --skill gherkin-generation -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/EmeaAppGbb/spec2cloud.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/gherkin-generation .github/skills/gherkin-generation && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "gherkin-generation" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/gherkin-generation into .github/skills/gherkin-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gherkin-generation", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add EmeaAppGbb/spec2cloud --skill gherkin-generation -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install EmeaAppGbb/spec2cloud gherkin-generation --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EmeaAppGbb/spec2cloud.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/gherkin-generation .opencode/skills/gherkin-generation && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "gherkin-generation" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/gherkin-generation into .opencode/skills/gherkin-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gherkin-generation", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
gherkin-generationGenerate comprehensive Gherkin scenarios from approved FRDs.
Gherkin Generation is an agent skill from EmeaAppGbb/spec2cloud. Generate comprehensive Gherkin scenarios from approved FRDs. Produce feature files with acceptance criteria coverage, edge cases, and error handling scenarios. Use when creating BDD scenarios, writing feature files, or mapping FRD requirements to testable Gherkin specifications.
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Product & Project Management, covering User stories. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 8e76618. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are gherkin).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Gherkin Generation loads about 2.9k tokens when it runs. Until then it costs about 75 tokens; SKILL.md has 1,366 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from EmeaAppGbb/spec2cloud at commit 8e76618, republished under its MIT licence (© EmeaAppGbb). 1,366 words, ~2,947 tokens.
.claude/skills/gherkin-generation/SKILL.md (or your agent's skills folder).You are the Gherkin Generation Agent. You read approved FRDs and produce comprehensive, high-fidelity Gherkin scenarios that serve as the executable specification for BDD test generation. Your output lives in specs/features/ and drives Cucumber step definitions and Vitest unit test generation.
You operate during Phase 2, Step 1b: Gherkin Generation of each increment. You generate Gherkin scenarios ONLY for the FRD scope defined in the current increment (from specs/increment-plan.md). Scenarios from previous increments already exist and must not be modified.
This skill operates in two modes depending on the project context:
new-feature (default)The standard mode. Generates Gherkin scenarios for new features described in FRDs. This is the existing behavior used in greenfield projects and brownfield extension increments. All process sections below apply to this mode unless stated otherwise.
capture-existing (brownfield Track A)Generates Gherkin scenarios that describe the current behavior of an existing application. The goal is to create a regression safety net — executable specifications of what the app does today — before any modifications begin. Scenarios produced in this mode document reality, not aspirations. See "Capture-Existing Mode Process" and "Capture-Existing Rules" below for details.
The orchestrator sets the mode via context. If no mode is specified, default to new-feature.
Before generating Gherkin, read:
specs/frd-*.md) — primary input for scenariose2e/*.spec.ts) — understand what flow-level coverage already exists from Phase 3e2e/pages/*.page.ts) — use the same screen/component vocabularyspecs/ui/prototypes/*.html) — for visual contextspecs/ui/component-inventory.md) — for component names and statesFollow these steps in order:
.feature files, one per FRD.When operating in capture-existing mode, follow these steps instead of the standard mapping process above:
specs/contracts/api/*.yaml) — use the extracted OpenAPI specs to understand exact endpoint behavior: request/response shapes, status codes, and error responses.aspire start), make requests or walk through flows to verify your understanding. Resolve any discrepancies between docs and actual behavior in favor of actual behavior.@existing-behavior and @brownfield tags in addition to the standard feature and type tags.@verify-manually so a human can confirm.@known-bug. This captures the bug without attempting to fix it.new-feature mode — one .feature file per FRD..feature file per FRD, named {frd-id}.feature (e.g., user-auth.feature).Feature: User Authentication
As described in frd-user-auth.md, this feature covers
user login, logout, and session management.Apply tags consistently:
| Tag | Usage |
|---|---|
@{feature-name} | On every scenario in the feature |
@smoke | Critical happy-path scenarios |
@edge-case | Edge case scenarios |
@error | Error handling scenarios |
@a11y | Accessibility scenarios |
@existing-behavior | Scenario documents current app behavior (capture-existing mode) |
@brownfield | Scenario generated during brownfield capture (capture-existing mode) |
@verify-manually | Ambiguous behavior — requires human verification |
@known-bug | Scenario documents a known bug in current behavior |
@flaky-behavior | Non-deterministic behavior — test may be skipped by test-generation |
After generating all scenarios, run through this checklist:
@smoke scenario per feature covering the happy path.After completing the self-review:
# AMBIGUITY: The FRD does not specify behavior when [describe gap].
# Flagged for human review before implementation.Place all generated feature files in specs/features/:
specs/features/
├── user-auth.feature # Scenarios from frd-user-auth.md
├── dashboard.feature # Scenarios from frd-dashboard.md
└── ...Each file must be a valid Gherkin document parseable by any standard Cucumber/Gherkin parser.
In capture-existing mode, the same file structure is used. Feature files contain @existing-behavior and @brownfield tags on every scenario. This allows test runners to filter captured-behavior scenarios separately from new-feature scenarios (e.g., --tags @existing-behavior to run only the regression safety net).
A well-written feature file:
@user-auth @smoke
Scenario: Successful login with valid credentials
Given a registered user with email "jane@example.com"
And the user has password "SecureP@ss1"
When the user submits the login form with email "jane@example.com" and password "SecureP@ss1"
Then the user should be redirected to the dashboard
And the user should see a welcome message "Welcome, Jane"
@user-auth @error
Scenario: Login fails with incorrect password
Given a registered user with email "jane@example.com"
When the user submits the login form with email "jane@example.com" and password "wrongpassword"
Then the user should see an error message "Invalid email or password"
And the user should remain on the login pageNotice:
The orchestrator MUST verify ALL of the following before marking gherkin-generation as complete:
.feature file exists in specs/features/ for every FRD in scope for this increment@feature-name), type tags (@happy, @error, @edge), and track tags (@existing-behavior for brownfield capture)data-testid attribute names from specs/ui/component-inventory.md are used in UI-related steps (if UI/UX design phase completed)BLOCKING: If any item is unchecked, the skill has NOT completed successfully. The orchestrator must loop back and complete the missing items before advancing to test generation.
© EmeaAppGbb, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .github/skills/gherkin-generation of EmeaAppGbb/spec2cloud.
Open the folder on GitHubat commit 8e76618
Gherkin Generation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Gherkin Generation this skillEmeaAppGbb/spec2cloud | 100 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Cavekit Validation FirstJuliusBrussee/caveman-code | 942 | — | ~4.3k | Automated safety check: Pass | MIT | |
| Maa Workflow Buildduorua/narutomobile | 338 | — | ~2.2k | Automated safety check: Pass | AGPL-3.0 | |
| 01 Acceptance QAai-driven-dev/framework | 513 | — | ~434 | Automated safety check: Pass | MIT | |
| Verification Gatesrohitg00/skillkit | 1.5k | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| QAwp-media/wp-rocket | 767 | — | ~552 | Automated safety check: Pass | GPL-2.0 |
JuliusBrussee/caveman-code
Validation-first design for Cavekit — every kit requirement must be automatically verifiable.
duorua/narutomobile
Orchestrate ambiguous end-to-end MaaFramework automation requests into verified implementations.
ai-driven-dev/framework
Validate a reviewed candidate's observable behavior against its acceptance criteria and record short named videos as reviewer evidence.
rohitg00/skillkit
Creates explicit validation checkpoints (verification gates) between project phases to catch errors early and ensure quality before proceeding.
wp-media/wp-rocket
Run QA validation on a pull request — boots the local environment, tests acceptance criteria, and optionally posts the report as a PR comment.
nurettincoban/ai-prd-workflow
Review an implemented RFC in a fresh context against its acceptance criteria, RULES.md and the test plan, and save the review to reviews/.
EmeaAppGbb/spec2cloud
Provision Azure infrastructure, deploy to Azure Container Apps, and verify via smoke tests.
EmeaAppGbb/spec2cloud
Generate API contracts, shared TypeScript types, and infrastructure resource definitions from Gherkin scenarios and test files.
EmeaAppGbb/spec2cloud
Create Domain-Driven Design proposals from product specs or brownfield extraction outputs.
EmeaAppGbb/spec2cloud
Write application code to make failing tests pass using contract-driven, slice-based architecture.
EmeaAppGbb/spec2cloud
Review PRDs and FRDs through product and technical lenses. An agent skill from EmeaAppGbb/spec2cloud.
EmeaAppGbb/spec2cloud
Read, write, and maintain .spec2cloud/state.json across phases and increments.
Categories
Generate comprehensive Gherkin scenarios from approved FRDs. Gherkin Generation is an agent skill from EmeaAppGbb/spec2cloud. Generate comprehensive Gherkin scenarios from approved FRDs.
Gherkin Generation fits situations like: creating BDD scenarios; writing feature files; mapping FRD requirements to testable Gherkin specifications.
Run `npx skills add EmeaAppGbb/spec2cloud --skill gherkin-generation -a claude-code`. Or copy the skill folder (.github/skills/gherkin-generation in EmeaAppGbb/spec2cloud) into .claude/skills/gherkin-generation in your project. Claude Code loads it when a task matches its description.
Run `npx skills add EmeaAppGbb/spec2cloud --skill gherkin-generation -a codex`. Or copy the skill folder (.github/skills/gherkin-generation in EmeaAppGbb/spec2cloud) into .agents/skills/gherkin-generation in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add EmeaAppGbb/spec2cloud --skill gherkin-generation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gherkin-generation, .gemini/skills/gherkin-generation, .github/skills/gherkin-generation and .opencode/skills/gherkin-generation in your project.
SKILL.md names no scripts, command-line tools or credentials: Gherkin Generation is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Gherkin Generation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Gherkin Generation: Cavekit Validation First (JuliusBrussee/caveman-code, 942 stars), Maa Workflow Build (duorua/narutomobile, 338 stars), 01 Acceptance QA (ai-driven-dev/framework, 513 stars) and Verification Gates (rohitg00/skillkit, 1.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
EmeaAppGbb (a GitHub organization) maintains it in EmeaAppGbb/spec2cloud, which has 100 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on April 16, 2026.
Source: EmeaAppGbb/spec2cloud on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.