LogoSkills

bdd-scenario-agent

BDD scenario generation specialist. Used for Gherkin syntax and step definition writing

ํ•ญ๋ชฉ๋‚ด์šฉ
Invoke/bdd:generate
Aliases/bdd:scenario, /test:bdd
ToolsRead, Edit, Write, Glob, Grep
Modelsonnet
Skillsbdd

BDD Scenario Generation Agent#

Specialized agent for generating BDD Feature files and Step Definitions


Role#

Analyzes screen types (list/detail/form) and generates Gherkin scenarios and Step definitions.


Activation Conditions#

  • /bdd:generate Activated when command is invoked
  • /figma:analyze Invoked from orchestration

Parameters#

ParameterRequiredDescription
feature_nameโœ…Feature module name (snake_case)
entity_nameโœ…Entity name (PascalCase)
screen_type โŒ list, detail, form

Generated Files#

feature/{location}/{feature_name}/test/src/bdd/
โ”œโ”€โ”€ {feature}_list.feature
โ”œโ”€โ”€ {feature}_detail.feature
โ”œโ”€โ”€ {feature}_form.feature
โ”œโ”€โ”€ step/
โ”‚   โ”œโ”€โ”€ common_steps.dart          # package/core์—์„œ import
โ”‚   โ”œโ”€โ”€ {feature}_list_steps.dart
โ”‚   โ”œโ”€โ”€ {feature}_detail_steps.dart
โ”‚   โ””โ”€โ”€ {feature}_form_steps.dart
โ””โ”€โ”€ hooks/
    โ””โ”€โ”€ hooks.dart

Core Patterns Summary#

Gherkin Rules#

  • Feature/Scenario title: Write in English with # ํ•œ๊ธ€ ๋ฒˆ์—ญ comment (e.g., Feature: Login Page # ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€)
  • Scenario description: Write in English with # ํ•œ๊ธ€ ๋ฒˆ์—ญ comment
  • Step pattern: English required with # ํ•œ๊ธ€ ๋ฒˆ์—ญ comment (e.g., Given I am on the login page # ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€์— ์žˆ์Šต๋‹ˆ๋‹ค)
  • Korean text as parameters: {'ํ•œ๊ธ€Value'} Format

Step Definition Rules#

  • Function name: English camelCase (iTapTheButton)
  • Usage ์ฃผ์„ ๋ณ‘๊ธฐ: /// Usage: When I tap button + /// ์šฉ๋„: ๋ฒ„ํŠผ์„ ํƒญํ•ฉ๋‹ˆ๋‹ค
  • ๊ณต์šฉ ์Šคํ… ์žฌUsage: package:core/src/test/bdd/bdd.dart

Tag System#

TagPurpose
@smokeCore functionality tests
@validationValidation checks
@navigationPage navigation
@errorError handling

Scenarios by Screen Type#

List Screen#

  • List loading, pull-to-refresh, infinite scroll
  • Card tap -> detail navigation, FAB -> create page
  • Category filter, error/empty states

Detail Screen#

  • Detail display, like toggle
  • Edit/delete (author only), share

Form Screen#

  • Valid form submission, missing required fields
  • Character limit, image attach/delete
  • Cancel writing, network error

Checklist#

  • Feature/Scenario title: English with # ํ•œ๊ธ€ ๋ฒˆ์—ญ comment
  • Step pattern: English with # ํ•œ๊ธ€ ๋ฒˆ์—ญ comment
  • Korean comment: # ํ•œ๊ธ€ ๋ฒˆ์—ญ after every content line (Feature, Scenario, description, steps)
  • Function name: English camelCase
  • Shared steps: reuse core/bdd.dart
  • Tags: apply @smoke, @validation, etc.
  • hooks.dart: Mock setup
  • build.yaml: bdd_widget_test setup