원클릭으로
bdd-feature-files-writer
Написание .feature файлов (Gherkin) для acceptance tests в jira-helper. Используй после написания спецификации.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Написание .feature файлов (Gherkin) для acceptance tests в jira-helper. Используй после написания спецификации.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Загрузка и обновление расширения jira-helper в реальном Chrome через playwright-cli. Используй когда нужно протестировать UI на живой Jira (jira.tcsbank.ru), снять скриншот, проверить DOM/console после изменений в коде, перезагрузить расширение после rebuild.
Написание user-guide.md для фичи jira-helper. Используй когда нужно создать или обновить пользовательскую документацию фичи в формате единого шаблона.
Runs an iterative UX review and improvement loop for jira-helper UI changes. Use when the user asks to improve visual quality, usability, toolbar/settings appearance, or explicitly mentions the UX review improvement cycle.
Проектирование и ревью архитектуры UI-компонентов в jira-helper. Используй при создании новых фич, рефакторинге, ревью кода или когда пользователь спрашивает про архитектуру, структуру, паттерны.
Read-only ревью качества BDD .feature файлов и step definitions в jira-helper. Используй после миграции/добавления BDD-сценариев или при periodic-аудите фичи. Возвращает структурированный отчёт без правок кода.
Код-ревью реализации задачи jira-helper. Используй после завершения coder-задачи для проверки качества кода, соответствия архитектуре и requirements.
| name | bdd-feature-files-writer |
| description | Написание .feature файлов (Gherkin) для acceptance tests в jira-helper. Используй после написания спецификации. |
Этот skill описывает формат и процесс создания .feature файлов для acceptance tests.
Feature файлы разбиваются по функциональным областям (user jobs), а не хранятся в одном большом файле:
src/[feature-name]/SettingsPage/features/
├── add-limit.feature # Сценарии добавления
├── edit-limit.feature # Сценарии редактирования
├── delete-limit.feature # Сценарии удаления
├── modal-lifecycle.feature # Открытие/закрытие модалки
├── person-search.feature # Поиск пользователей
├── steps/
│ └── common.steps.ts # Общие step definitions
├── helpers.tsx # Фикстуры и mount helpers
├── add-limit.feature.cy.tsx # Cypress тесты
├── edit-limit.feature.cy.tsx
└── ...
Преимущества разбиения:
Feature: [Название фичи] - [Функциональная область]
Краткое описание что делает эта группа сценариев.
Например: управление персональными WIP-лимитами,
добавление новых лимитов с фильтрами по колонкам и свимлейнам.
# Step format for Given: Given a limit: login "X" name "Y" value N columns "A,B" swimlanes "C,D" issueTypes "E,F"
# Step format for Then: Then I should see limit: name "Y" value N columns "A,B" swimlanes "C,D" issueTypes "E,F"
# Use "all" for columns/swimlanes/issueTypes to mean no filter
@SC-ADD-1
Scenario: Add a new limit for a person
When I open the settings modal
And I search for "john" in person name field
And I select "John Doe (john.doe)" from search results
And I set the limit to 5
And I click "Add limit"
Then I should see "John Doe" in the limits list
And I should see limit: name "John Doe" value 5 columns "all" swimlanes "all" issueTypes "all"
После строки Feature: добавляй 2-3 строки описания что делает эта группа сценариев:
Feature: Personal WIP Limit Settings - Add Limit
Сценарии добавления персональных WIP-лимитов.
Покрывает базовое добавление, фильтрацию по колонкам/свимлейнам/типам задач,
валидацию и сброс формы после добавления.
Gherkin разрешает произвольный текст между Feature: и первым Scenario:.
@SC-ADD-1
Scenario: Add a new limit for a person
Используй Background только когда все сценарии в файле требуют одинаковых предусловий. Иначе — явные Given степы в каждом сценарии.
# ✅ ХОРОШО: Background для общих данных
Background:
Given there are columns "To Do, In Progress, Done" on the board
And there are swimlanes "Frontend, Backend" on the board
# ❌ ПЛОХО: Background с действием которое не всем нужно
Background:
Given I open the settings modal # Не все сценарии начинаются с открытой модалки!
Глобальные степы расположены тут cypress/support/gherkin-steps/common.ts
Степы должны быть переиспользуемыми между сценариями и файлами.
Then-степы должны проверять через UI, а не только через store:
# ✅ ХОРОШО: проверка через UI
Then I should see "John Doe" in the limits list
Then the limit field should show value 5
Then checkbox "All columns" should be checked
# ❌ ПЛОХО: проверка только состояния (не видна пользователю)
Then the store should have 3 limits
Then the form state should be "editing"
Исключение: Given степы могут работать со store напрямую для настройки начального состояния.
Один степ = одно действие:
# ✅ ХОРОШО: атомарные степы
When I search for "john" in person name field
And I select "John Doe (john.doe)" from search results
# ❌ ПЛОХО: несколько действий в одном степе
When I search for "john" and select "John Doe"
Используй кавычки для строк, без кавычек для чисел:
# ✅ ХОРОШО
When I set the limit to 5
And I select only columns "To Do, In Progress"
Then I should see "John Doe" in the limits list
# ❌ ПЛОХО
When I set the limit to "5"
And I select only columns To Do, In Progress
Степ должен описывать что делает пользователь, а не как это реализовано:
# ✅ ХОРОШО: что делает пользователь
When I click "Add limit"
Then I should see "John Doe" in the limits list
# ❌ ПЛОХО: детали реализации
When I trigger the handleSubmit callback
Then the store.data.limits array should have length 1
| Паттерн | Пример |
|---|---|
| Открытие модалки | When I open the settings modal |
| Поиск | When I search for "john" in person name field |
| Выбор из списка | And I select "John Doe (john.doe)" from search results |
| Установка значения | And I set the limit to 5 |
| Клик по кнопке | And I click "Add limit" |
| Чекбокс | And I uncheck "All columns" / And I check "All swimlanes" |
| Выбор опций | And I select only columns "To Do, In Progress" |
| Проверка в списке | Then I should see "John Doe" in the limits list |
| Проверка отсутствия | Then "John Doe" should not be in the limits list |
| Проверка количества | Then I should see 3 limits in the table |
| Проверка значения | Then the limit field should show value 5 |
| Проверка чекбокса | Then checkbox "All columns" should be checked |
| Комплексная проверка | Then I should see limit: name "X" value N columns "A" swimlanes "B" issueTypes "C" |
Feature:)См. src/person-limits/SettingsPage/features/ как пример структуры.