run-puzzle-tests
Über
Diese Fähigkeit führt die jigsawR-Testsuite über WSL R mit drei Scoping-Optionen (vollständig, gefiltert oder Einzeltest) aus und interpretiert die Ergebnisse. Sie ist für die Nachbearbeitungsprüfung, Pre-Commit-Checks und Debugging konzipiert und stellt renv-Kompatibilität sicher, indem niemals der `--vanilla`-Modus verwendet wird. Entwickler nutzen sie, um schnell Bestehen/Fehlschlagen/Überspringen-Status zu erkennen und spezifische Testfehler zu lokalisieren.
Schnellinstallation
Claude Code
Empfohlennpx 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-testsKopieren Sie diesen Befehl und fügen Sie ihn in Claude Code ein, um diese Fähigkeit zu installieren
Dokumentation
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
GitHub Repository
Verwandte Skills
evaluating-llms-harness
TestenDiese Claude Skill führt den lm-evaluation-harness aus, um LLMs über 60+ standardisierte akademische Aufgaben wie MMLU und GSM8K zu benchmarken. Sie wurde für Entwickler entwickelt, um Modellqualität zu vergleichen, Trainingsfortschritt zu verfolgen oder akademische Ergebnisse zu berichten. Das Tool unterstützt verschiedene Backends, einschließlich HuggingFace- und vLLM-Modelle.
cloudflare-cron-triggers
TestenDiese Fähigkeit bietet umfassendes Wissen zur Implementierung von Cloudflare Cron Triggers, um Workers mithilfe von Cron-Ausdrücken zu planen. Sie behandelt das Einrichten periodischer Aufgaben, Wartungsjobs und automatisierter Workflows, während häufige Probleme wie ungültige Cron-Ausdrücke und Zeitzonenprobleme behandelt werden. Entwickler können sie zum Konfigurieren geplanter Handler, zum Testen von Cron-Triggers und zur Integration mit Workflows und Green Compute verwenden.
webapp-testing
TestenDiese Claude Skill bietet ein Playwright-basiertes Toolkit zum Testen lokaler Webanwendungen durch Python-Skripte. Es ermöglicht Frontend-Verifizierung, UI-Debugging, Screenshot-Aufnahme und Log-Einblick bei gleichzeitiger Verwaltung von Server-Lebenszyklen. Nutzen Sie es für Browser-Automatisierungsaufgaben, führen Sie Skripte jedoch direkt aus, anstatt deren Quellcode zu lesen, um Kontextverschmutzung zu vermeiden.
finishing-a-development-branch
TestenDiese Fähigkeit unterstützt Entwickler dabei, abgeschlossene Arbeiten zu finalisieren, indem sie testet, ob Tests bestehen, und dann strukturierte Integrationsoptionen präsentiert. Sie leitet den Workflow für das Zusammenführen von Code, das Erstellen von PRs oder das Bereinigen von Branches nach Abschluss der Implementierung. Nutzen Sie sie, wenn Ihr Code bereit und getestet ist, um den Entwicklungsprozess systematisch abzuschließen.
