What problem does it solve? Writing and debugging tests in the Jac language involves non-obvious behaviors: tests share a persisted graph root across runs, file naming rules collide with Python's test machinery, and walker assertions require spawn plus .reports semantics. This Skill provides the verified patterns and pitfalls so tests are written correctly the first time. ## Core Features & Use Cases - Test authoring patterns: Covers test "name" { } blocks, assert statements, exception testing via try/except, and parameterized tests with parametrize(). - Test execution guidance: Documents jac test flags (-t, -f, -x, -m, -v), [test] config in jac.toml, and the two file-naming traps (test_*.jac prefix and .test.jac annex modules). - Graph state and walker testing: Explains the shared persisted root, the jac clean fix for stale state, and asserting walker output via spawn and result.reports. - Use Case: A developer's previously green Jac test suite fails on re-run with NodeAnchor is not a valid reference; this Skill identifies the stale persisted graph as the cause and prescribes jac clean --all --force plus defensive node-count assertions. ## Quick Start Ask the assistant to write a Jac test that spawns a walker and asserts on its reports, following the jac-testing skill's patterns.