MCP HubMCP Hub
Volver a habilidades

run-puzzle-tests

pjt222
Actualizado 2 days ago
8 vistas
17
2
17
Ver en GitHub
Pruebasaitestingdesign

Acerca de

Esta habilidad ejecuta la suite de pruebas de jigsawR a través de WSL R con tres opciones de alcance (completo, filtrado o prueba única) e interpreta los resultados. Está diseñada para verificación posterior a ediciones, comprobaciones previas a commit y depuración, garantizando compatibilidad con renv al nunca usar el modo `--vanilla`. Los desarrolladores la utilizan para identificar rápidamente los estados de aprobado/fallo/omitido y localizar fallos específicos en las pruebas.

Instalación rápida

Claude Code

Recomendado
Principal
npx skills add pjt222/agent-almanac -a claude-code
Comando PluginAlternativo
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternativo
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/run-puzzle-tests

Copia y pega este comando en Claude Code para instalar esta habilidad

Documentación

Run Puzzle Tests

Run jigsawR test suite + interpret results.

Use When

  • Post any R src edit
  • Post new puzzle type|feature
  • Pre-commit → verify nothing broke
  • Debug specific fail

In

  • Required: Scope (full|filtered|single)
  • Optional: Filter pattern ("snic", "rectangular")
  • Optional: Test file path (single mode)

Do

Step 1: Choose Scope

ScopeUse whenDuration
FullBefore commits, after major changes~2-5 min
FilteredWorking on one puzzle type~30s
SingleDebugging a specific test file~10s

→ Scope chosen by workflow: full pre-commit, filtered for type work, single for debug.

If err: unsure → default full. Slower but catches cross-type regressions.

Step 2: Create+Exec Test Script

Full:

Create /tmp/run_tests.R:

devtools::test()
R_EXE="/mnt/c/Program Files/R/R-4.5.0/bin/Rscript.exe"
cd /mnt/d/dev/p/jigsawR && "$R_EXE" -e "devtools::test()"

Filtered:

"$R_EXE" -e "devtools::test(filter = 'snic')"

Single:

"$R_EXE" -e "testthat::test_file('tests/testthat/test-snic-puzzles.R')"

→ Test out w/ pass/fail/skip.

If err:

  • NEVER --vanilla; renv needs .Rprofile
  • renv errs → renv::restore() first
  • Complex cmds fail Exit 5 → write script file

Step 3: Interpret Results

Summary line:

[ FAIL 0 | WARN 0 | SKIP 7 | PASS 2042 ]
  • PASS: Succeeded
  • FAIL: Need investigation
  • SKIP: Skipped (missing optional pkg like snic)
  • WARN: Warns (review, not blocking)

→ Summary parsed → PASS, FAIL, SKIP, WARN counts. FAIL=0 = clean.

If err: no summary → runner crashed pre-complete. Check R errs above. Output truncated → redirect: "$R_EXE" -e "devtools::test()" > test_results.txt 2>&1.

Step 4: Investigate Fails

If fail:

  1. Read msg → file, line, expected vs actual
  2. New fail or pre-existing?
  3. Assertion → read test + tested fn
  4. Error → check fn signature changed?
# Run just the failing test with verbose output
"$R_EXE" -e "testthat::test_file('tests/testthat/test-failing.R', reporter = 'summary')"

→ Root cause id'd. Real regression (fix code) or env issue (dep, path).

If err: msg unclear → add browser()|print() + re-run via testthat::test_file() for interactive debug.

Step 5: Verify Skip Reasons

Skips normal when optional deps missing:

  • snicskip_if_not_installed("snic")
  • OS-specific → skip_on_os()
  • CRAN-only → skip_on_cran()

Confirm legitimate, not masking real fails.

→ All skips accounted by legit reasons. None mask actual fails.

If err: skip suspicious → temp remove skip_if_*() + run → see if pass or hidden fail.

Check

  • All pass (FAIL=0)
  • No unexpected warns
  • Skip matches expected (only optional dep skips)
  • Test count not decreased (no accidentally removed)

Traps

  • --vanilla: Breaks renv. Never w/ jigsawR.
  • Complex -e strings: Shell escape → Exit 5. Use script files.
  • Stale pkg state: Run devtools::load_all()|document() before test if NAMESPACE changed.
  • Missing test deps: Some need Suggests pkgs. Check DESCRIPTION.
  • Parallel issues: Tests interfere → run sequential w/ testthat::test_file().

  • generate-puzzle — gen puzzles → verify behavior matches tests
  • add-puzzle-type — new types need comprehensive suites
  • write-testthat-tests — general R test patterns
  • validate-piles-notation — test PILES parse standalone

Repositorio GitHub

pjt222/agent-almanac
Ruta: i18n/caveman-ultra/skills/run-puzzle-tests
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Habilidades relacionadas

evaluating-llms-harness

Pruebas

Esta Skill de Claude ejecuta el benchmark lm-evaluation-harness para evaluar modelos de lenguaje en más de 60 tareas académicas estandarizadas como MMLU y GSM8K. Está diseñada para que los desarrolladores comparen la calidad de los modelos, realicen seguimiento del progreso del entrenamiento o reporten resultados académicos. La herramienta admite varios backends, incluidos modelos de HuggingFace y vLLM.

Ver habilidad

cloudflare-cron-triggers

Pruebas

Esta habilidad proporciona conocimiento integral para implementar Cron Triggers de Cloudflare y programar Workers mediante expresiones cron. Cubre la configuración de tareas periódicas, trabajos de mantenimiento y flujos de trabajo automatizados, manejando problemas comunes como expresiones cron inválidas y inconvenientes de zonas horarias. Los desarrolladores pueden utilizarla para configurar manejadores programados, probar activadores cron e integrar con Workflows y Green Compute.

Ver habilidad

webapp-testing

Pruebas

Esta habilidad de Claude proporciona un kit de herramientas basado en Playwright para probar aplicaciones web locales mediante scripts de Python. Permite verificación de frontend, depuración de interfaz de usuario, captura de pantallas y visualización de registros, mientras gestiona los ciclos de vida del servidor. Úsela para tareas de automatización de navegadores, pero ejecute los scripts directamente en lugar de leer su código fuente para evitar contaminación del contexto.

Ver habilidad

finishing-a-development-branch

Pruebas

Esta habilidad ayuda a los desarrolladores a completar el trabajo terminado verificando que las pruebas pasen y luego presentando opciones estructuradas de integración. Guía el flujo de trabajo para fusionar, crear PRs o limpiar ramas después de que se completa la implementación. Úsala cuando tu código esté listo y probado para finalizar sistemáticamente el proceso de desarrollo.

Ver habilidad