run-puzzle-tests
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
Recomendadonpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/run-puzzle-testsCopia 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
| Scope | Use when | Duration |
|---|---|---|
| Full | Before commits, after major changes | ~2-5 min |
| Filtered | Working on one puzzle type | ~30s |
| Single | Debugging 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:
- Read msg → file, line, expected vs actual
- New fail or pre-existing?
- Assertion → read test + tested fn
- 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:
snic→skip_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
-estrings: 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 testsadd-puzzle-type— new types need comprehensive suiteswrite-testthat-tests— general R test patternsvalidate-piles-notation— test PILES parse standalone
Repositorio GitHub
Habilidades relacionadas
evaluating-llms-harness
PruebasEsta 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.
cloudflare-cron-triggers
PruebasEsta 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.
webapp-testing
PruebasEsta 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.
finishing-a-development-branch
PruebasEsta 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.
