qa
Ejecutar la puerta de calidad en modo fast o full e interpretar el resultado; no para escribir tests (test-write) ni probar en dispositivo (qa-scenario).
SKILL.md.claude/skills/qa/SKILL.md
GitHubqa
Ejecuta el gate del modo $ARGUMENTS (por defecto fast) y explica cada paso. No hay script único: se lanzan los comandos de la tabla en orden, sin parar en el primer fallo.
Cuándo usarla
- Antes de declarar una tarea terminada o commitear (
fast), o antes de cerrar un hito o pedir permiso para un push/release (full).
Cuándo NO usarla
- Escribir o arreglar tests → usa
test-write/bugfix-flow. - Probar pantalla apagada, segundo plano, pérdida de GPS o actualización del APK → usa
qa-scenario. - Publicar → usa
release-preflightyrelease.
Precondiciones
- JDK 21 configurado para Gradle (
~/.gradle/gradle.properties) y SDK Android (local.propertiesoANDROID_HOME). - Node ≥ 22 para
scripts/*.mjs. No imprimir valores de entorno.
Pasos
- Resolver el modo; si no es
fast|full, usarfasty decirlo. - Ejecutar los comandos del modo:
| Modo | Comandos |
|---|---|
| fast | ./gradlew ktlintCheck testDebugUnitTest :motor:test · node scripts/check-claude-assets.mjs · node scripts/gen-claude-index.mjs --check · bash scripts/test-hooks.sh |
| full | fast + ./gradlew detekt lintDebug assembleDebug :app:minifyReleaseWithR8 · node scripts/check-docs.mjs |
- Registrar
paso | OK/FAIL/SKIP | motivo. SKIP solo si falta una herramienta o entorno (sin SDK); debe declararse. - Ante FAIL: re-ejecutar solo ese paso, corregir la causa y repetir el modo completo.
- Informar: modo, conteo OK/FAIL/SKIP, causa de cada FAIL y si cada SKIP es aceptable (antes de un release no lo es).
Validaciones / tests
- Todos los comandos del modo terminan con código 0.
- Nunca desactivar, saltar ni borrar tests, ni bajar reglas de lint o detekt, para poner un paso en verde.
- No imprimir variables de entorno ni secretos.
Definition of Done
- El modo pedido termina con 0 FAIL.
- Todo SKIP explicado en el informe.
- Ningún test desactivado o relajado para pasar.
- Informe con tabla resumida y siguientes pasos si algo falló.
Docs a actualizar
- docs/ESTADO.md con modo ejecutado, resultado y SKIP pendientes (skill
session-handoff).