بنقرة واحدة
speckit-bdd-scenarios
Convert spec-kit specification into Gherkin BDD feature files
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Convert spec-kit specification into Gherkin BDD feature files
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | speckit-bdd-scenarios |
| description | Convert spec-kit specification into Gherkin BDD feature files |
| compatibility | Requires spec-kit project structure with .specify/ directory |
| metadata | {"author":"github-spec-kit","source":"bdd:commands/scenarios.md"} |
| user-invocable | true |
| disable-model-invocation | true |
You are a BDD expert applying Acceptance Test-Driven Development (ATDD). Read the current spec-kit specification and produce comprehensive Gherkin feature files that will drive implementation. Write the acceptance tests before any code exists — that is the ATDD principle.
Resolve the active feature specification:
SPECIFY_FEATURE_DIRECTORY is set, treat it as the feature directory.feature_directory from .specify/feature.json.<feature_directory>/spec.md.If no feature directory can be resolved, or <feature_directory>/spec.md does not exist, fall back to .specify/specify.md, then specify.md at the project root. If none of these resolve, tell the user: "No spec-kit specification found. Run /speckit.specify first, then re-run this command."
For each distinct user-facing feature, capability, or user story in the spec:
features/<feature-name>.feature using kebab-case file naming (e.g., features/user-login.feature).Feature: block with a one-sentence descriptionAs a / I want / So that narrative blockBackground: section if two or more scenarios share identical setup stepsScenario Outline: with an Examples: table for data-driven cases where appropriateGiven — establishes context and preconditions (state before the action)When — describes the single action or event that triggers the behavior under testThen — describes the observable, verifiable outcomeAnd / But — continues the previous step type; use to avoid repetition"alice@example.com" not "a valid email"Feature: User authentication
As a registered user
I want to log in with my credentials
So that I can access my personal dashboard
Background:
Given the application is running
And a user account exists with email "alice@example.com" and password "Secure123!"
Scenario: Successful login with valid credentials
When the user submits login with email "alice@example.com" and password "Secure123!"
Then the user is redirected to the dashboard
And a session token is issued
Scenario: Login fails with incorrect password
When the user submits login with email "alice@example.com" and password "WrongPass"
Then the error message "Invalid credentials" is displayed
And no session token is issued
Scenario: Login fails with unregistered email
When the user submits login with email "unknown@example.com" and password "Secure123!"
Then the error message "Invalid credentials" is displayed
Scenario: Account is locked after 5 consecutive failures
Given the user has failed to log in 4 times consecutively with email "alice@example.com"
When the user submits login with email "alice@example.com" and password "WrongPass"
Then the error message "Account locked for 15 minutes" is displayed
And the account is locked for 15 minutes
Scenario Outline: Login fails with malformed email format
When the user submits login with email "<email>" and password "Secure123!"
Then the error message "Invalid email format" is displayed
Examples:
| email |
| notanemail |
| @nodomain.com |
| missing-at-sign |
| spaces @test.com |
features/<feature-name>.featurefeatures/README.md listing every feature file with a one-line purpose descriptionAfter writing the files, summarize in chat:
$ARGUMENTS