safe-code-change

Después de un cambio de código, encuentra las pruebas afectadas, actualízalas para que coincidan con el nuevo comportamiento y luego ejecuta el pipeline de validación completo una vez. Úsalo cuando el usuario haya realizado o solicitado…

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.

Más skills de openshift

openshift-docs
openshift
Busca y lee la documentación de OpenShift Container Platform en formato markdown. Úsalo cuando el usuario pregunte sobre funciones, configuración, instalación de OpenShift, etc.
triage-leaked-infra
openshift
Evalúa si una VPC de AWS o un conjunto de infraestructura de HyperShift CI es seguro de eliminar. Úsalo cuando el usuario pegue la salida de cleanleaked y pregunte '¿puedo eliminar esto?', '¿es…
openshift-expert
openshift
Experto en la plataforma OpenShift y Kubernetes con profundo conocimiento de arquitectura de clústeres, operadores, redes, almacenamiento, resolución de problemas y pipelines de CI/CD. Utilice…
Konflux Archived PipelineRuns
openshift
Accede a los PipelineRuns, TaskRuns y registros de pods de Konflux archivados a través de KubeArchive. Se aplica automáticamente al verificar los resultados de PipelineRun de Konflux, investigar…
backport
openshift
Hacer backport de commits o PRs desde main a una rama de release. Usar cuando el usuario solicite hacer backport, cherry-pick o portar cambios entre ramas, o al resolver…
rebase
openshift
Rebasar la rama actual sobre su rama base, resolver todos los conflictos y verificar que lint, i18n y build pasen. Usar cuando el usuario solicite rebasar, actualizar o sincronizar…
Build CPO Image
openshift
Construir y enviar la imagen del contenedor control-plane-operator. Se aplica automáticamente al probar cambios en CPO que requieren implementación en un clúster en vivo.
find-complexity
openshift
Encuentra funciones y métodos con alta complejidad ciclomática, longitud excesiva o demasiados parámetros. Úsalo cuando el usuario pida encontrar código complejo, complejidad…