safe-code-change

После изменения кода найдите затронутые тесты, обновите их в соответствии с новым поведением, затем однократно запустите полный конвейер валидации. Используйте, когда пользователь сделал или запросил…

npx skills add https://github.com/openshift/lightspeed-service --skill safe-code-change

Safe Code Change

After a code change is made, find and fix affected tests before running validation.

Rules

  • The code change is already done. Do not modify production code.
  • Only update tests to match the new behavior, not the other way around.
  • Do not reformat or lint-fix during test updates. Save that for validation.
  • If a test change is ambiguous (unclear what the new expected behavior is), ask the user.

Step 1: Identify What Changed

git diff --name-only
git diff --stat

List the modified production files (ignore test files, configs, docs).

Step 2: Find Affected Tests

Search for imports of changed functions/classes across all test files:

rg "from ols\.<changed_module> import" tests/

Step 3: Analyze Impact on Tests

For each affected test file, check whether the change breaks existing tests:

  1. Signature changes — function renamed, parameters added/removed/reordered.
  2. Behavior changes — return value, side effects, exceptions differ.
  3. Removed code — tests for deleted functions/classes need removal.
  4. New code — consider whether new tests are needed (ask user if unclear).

Step 4: Update Tests

Apply minimal fixes to each affected test:

  • Update function names, parameters, expected values.
  • Add async/await and @pytest.mark.asyncio if sync changed to async.
  • Remove tests for deleted functionality.
  • Do not add new tests unless the user asks.

Step 5: Done

Report what was updated. The user can invoke validate-and-fix when ready.

Больше skills от openshift

openshift-docs
openshift
Поиск и чтение документации OpenShift Container Platform в формате markdown. Используйте, когда пользователь спрашивает о функциях OpenShift, конфигурации, установке,…
triage-leaked-infra
openshift
Оцените, безопасно ли удалять AWS VPC или набор инфраструктуры из HyperShift CI. Используйте, когда пользователь вставляет вывод cleanleaked и спрашивает «можно ли это удалить?», «безопасно…
openshift-expert
openshift
Эксперт по платформе OpenShift и Kubernetes с глубокими знаниями архитектуры кластеров, операторов, сетей, хранилищ, устранения неполадок и CI/CD-пайплайнов. Используйте…
Konflux Archived PipelineRuns
openshift
Обеспечивает доступ к архивированным Konflux PipelineRuns, TaskRuns и логам подов через KubeArchive. Автоматически применяется при проверке результатов Konflux PipelineRun, расследовании…
backport
openshift
Переносить коммиты или PR из основной ветки в релизную. Используется, когда пользователь просит выполнить backport, cherry-pick или перенос изменений между ветками, а также при разрешении…
rebase
openshift
Переместить текущую ветку на её базовую ветку, разрешить все конфликты и проверить, что линтинг, i18n и сборка проходят. Используйте, когда пользователь просит выполнить rebase, обновление или синхронизацию…
Build CPO Image
openshift
Собрать и отправить образ контейнера control-plane-operator. Автоматически применяется при тестировании изменений CPO, требующих развертывания на живом кластере.
find-complexity
openshift
Находит функции и методы с высокой цикломатической сложностью, чрезмерной длиной или слишком большим количеством параметров. Используется, когда пользователь просит найти сложный код, сложность…